You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2014/10/23 21:04:06 UTC

git commit: https://issues.apache.org/jira/browse/AMQ-5407

Repository: activemq
Updated Branches:
  refs/heads/trunk 33089f3fb -> 1948fe41a


https://issues.apache.org/jira/browse/AMQ-5407

Allow config of enabled protocols for nio+ssl and stomp+nio+ssl etc to
match the capability of the non-nio transports.

Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/1948fe41
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/1948fe41
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/1948fe41

Branch: refs/heads/trunk
Commit: 1948fe41a35d895589dfd14d85aee75078a8415b
Parents: 33089f3
Author: Timothy Bish <ta...@gmail.com>
Authored: Thu Oct 23 15:03:35 2014 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Thu Oct 23 15:03:35 2014 -0400

----------------------------------------------------------------------
 .../apache/activemq/transport/nio/NIOSSLTransport.java | 13 +++++++++++++
 .../apache/activemq/transport/nio/NIOSSLBasicTest.java |  7 +++++++
 2 files changed, 20 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq/blob/1948fe41/activemq-client/src/main/java/org/apache/activemq/transport/nio/NIOSSLTransport.java
----------------------------------------------------------------------
diff --git a/activemq-client/src/main/java/org/apache/activemq/transport/nio/NIOSSLTransport.java b/activemq-client/src/main/java/org/apache/activemq/transport/nio/NIOSSLTransport.java
index 02789f3..33f529e 100644
--- a/activemq-client/src/main/java/org/apache/activemq/transport/nio/NIOSSLTransport.java
+++ b/activemq-client/src/main/java/org/apache/activemq/transport/nio/NIOSSLTransport.java
@@ -50,6 +50,7 @@ public class NIOSSLTransport extends NIOTransport {
     protected boolean needClientAuth;
     protected boolean wantClientAuth;
     protected String[] enabledCipherSuites;
+    protected String[] enabledProtocols;
 
     protected SSLContext sslContext;
     protected SSLEngine sslEngine;
@@ -106,6 +107,10 @@ public class NIOSSLTransport extends NIOTransport {
                 sslEngine.setEnabledCipherSuites(enabledCipherSuites);
             }
 
+            if (enabledProtocols != null) {
+                sslEngine.setEnabledProtocols(enabledProtocols);
+            }
+
             if (wantClientAuth) {
                 sslEngine.setWantClientAuth(wantClientAuth);
             }
@@ -435,4 +440,12 @@ public class NIOSSLTransport extends NIOTransport {
     public void setEnabledCipherSuites(String[] enabledCipherSuites) {
         this.enabledCipherSuites = enabledCipherSuites;
     }
+
+    public String[] getEnabledProtocols() {
+        return enabledProtocols;
+    }
+
+    public void setEnabledProtocols(String[] enabledProtocols) {
+        this.enabledProtocols = enabledProtocols;
+    }
 }

http://git-wip-us.apache.org/repos/asf/activemq/blob/1948fe41/activemq-unit-tests/src/test/java/org/apache/activemq/transport/nio/NIOSSLBasicTest.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/transport/nio/NIOSSLBasicTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/transport/nio/NIOSSLBasicTest.java
index 78c1309..885446d 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/transport/nio/NIOSSLBasicTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/transport/nio/NIOSSLBasicTest.java
@@ -90,6 +90,13 @@ public class NIOSSLBasicTest {
         stopBroker(broker);
     }
 
+    @Test
+    public void enabledProtocols() throws Exception {
+        BrokerService broker = createBroker("nio+ssl", "nio+ssl://localhost:61616?transport.needClientAuth=true&transport.enabledProtocols=TLSv1,TLSv1.1,TLSv1.2");
+        basicSendReceive("ssl://localhost:" + broker.getConnectorByName("nio+ssl").getConnectUri().getPort());
+        stopBroker(broker);
+    }
+
     public void basicSendReceive(String uri) throws Exception {
         ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(uri);
         Connection connection = factory.createConnection();