Replace MySQL use-ssl boolean with explicit connection-parameters (sslMode)
Build / build (push) Successful in 1m12s
Build / build (push) Successful in 1m12s
This commit is contained in:
@@ -90,14 +90,14 @@ public class ConfigManager {
|
||||
config.getString("storage.mysql.database", "blockparty"),
|
||||
config.getString("storage.mysql.username", "blockparty"),
|
||||
config.getString("storage.mysql.password", ""),
|
||||
config.getBoolean("storage.mysql.use-ssl", false),
|
||||
config.getString("storage.mysql.table-prefix", "bp_")
|
||||
config.getString("storage.mysql.table-prefix", "bp_"),
|
||||
config.getString("storage.mysql.connection-parameters", "sslMode=PREFERRED&verifyServerCertificate=false")
|
||||
);
|
||||
}
|
||||
|
||||
/** Immutable snapshot of the storage.* config section. */
|
||||
public record StorageSettings(String type, String host, int port, String database,
|
||||
String username, String password, boolean useSsl, String tablePrefix) {
|
||||
String username, String password, String tablePrefix, String connectionParameters) {
|
||||
|
||||
public boolean isMysql() {
|
||||
return "mysql".equalsIgnoreCase(type);
|
||||
|
||||
@@ -53,9 +53,14 @@ public class StatsDatabase {
|
||||
|
||||
private void connectMysql() throws Exception {
|
||||
Class.forName("com.mysql.cj.jdbc.Driver");
|
||||
String url = "jdbc:mysql://" + settings.host() + ":" + settings.port() + "/" + settings.database()
|
||||
+ "?useSSL=" + settings.useSsl() + "&autoReconnect=true&characterEncoding=utf8";
|
||||
connection = DriverManager.getConnection(url, settings.username(), settings.password());
|
||||
String extra = settings.connectionParameters() == null ? "" : settings.connectionParameters().trim();
|
||||
StringBuilder url = new StringBuilder("jdbc:mysql://")
|
||||
.append(settings.host()).append(':').append(settings.port()).append('/').append(settings.database())
|
||||
.append("?autoReconnect=true&characterEncoding=utf8");
|
||||
if (!extra.isEmpty()) {
|
||||
url.append('&').append(extra);
|
||||
}
|
||||
connection = DriverManager.getConnection(url.toString(), settings.username(), settings.password());
|
||||
}
|
||||
|
||||
private String createTableStatement() {
|
||||
|
||||
@@ -54,8 +54,13 @@ storage:
|
||||
database: blockparty
|
||||
username: blockparty
|
||||
password: password
|
||||
use-ssl: false
|
||||
table-prefix: "bp_"
|
||||
# Raw JDBC connection parameters appended to the connection URL (without a leading '?' or '&').
|
||||
# Tune SSL/TLS behavior here instead of a single use-ssl toggle, e.g.:
|
||||
# "sslMode=REQUIRED&verifyServerCertificate=false"
|
||||
# "sslMode=VERIFY_IDENTITY" (validates the server cert against a trust store)
|
||||
# "sslMode=DISABLED" (no TLS at all)
|
||||
connection-parameters: "sslMode=PREFERRED&verifyServerCertificate=false"
|
||||
|
||||
rewards:
|
||||
winner:
|
||||
|
||||
Reference in New Issue
Block a user