CAMEL-7940 Fixed the test error with JDK6 and do not set the enabledProtocols 
if specify the SslContextParameter


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/550f5df6
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/550f5df6
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/550f5df6

Branch: refs/heads/camel-2.14.x
Commit: 550f5df6c365288abc39cdf73723f178841157d6
Parents: dcb7beb
Author: Willem Jiang <willem.ji...@gmail.com>
Authored: Thu Nov 6 17:47:39 2014 +0800
Committer: Willem Jiang <willem.ji...@gmail.com>
Committed: Thu Nov 6 17:49:02 2014 +0800

----------------------------------------------------------------------
 .../netty/http/HttpClientPipelineFactory.java      |  5 ++++-
 .../netty/http/HttpServerPipelineFactory.java      |  5 ++++-
 .../http/HttpServerSharedPipelineFactory.java      |  5 ++++-
 .../netty/DefaultClientPipelineFactory.java        |  5 ++++-
 .../netty/DefaultServerPipelineFactory.java        |  6 ++++--
 .../netty/NettyServerBootstrapConfiguration.java   | 16 ++++++++++++++--
 .../netty4/http/HttpClientInitializerFactory.java  |  5 ++++-
 .../netty4/http/HttpServerInitializerFactory.java  |  5 ++++-
 .../http/HttpServerSharedInitializerFactory.java   |  5 ++++-
 .../netty4/DefaultClientInitializerFactory.java    |  5 ++++-
 .../netty4/DefaultServerInitializerFactory.java    |  5 ++++-
 .../netty4/NettyServerBootstrapConfiguration.java  | 17 ++++++++++++++---
 12 files changed, 68 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/550f5df6/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpClientPipelineFactory.java
----------------------------------------------------------------------
diff --git 
a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpClientPipelineFactory.java
 
b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpClientPipelineFactory.java
index 9c85c9d..ee77dce 100644
--- 
a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpClientPipelineFactory.java
+++ 
b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpClientPipelineFactory.java
@@ -174,7 +174,10 @@ public class HttpClientPipelineFactory extends 
ClientPipelineFactory {
         } else if (sslContext != null) {
             SSLEngine engine = sslContext.createSSLEngine();
             engine.setUseClientMode(true);
-            
engine.setEnabledProtocols(producer.getConfiguration().getEnabledProtocols().split(","));
+            if (producer.getConfiguration().getSslContextParameters() == null) 
{
+                // just set the enabledProtocols if the SslContextParameter 
doesn't set
+                
engine.setEnabledProtocols(producer.getConfiguration().getEnabledProtocols().split(","));
+            }
             return new SslHandler(engine);
         }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/550f5df6/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerPipelineFactory.java
----------------------------------------------------------------------
diff --git 
a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerPipelineFactory.java
 
b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerPipelineFactory.java
index 565534c..84a4eeb 100644
--- 
a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerPipelineFactory.java
+++ 
b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerPipelineFactory.java
@@ -184,7 +184,10 @@ public class HttpServerPipelineFactory extends 
ServerPipelineFactory {
             SSLEngine engine = sslContext.createSSLEngine();
             engine.setUseClientMode(false);
             
engine.setNeedClientAuth(consumer.getConfiguration().isNeedClientAuth());
-            
engine.setEnabledProtocols(consumer.getConfiguration().getEnabledProtocols().split(","));
+            if (consumer.getConfiguration().getSslContextParameters() == null) 
{
+                // just set the enabledProtocols if the SslContextParameter 
doesn't set
+                
engine.setEnabledProtocols(consumer.getConfiguration().getEnabledProtocols().split(","));
+            }
             return new SslHandler(engine);
         }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/550f5df6/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerSharedPipelineFactory.java
----------------------------------------------------------------------
diff --git 
a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerSharedPipelineFactory.java
 
b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerSharedPipelineFactory.java
index c920fd4..f9b4cd0 100644
--- 
a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerSharedPipelineFactory.java
+++ 
b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/HttpServerSharedPipelineFactory.java
@@ -151,7 +151,10 @@ public class HttpServerSharedPipelineFactory extends 
HttpServerPipelineFactory {
             SSLEngine engine = sslContext.createSSLEngine();
             engine.setUseClientMode(false);
             engine.setNeedClientAuth(configuration.isNeedClientAuth());
-            
engine.setEnabledProtocols(configuration.getEnabledProtocols().split(","));
+            if (configuration.getSslContextParameters() == null) {
+                // just set the enabledProtocols if the SslContextParameter 
doesn't set
+                
engine.setEnabledProtocols(configuration.getEnabledProtocols().split(","));
+            }
             return new SslHandler(engine);
         }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/550f5df6/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultClientPipelineFactory.java
----------------------------------------------------------------------
diff --git 
a/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultClientPipelineFactory.java
 
b/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultClientPipelineFactory.java
index b997720..556ee98 100644
--- 
a/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultClientPipelineFactory.java
+++ 
b/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultClientPipelineFactory.java
@@ -155,7 +155,10 @@ public class DefaultClientPipelineFactory extends 
ClientPipelineFactory  {
             return producer.getConfiguration().getSslHandler();
         } else if (sslContext != null) {
             SSLEngine engine = sslContext.createSSLEngine();
-            
engine.setEnabledProtocols(producer.getConfiguration().getEnabledProtocols().split(","));
+            if (producer.getConfiguration().getSslContextParameters() == null) 
{
+                // just set the enabledProtocols if the SslContextParameter 
doesn't set
+                
engine.setEnabledProtocols(producer.getConfiguration().getEnabledProtocols().split(","));
+            }
             engine.setUseClientMode(true);
             return new SslHandler(engine);
         }

http://git-wip-us.apache.org/repos/asf/camel/blob/550f5df6/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerPipelineFactory.java
----------------------------------------------------------------------
diff --git 
a/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerPipelineFactory.java
 
b/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerPipelineFactory.java
index 33f264a..6e6ec9f 100644
--- 
a/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerPipelineFactory.java
+++ 
b/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerPipelineFactory.java
@@ -174,8 +174,10 @@ public class DefaultServerPipelineFactory extends 
ServerPipelineFactory {
             SSLEngine engine = sslContext.createSSLEngine();
             engine.setUseClientMode(false);            
             
engine.setNeedClientAuth(consumer.getConfiguration().isNeedClientAuth());
-            
engine.setEnabledProtocols(consumer.getConfiguration().getEnabledProtocols().split(","));
-
+            if (consumer.getConfiguration().getSslContextParameters() == null) 
{
+                // just set the enabledProtocols if the SslContextParameter 
doesn't set
+                
engine.setEnabledProtocols(consumer.getConfiguration().getEnabledProtocols().split(","));
+            }
             return new SslHandler(engine);
         }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/550f5df6/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyServerBootstrapConfiguration.java
----------------------------------------------------------------------
diff --git 
a/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyServerBootstrapConfiguration.java
 
b/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyServerBootstrapConfiguration.java
index 647d4cc..3ecc7ed 100644
--- 
a/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyServerBootstrapConfiguration.java
+++ 
b/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyServerBootstrapConfiguration.java
@@ -17,6 +17,7 @@
 package org.apache.camel.component.netty;
 
 import java.io.File;
+import java.util.Locale;
 import java.util.Map;
 
 import org.apache.camel.util.jsse.SSLContextParameters;
@@ -25,7 +26,7 @@ import org.jboss.netty.channel.socket.nio.WorkerPool;
 import org.jboss.netty.handler.ssl.SslHandler;
 
 public class NettyServerBootstrapConfiguration implements Cloneable {
-
+    private static String defaultEnabledProtocols;
     protected String protocol;
     protected String host;
     protected int port;
@@ -55,11 +56,22 @@ public class NettyServerBootstrapConfiguration implements 
Cloneable {
     protected String trustStoreResource;
     protected String keyStoreFormat = "JKS";
     protected String securityProvider = "SunX509";
-    protected String enabledProtocols = "TLSv1,TLSv1.1,TLSv1.2";
+    protected String enabledProtocols = defaultEnabledProtocols;
     protected String passphrase;
     protected BossPool bossPool;
     protected WorkerPool workerPool;
     protected String networkInterface;
+    
+    // setup the default value of TLS
+    static {
+        // JDK6 doesn't support TLSv1.1,TLSv1.2
+        String javaVersion = 
System.getProperty("java.version").toLowerCase(Locale.US);
+        if (javaVersion.startsWith("1.6")) {
+            defaultEnabledProtocols = "TLSv1";
+        } else {
+            defaultEnabledProtocols = "TLSv1,TLSv1.1,TLSv1.2";
+        }
+    }
 
     public String getAddress() {
         return host + ":" + port;

http://git-wip-us.apache.org/repos/asf/camel/blob/550f5df6/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpClientInitializerFactory.java
----------------------------------------------------------------------
diff --git 
a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpClientInitializerFactory.java
 
b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpClientInitializerFactory.java
index 6bf8869..898068a 100644
--- 
a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpClientInitializerFactory.java
+++ 
b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpClientInitializerFactory.java
@@ -178,7 +178,10 @@ public class HttpClientInitializerFactory extends 
ClientInitializerFactory {
         } else if (sslContext != null) {
             SSLEngine engine = sslContext.createSSLEngine();
             engine.setUseClientMode(true);
-            
engine.setEnabledProtocols(producer.getConfiguration().getEnabledProtocols().split(","));
+            if (producer.getConfiguration().getSslContextParameters() == null) 
{
+                // just set the enabledProtocols if the SslContextParameter 
doesn't set
+                
engine.setEnabledProtocols(producer.getConfiguration().getEnabledProtocols().split(","));
+            }
             return new SslHandler(engine);
         }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/550f5df6/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpServerInitializerFactory.java
----------------------------------------------------------------------
diff --git 
a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpServerInitializerFactory.java
 
b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpServerInitializerFactory.java
index 833c5bc..94fc834 100644
--- 
a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpServerInitializerFactory.java
+++ 
b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpServerInitializerFactory.java
@@ -179,7 +179,10 @@ public class HttpServerInitializerFactory extends 
ServerInitializerFactory {
             SSLEngine engine = sslContext.createSSLEngine();
             engine.setUseClientMode(false);
             
engine.setNeedClientAuth(consumer.getConfiguration().isNeedClientAuth());
-            
engine.setEnabledProtocols(consumer.getConfiguration().getEnabledProtocols().split(","));
+            if (consumer.getConfiguration().getSslContextParameters() == null) 
{
+                // just set the enabledProtocols if the SslContextParameter 
doesn't set
+                
engine.setEnabledProtocols(consumer.getConfiguration().getEnabledProtocols().split(","));
+            }
             return new SslHandler(engine);
         }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/550f5df6/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpServerSharedInitializerFactory.java
----------------------------------------------------------------------
diff --git 
a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpServerSharedInitializerFactory.java
 
b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpServerSharedInitializerFactory.java
index c687641..3ed4397 100644
--- 
a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpServerSharedInitializerFactory.java
+++ 
b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpServerSharedInitializerFactory.java
@@ -150,7 +150,10 @@ public class HttpServerSharedInitializerFactory extends 
HttpServerInitializerFac
             SSLEngine engine = sslContext.createSSLEngine();
             engine.setUseClientMode(false);
             engine.setNeedClientAuth(configuration.isNeedClientAuth());
-            
engine.setEnabledProtocols(configuration.getEnabledProtocols().split(","));
+            if (configuration.getSslContextParameters() == null) {
+                // just set the enabledProtocols if the SslContextParameter 
doesn't set
+                
engine.setEnabledProtocols(configuration.getEnabledProtocols().split(","));
+            }
             return new SslHandler(engine);
         }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/550f5df6/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/DefaultClientInitializerFactory.java
----------------------------------------------------------------------
diff --git 
a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/DefaultClientInitializerFactory.java
 
b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/DefaultClientInitializerFactory.java
index b35ba4e..ff7f50e 100644
--- 
a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/DefaultClientInitializerFactory.java
+++ 
b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/DefaultClientInitializerFactory.java
@@ -157,7 +157,10 @@ public class DefaultClientInitializerFactory extends 
ClientInitializerFactory  {
         } else if (sslContext != null) {
             SSLEngine engine = sslContext.createSSLEngine();
             engine.setUseClientMode(true);
-            
engine.setEnabledProtocols(producer.getConfiguration().getEnabledProtocols().split(","));
+            if (producer.getConfiguration().getSslContextParameters() == null) 
{
+                // just set the enabledProtocols if the SslContextParameter 
doesn't set
+                
engine.setEnabledProtocols(producer.getConfiguration().getEnabledProtocols().split(","));
+            }
             return new SslHandler(engine);
         }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/550f5df6/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/DefaultServerInitializerFactory.java
----------------------------------------------------------------------
diff --git 
a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/DefaultServerInitializerFactory.java
 
b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/DefaultServerInitializerFactory.java
index 0f080c6..6ec681c 100644
--- 
a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/DefaultServerInitializerFactory.java
+++ 
b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/DefaultServerInitializerFactory.java
@@ -177,7 +177,10 @@ public class DefaultServerInitializerFactory extends 
ServerInitializerFactory {
             SSLEngine engine = sslContext.createSSLEngine();
             engine.setUseClientMode(false);
             
engine.setNeedClientAuth(consumer.getConfiguration().isNeedClientAuth());
-            
engine.setEnabledProtocols(consumer.getConfiguration().getEnabledProtocols().split(","));
+            if (consumer.getConfiguration().getSslContextParameters() == null) 
{
+                // just set the enabledProtocols if the SslContextParameter 
doesn't set
+                
engine.setEnabledProtocols(consumer.getConfiguration().getEnabledProtocols().split(","));
+            }
             return new SslHandler(engine);
         }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/550f5df6/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyServerBootstrapConfiguration.java
----------------------------------------------------------------------
diff --git 
a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyServerBootstrapConfiguration.java
 
b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyServerBootstrapConfiguration.java
index c392962..e4f7737 100644
--- 
a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyServerBootstrapConfiguration.java
+++ 
b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyServerBootstrapConfiguration.java
@@ -17,15 +17,15 @@
 package org.apache.camel.component.netty4;
 
 import java.io.File;
+import java.util.Locale;
 import java.util.Map;
 
 import io.netty.channel.EventLoopGroup;
 import io.netty.handler.ssl.SslHandler;
-
 import org.apache.camel.util.jsse.SSLContextParameters;
 
 public class NettyServerBootstrapConfiguration implements Cloneable {
-
+    private static String defaultEnabledProtocols;
     protected String protocol;
     protected String host;
     protected int port;
@@ -55,11 +55,22 @@ public class NettyServerBootstrapConfiguration implements 
Cloneable {
     protected String trustStoreResource;
     protected String keyStoreFormat;
     protected String securityProvider;
-    protected String enabledProtocols = "TLSv1,TLSv1.1,TLSv1.2";
+    protected String enabledProtocols = defaultEnabledProtocols;
     protected String passphrase;
     protected EventLoopGroup bossGroup;
     protected EventLoopGroup workerGroup;
     protected String networkInterface;
+    
+    // setup the default value of TLS
+    static {
+        // JDK6 doesn't support TLSv1.1,TLSv1.2
+        String javaVersion = 
System.getProperty("java.version").toLowerCase(Locale.US);
+        if (javaVersion.startsWith("1.6")) {
+            defaultEnabledProtocols = "TLSv1";
+        } else {
+            defaultEnabledProtocols = "TLSv1,TLSv1.1,TLSv1.2";
+        }
+    }
 
     public String getAddress() {
         return host + ":" + port;

Reply via email to