[jboss-remoting-commits] JBoss Remoting SVN: r3543 - remoting2/branches/2.x/src/main/org/jboss/remoting/transport/sslsocket.

jboss-remoting-commits at lists.jboss.org jboss-remoting-commits at lists.jboss.org
Fri Feb 29 03:25:34 EST 2008


Author: ron.sigal at jboss.com
Date: 2008-02-29 03:25:33 -0500 (Fri, 29 Feb 2008)
New Revision: 3543

Modified:
   remoting2/branches/2.x/src/main/org/jboss/remoting/transport/sslsocket/SSLSocketServerInvoker.java
Log:
JBREM-703: Added configuration for remaining ssl socket parameters.

Modified: remoting2/branches/2.x/src/main/org/jboss/remoting/transport/sslsocket/SSLSocketServerInvoker.java
===================================================================
--- remoting2/branches/2.x/src/main/org/jboss/remoting/transport/sslsocket/SSLSocketServerInvoker.java	2008-02-29 08:24:59 UTC (rev 3542)
+++ remoting2/branches/2.x/src/main/org/jboss/remoting/transport/sslsocket/SSLSocketServerInvoker.java	2008-02-29 08:25:33 UTC (rev 3543)
@@ -22,11 +22,15 @@
 
 package org.jboss.remoting.transport.sslsocket;
 
+import org.jboss.logging.Logger;
 import org.jboss.remoting.InvokerLocator;
 import org.jboss.remoting.transport.socket.SocketServerInvoker;
-
 import javax.net.ServerSocketFactory;
+import javax.net.ssl.SSLServerSocket;
 import javax.net.ssl.SSLServerSocketFactory;
+
+import java.net.ServerSocket;
+import java.net.SocketException;
 import java.util.Map;
 
 /**
@@ -34,7 +38,12 @@
  */
 public class SSLSocketServerInvoker extends SocketServerInvoker implements SSLSocketServerInvokerMBean
 {
+   private static final Logger log = Logger.getLogger(SSLSocketServerInvoker.class);
 
+   protected String[] enabledCipherSuites;
+   protected String[] enabledProtocols;
+   protected boolean enableSessionCreation = true;
+   
    public SSLSocketServerInvoker(InvokerLocator locator)
    {
       super(locator);
@@ -45,9 +54,75 @@
       super(locator, configuration);
    }
 
+   public void setOOBInline(boolean inline)
+   {
+      log.warn("Ignored: sending urgent data is not supported by SSLSockets");
+   }
+   
+   public String[] getEnabledCipherSuites()
+   {
+      return enabledCipherSuites;
+   }
+
+   public void setEnabledCipherSuites(String[] enabledCipherSuites)
+   {
+      this.enabledCipherSuites = enabledCipherSuites;
+   }
+
+   public String[] getEnabledProtocols()
+   {
+      return enabledProtocols;
+   }
+
+   public void setEnabledProtocols(String[] enabledProtocols)
+   {
+      this.enabledProtocols = enabledProtocols;
+   }
+
+   public boolean isEnableSessionCreation()
+   {
+      return enableSessionCreation;
+   }
+
+   public void setEnableSessionCreation(boolean enableSessionCreation)
+   {
+      this.enableSessionCreation = enableSessionCreation;
+   }
+
+   protected void setup() throws Exception
+   {
+      super.setup();
+      
+      Object o = configuration.get("enabledCipherSuites");
+      if (o instanceof String[])
+         setEnabledCipherSuites((String[]) o);
+      
+      o = configuration.get("enabledProtocols");
+      if (o instanceof String[])
+         setEnabledProtocols((String[]) o);
+   }
+   
    protected ServerSocketFactory getDefaultServerSocketFactory()
    {
       return SSLServerSocketFactory.getDefault();
    }
 
+   protected void configureServerSocket(ServerSocket ss) throws SocketException
+   {
+      super.configureServerSocket(ss);
+      
+      if (ss instanceof SSLServerSocket)
+      {
+         SSLServerSocket sss = (SSLServerSocket) ss;
+         if (enabledCipherSuites != null)
+         {
+            sss.setEnabledCipherSuites(enabledCipherSuites);
+         }
+         if (enabledProtocols != null)
+         {
+            sss.setEnabledProtocols(enabledProtocols);
+         }
+         sss.setEnableSessionCreation(enableSessionCreation);
+      }
+   }
 }
\ No newline at end of file




More information about the jboss-remoting-commits mailing list