diff --git a/ConnectionManager.iml b/ConnectionManager.iml index b5ea3fe..83a2df3 100644 --- a/ConnectionManager.iml +++ b/ConnectionManager.iml @@ -1,199 +1,205 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ConnectionManager.ipr b/ConnectionManager.ipr index 36eb4bc..d684023 100644 --- a/ConnectionManager.ipr +++ b/ConnectionManager.ipr @@ -1,306 +1,314 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/build.xml b/build/build.xml index ad2cbbd..e6789bd 100644 --- a/build/build.xml +++ b/build/build.xml @@ -63,7 +63,7 @@ - + diff --git a/src/java/org/jivesoftware/multiplexer/ConnectionManager.java b/src/java/org/jivesoftware/multiplexer/ConnectionManager.java index 119982e..ac94ea4 100644 --- a/src/java/org/jivesoftware/multiplexer/ConnectionManager.java +++ b/src/java/org/jivesoftware/multiplexer/ConnectionManager.java @@ -147,7 +147,7 @@ name = JiveGlobals.getXMLProperty("xmpp.manager.name", StringUtils.randomString(5)).toLowerCase(); serverName = JiveGlobals.getXMLProperty("xmpp.domain"); - version = new Version(3, 6, 2, Version.ReleaseStatus.Release, -1); + version = new Version(3, 6, 3, Version.ReleaseStatus.Release, -1); if (serverName != null) { setupMode = false; } diff --git a/src/java/org/jivesoftware/multiplexer/net/http/HttpBindManager.java b/src/java/org/jivesoftware/multiplexer/net/http/HttpBindManager.java index 02b7c5a..ad28369 100644 --- a/src/java/org/jivesoftware/multiplexer/net/http/HttpBindManager.java +++ b/src/java/org/jivesoftware/multiplexer/net/http/HttpBindManager.java @@ -145,8 +145,18 @@ sslConnector.setTrustPassword(SSLConfig.getTrustPassword()); sslConnector.setTruststoreType(SSLConfig.getStoreType()); sslConnector.setTruststore(SSLConfig.getTruststoreLocation()); - sslConnector.setNeedClientAuth(false); - sslConnector.setWantClientAuth(false); + // Set policy for checking client certificates + String certPol = JiveGlobals.getXMLProperty("xmpp.client.cert.policy", "disabled"); + if(certPol.equals("needed")) { + sslConnector.setNeedClientAuth(true); + sslConnector.setWantClientAuth(true); + } else if(certPol.equals("wanted")) { + sslConnector.setNeedClientAuth(false); + sslConnector.setWantClientAuth(true); + } else { + sslConnector.setNeedClientAuth(false); + sslConnector.setWantClientAuth(false); + } sslConnector.setKeyPassword(SSLConfig.getKeyPassword()); sslConnector.setKeystoreType(SSLConfig.getStoreType());