[jboss-cvs] JBoss Messaging SVN: r4817 - trunk/src/main/org/jboss/messaging/core/remoting/impl/netty.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Aug 18 05:38:49 EDT 2008


Author: trustin
Date: 2008-08-18 05:38:49 -0400 (Mon, 18 Aug 2008)
New Revision: 4817

Modified:
   trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/ChannelPipelineSupport.java
   trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/NettyAcceptor.java
   trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/NettyConnector.java
Log:
Fixed a bug where SSLContext initialized when SSL is not enabled

Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/ChannelPipelineSupport.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/ChannelPipelineSupport.java	2008-08-18 09:05:27 UTC (rev 4816)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/ChannelPipelineSupport.java	2008-08-18 09:38:49 UTC (rev 4817)
@@ -26,7 +26,6 @@
 import javax.net.ssl.SSLEngine;
 
 import org.jboss.messaging.core.remoting.RemotingHandler;
-import org.jboss.messaging.core.remoting.impl.ssl.SSLSupport;
 import org.jboss.netty.channel.ChannelPipeline;
 import org.jboss.netty.handler.ssl.SslHandler;
 
@@ -62,12 +61,8 @@
    }
 
    public static void addSSLFilter(
-         final ChannelPipeline pipeline, final boolean client,
-         final String keystorePath, final String keystorePassword, final String trustStorePath,
-         final String trustStorePassword) throws Exception
+         final ChannelPipeline pipeline, final SSLContext context, final boolean client) throws Exception
    {
-      SSLContext context = SSLSupport.getInstance(client, keystorePath, keystorePassword,
-            trustStorePath, trustStorePassword);
       SSLEngine engine = context.createSSLEngine();
       if (client)
       {

Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/NettyAcceptor.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/NettyAcceptor.java	2008-08-18 09:05:27 UTC (rev 4816)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/NettyAcceptor.java	2008-08-18 09:38:49 UTC (rev 4817)
@@ -28,11 +28,14 @@
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
+import javax.net.ssl.SSLContext;
+
 import org.jboss.messaging.core.config.Configuration;
 import org.jboss.messaging.core.exception.MessagingException;
 import org.jboss.messaging.core.logging.Logger;
 import org.jboss.messaging.core.remoting.ConnectionLifeCycleListener;
 import org.jboss.messaging.core.remoting.RemotingHandler;
+import org.jboss.messaging.core.remoting.impl.ssl.SSLSupport;
 import org.jboss.messaging.core.remoting.spi.Acceptor;
 import org.jboss.messaging.core.remoting.spi.Connection;
 import org.jboss.netty.bootstrap.ServerBootstrap;
@@ -97,16 +100,32 @@
       channelFactory = new NioServerSocketChannelFactory(bossExecutor, workerExecutor);
       bootstrap = new ServerBootstrap(channelFactory);
 
+      final SSLContext context;
+      if (configuration.isSSLEnabled()) {
+         try {
+            context = SSLSupport.createServerContext(
+                  configuration.getKeyStorePath(),
+                  configuration.getKeyStorePassword(),
+                  configuration.getTrustStorePath(),
+                  configuration.getTrustStorePassword());
+         } catch (Exception e) {
+            IllegalStateException ise = new IllegalStateException(
+                  "Unable to create NettyAcceptor for " +
+                  configuration.getHost() + ":" + configuration.getPort());
+            ise.initCause(e);
+            throw ise;
+         }
+      } else {
+         context = null; // Unused
+      }
+
       bootstrap.setPipelineFactory(new ChannelPipelineFactory() {
          public ChannelPipeline getPipeline() throws Exception
          {
             ChannelPipeline pipeline = pipeline();
             if (configuration.isSSLEnabled())
             {
-               ChannelPipelineSupport.addSSLFilter(pipeline, false, configuration.getKeyStorePath(),
-                       configuration.getKeyStorePassword(),
-                       configuration.getTrustStorePath(),
-                       configuration.getTrustStorePassword());
+               ChannelPipelineSupport.addSSLFilter(pipeline, context, false);
             }
             ChannelPipelineSupport.addCodecFilter(pipeline, handler);
             pipeline.addLast("handler", new NettyHandler());

Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/NettyConnector.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/NettyConnector.java	2008-08-18 09:05:27 UTC (rev 4816)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/NettyConnector.java	2008-08-18 09:38:49 UTC (rev 4817)
@@ -27,12 +27,15 @@
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
+import javax.net.ssl.SSLContext;
+
 import org.jboss.messaging.core.client.ConnectionParams;
 import org.jboss.messaging.core.client.Location;
 import org.jboss.messaging.core.exception.MessagingException;
 import org.jboss.messaging.core.logging.Logger;
 import org.jboss.messaging.core.remoting.ConnectionLifeCycleListener;
 import org.jboss.messaging.core.remoting.RemotingHandler;
+import org.jboss.messaging.core.remoting.impl.ssl.SSLSupport;
 import org.jboss.messaging.core.remoting.spi.Connection;
 import org.jboss.messaging.core.remoting.spi.Connector;
 import org.jboss.netty.bootstrap.ClientBootstrap;
@@ -138,24 +141,29 @@
       bootstrap.setOption("keepAlive", true);
       bootstrap.setOption("reuseAddress", true);
 
+      final SSLContext context;
+      if (params.isSSLEnabled()) {
+         try {
+            context = SSLSupport.getInstance(true, params.getKeyStorePath(), params.getKeyStorePassword(), null, null);
+         }
+         catch (Exception e)
+         {
+            IllegalStateException ise = new IllegalStateException(
+                  "Unable to create NettyConnector for " + location);
+            ise.initCause(e);
+            throw ise;
+         }
+      } else {
+         context = null; // Unused
+      }
+
       bootstrap.setPipelineFactory(new ChannelPipelineFactory() {
-
          public ChannelPipeline getPipeline() throws Exception
          {
             ChannelPipeline pipeline = pipeline();
             if (params.isSSLEnabled())
             {
-               try
-               {
-                  ChannelPipelineSupport.addSSLFilter(pipeline, true, params.getKeyStorePath(), params.getKeyStorePassword(), null, null);
-               }
-               catch (Exception e)
-               {
-                  IllegalStateException ise = new IllegalStateException(
-                        "Unable to create Netty connection for " + location);
-                  ise.initCause(e);
-                  throw ise;
-               }
+                  ChannelPipelineSupport.addSSLFilter(pipeline, context, true);
             }
             ChannelPipelineSupport.addCodecFilter(pipeline, handler);
             pipeline.addLast("handler", new NettyHandler());




More information about the jboss-cvs-commits mailing list