You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2012/08/08 10:01:53 UTC

svn commit: r1370690 - in /camel/trunk/components/camel-netty/src: main/java/org/apache/camel/component/netty/ test/java/org/apache/camel/component/netty/

Author: ningjiang
Date: Wed Aug  8 08:01:52 2012
New Revision: 1370690

URL: http://svn.apache.org/viewvc?rev=1370690&view=rev
Log:
CAMEL-4303 Add camel-netty option to configure whether the server needs client auth when using SSL

Modified:
    camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerPipelineFactory.java
    camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConfiguration.java
    camel/trunk/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyComponentWithConfigurationTest.java

Modified: camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerPipelineFactory.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerPipelineFactory.java?rev=1370690&r1=1370689&r2=1370690&view=diff
==============================================================================
--- camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerPipelineFactory.java (original)
+++ camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/DefaultServerPipelineFactory.java Wed Aug  8 08:01:52 2012
@@ -90,6 +90,7 @@ public class DefaultServerPipelineFactor
             SSLContext context = consumer.getConfiguration().getSslContextParameters().createSSLContext();
             SSLEngine engine = context.createSSLEngine();
             engine.setUseClientMode(false);
+            engine.setNeedClientAuth(consumer.getConfiguration().isNeedClientAuth());
             return new SslHandler(engine);
         } else {
             SSLEngineFactory sslEngineFactory = new SSLEngineFactory(
@@ -99,6 +100,8 @@ public class DefaultServerPipelineFactor
                 consumer.getConfiguration().getTrustStoreFile(), 
                 consumer.getConfiguration().getPassphrase().toCharArray());
             SSLEngine sslEngine = sslEngineFactory.createServerSSLEngine();
+            sslEngine.setUseClientMode(false);
+            sslEngine.setNeedClientAuth(consumer.getConfiguration().isNeedClientAuth());
             return new SslHandler(sslEngine);
         }
     }

Modified: camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConfiguration.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConfiguration.java?rev=1370690&r1=1370689&r2=1370690&view=diff
==============================================================================
--- camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConfiguration.java (original)
+++ camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConfiguration.java Wed Aug  8 08:01:52 2012
@@ -75,6 +75,7 @@ public class NettyConfiguration implemen
     private ClientPipelineFactory clientPipelineFactory;
     private ServerPipelineFactory serverPipelineFactory;
     private SSLContextParameters sslContextParameters;
+    private boolean needClientAuth;
     
     /**
      * Returns a copy of this configuration
@@ -370,6 +371,14 @@ public class NettyConfiguration implemen
         this.ssl = ssl;
     }
 
+    public boolean isNeedClientAuth() {
+        return needClientAuth;
+    }
+
+    public void setNeedClientAuth(boolean needClientAuth) {
+        this.needClientAuth = needClientAuth;
+    }
+
     public long getReceiveBufferSize() {
         return receiveBufferSize;
     }

Modified: camel/trunk/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyComponentWithConfigurationTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyComponentWithConfigurationTest.java?rev=1370690&r1=1370689&r2=1370690&view=diff
==============================================================================
--- camel/trunk/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyComponentWithConfigurationTest.java (original)
+++ camel/trunk/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyComponentWithConfigurationTest.java Wed Aug  8 08:01:52 2012
@@ -25,7 +25,7 @@ import org.junit.Test;
 public class NettyComponentWithConfigurationTest extends CamelTestSupport {
 
     @Test
-    public void testMinaComponentWithConfiguration() throws Exception {
+    public void testNettyComponentWithConfiguration() throws Exception {
         NettyComponent comp = context.getComponent("netty", NettyComponent.class);
 
         NettyConfiguration cfg = new NettyConfiguration();
@@ -34,7 +34,7 @@ public class NettyComponentWithConfigura
         assertSame(cfg, comp.getConfiguration());
 
         NettyEndpoint e1 = (NettyEndpoint) comp.createEndpoint("netty://tcp://localhost:4455");
-        NettyEndpoint e2 = (NettyEndpoint) comp.createEndpoint("netty://tcp://localhost:5566?sync=false");
+        NettyEndpoint e2 = (NettyEndpoint) comp.createEndpoint("netty://tcp://localhost:5566?sync=false&needClientAuth=true");
 
         // should not be same
         assertNotSame(e1, e2);
@@ -47,7 +47,9 @@ public class NettyComponentWithConfigura
         e2.getConfiguration().setPort(5566);
 
         assertEquals(true, e1.getConfiguration().isSync());
+        assertEquals(false, e1.getConfiguration().isNeedClientAuth());
         assertEquals(false, e2.getConfiguration().isSync());
+        assertEquals(true, e2.getConfiguration().isNeedClientAuth());
         assertEquals(4455, e1.getConfiguration().getPort());
         assertEquals(5566, e2.getConfiguration().getPort());
     }