From 4a734c2a0eefc4cd4882eed36d05639dc4003721 Mon Sep 17 00:00:00 2001 From: Eric Long Date: Thu, 30 May 2019 15:59:24 -0400 Subject: [PATCH] 0003984: cookie setting for load balance that needs it --- .../org/jumpmind/symmetric/common/ServerConstants.java | 4 +++- .../src/main/deploy/conf/symmetric-server.properties | 6 +++++- .../java/org/jumpmind/symmetric/SymmetricWebServer.java | 8 ++++++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ServerConstants.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ServerConstants.java index 1cebe22804..47c68d8c11 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ServerConstants.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ServerConstants.java @@ -41,7 +41,9 @@ public class ServerConstants { public static final String SERVER_ALLOW_DIR_LISTING = "server.allow.dir.list"; public static final String SERVER_ALLOW_HTTP_METHODS = "server.allow.http.methods"; - public static final String SERVER_DISALLOW_HTTP_METHODS = "server.disallow.http.methods"; + public static final String SERVER_DISALLOW_HTTP_METHODS = "server.disallow.http.methods"; + + public final static String SERVER_HTTP_COOKIES_ENABLED = "server.http.cookies.enabled"; public final static String STREAM_TO_FILE_ENCRYPT_ENABLED = "stream.to.file.encrypt.enabled"; public final static String STREAM_TO_FILE_COMPRESSION_ENABLED = "stream.to.file.compression.enabled"; diff --git a/symmetric-server/src/main/deploy/conf/symmetric-server.properties b/symmetric-server/src/main/deploy/conf/symmetric-server.properties index 35484df19a..45ee79cb1a 100644 --- a/symmetric-server/src/main/deploy/conf/symmetric-server.properties +++ b/symmetric-server/src/main/deploy/conf/symmetric-server.properties @@ -53,4 +53,8 @@ jmx.http.enable=true # Port number for Java Management Extensions (JMX) web console. # -jmx.http.port=31416 \ No newline at end of file +jmx.http.port=31416 + +# Accept cookies if load balancer requires it for clustering +# +server.http.cookies.enabled=false diff --git a/symmetric-server/src/main/java/org/jumpmind/symmetric/SymmetricWebServer.java b/symmetric-server/src/main/java/org/jumpmind/symmetric/SymmetricWebServer.java index 57d35135d7..974aee79c9 100644 --- a/symmetric-server/src/main/java/org/jumpmind/symmetric/SymmetricWebServer.java +++ b/symmetric-server/src/main/java/org/jumpmind/symmetric/SymmetricWebServer.java @@ -21,6 +21,8 @@ package org.jumpmind.symmetric; import java.lang.management.ManagementFactory; +import java.net.CookieHandler; +import java.net.CookieManager; import java.util.ArrayList; import java.util.EnumSet; @@ -206,6 +208,12 @@ protected void initFromProperties() { allowDirListing = serverProperties.get(ServerConstants.SERVER_ALLOW_DIR_LISTING, "false"); allowedMethods = serverProperties.get(ServerConstants.SERVER_ALLOW_HTTP_METHODS, ""); disallowedMethods = serverProperties.get(ServerConstants.SERVER_DISALLOW_HTTP_METHODS, "OPTIONS"); + + if (serverProperties.is(ServerConstants.SERVER_HTTP_COOKIES_ENABLED, false)) { + if (CookieHandler.getDefault() == null) { + CookieHandler.setDefault(new CookieManager()); + } + } } public SymmetricWebServer start(int httpPort, int jmxPort, String propertiesUrl) throws Exception {