From d5d4f167827beac25f7f2fa0b8ee78acaab9f07b Mon Sep 17 00:00:00 2001 From: Virtually Nick Date: Thu, 25 Jun 2020 22:00:02 -0400 Subject: [PATCH] GUACAMOLE-728: Handle lack of support for Postgres prefer SSL mode. --- .../PostgreSQLAuthenticationProviderModule.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLAuthenticationProviderModule.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLAuthenticationProviderModule.java index 67fafe452..3dbbe3b26 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLAuthenticationProviderModule.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLAuthenticationProviderModule.java @@ -75,7 +75,15 @@ public class PostgreSQLAuthenticationProviderModule implements Module { // Check the SSL mode and set if configured. PostgreSQLSSLMode sslMode = environment.getPostgreSQLSSLMode(); - driverProperties.setProperty("sslmode", sslMode.getDriverValue()); + + /** + * Older versions of the PostgreSQL JDBC driver do not support directly + * setting the "prefer" mode; however, the behavior defined by this + * mode is the default if nothing is set, so if that mode is requested + * in guacamole.properties we just don't set sslmode in the driver. + */ + if (sslMode != PostgreSQLSSLMode.PREFER) + driverProperties.setProperty("sslmode", sslMode.getDriverValue()); // If SSL is enabled, check for and set other SSL properties. if (sslMode != PostgreSQLSSLMode.DISABLE) {