Author: norman
Date: Sat Nov 19 19:58:15 2011
New Revision: 1204055

URL: http://svn.apache.org/viewvc?rev=1204055&view=rev
Log:
Move cipher config to Secure class. See PROTOCOLS-51

Modified:
    
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/Secure.java
    
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/BasicChannelUpstreamHandler.java
    
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/NettyServer.java

Modified: 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/Secure.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/Secure.java?rev=1204055&r1=1204054&r2=1204055&view=diff
==============================================================================
--- 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/Secure.java
 (original)
+++ 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/Secure.java
 Sat Nov 19 19:58:15 2011
@@ -25,20 +25,32 @@ public final class Secure {
 
     private final SSLContext context;
     private final boolean starttls;
-
-    private Secure(SSLContext context, boolean starttls) {
+    private final String[] enabledCipherSuites;
+    
+    private Secure(SSLContext context, boolean starttls, String[] 
enabledCipherSuites) {
         this.context = context;
         this.starttls = starttls;
+        this.enabledCipherSuites = enabledCipherSuites;
     }
     
     public static Secure createTls(SSLContext context) {
-        return new Secure(context, false);
+        return createTls(context, null);
+    }
+    
+    public static Secure createTls(SSLContext context, String[] 
enabledCipherSuites) {
+        return new Secure(context, false, enabledCipherSuites);
     }
     
     public static Secure createStartTls(SSLContext context) {
-        return new Secure(context, true);
+        return createStartTls(context, null);
+    }
+    
+    public static Secure createStartTls(SSLContext context, String[] 
enabledCipherSuites) {
+        return new Secure(context, true, null);
     }
     
+    
+    
     public SSLContext getContext() {
         return context;
     }
@@ -46,4 +58,8 @@ public final class Secure {
     public boolean isStartTLS() {
         return starttls;
     }
+    
+    public String[] getEnabledCipherSuites() {
+        return enabledCipherSuites;
+    }
 }

Modified: 
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/BasicChannelUpstreamHandler.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/BasicChannelUpstreamHandler.java?rev=1204055&r1=1204054&r2=1204055&view=diff
==============================================================================
--- 
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/BasicChannelUpstreamHandler.java
 (original)
+++ 
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/BasicChannelUpstreamHandler.java
 Sat Nov 19 19:58:15 2011
@@ -21,7 +21,6 @@ package org.apache.james.protocols.impl;
 import java.util.LinkedList;
 import java.util.List;
 
-import javax.net.ssl.SSLContext;
 import javax.net.ssl.SSLEngine;
 
 import org.apache.james.protocols.api.ProtocolSessionImpl;
@@ -30,6 +29,7 @@ import org.apache.james.protocols.api.Pr
 import org.apache.james.protocols.api.ProtocolSession;
 import org.apache.james.protocols.api.ProtocolTransport;
 import org.apache.james.protocols.api.Response;
+import org.apache.james.protocols.api.Secure;
 import org.apache.james.protocols.api.handler.ConnectHandler;
 import org.apache.james.protocols.api.handler.DisconnectHandler;
 import org.apache.james.protocols.api.handler.LineHandler;
@@ -54,21 +54,19 @@ import org.slf4j.Logger;
 @Sharable
 public class BasicChannelUpstreamHandler extends SimpleChannelUpstreamHandler {
     protected final Logger logger;
-    protected final SSLContext context;
-    protected String[] enabledCipherSuites;
-    protected Protocol protocol;
-    protected ProtocolHandlerChain chain;
+    protected final Protocol protocol;
+    protected final ProtocolHandlerChain chain;
+    protected final Secure secure;
 
     public BasicChannelUpstreamHandler(Protocol protocol, Logger logger) {
-        this(protocol, logger, null, null);
+        this(protocol, logger, null);
     }
 
-    public BasicChannelUpstreamHandler(Protocol protocol, Logger logger, 
SSLContext context, String[] enabledCipherSuites) {
+    public BasicChannelUpstreamHandler(Protocol protocol, Logger logger, 
Secure secure) {
         this.protocol = protocol;
         this.chain = protocol.getProtocolChain();
         this.logger = logger;
-        this.context = context;
-        this.enabledCipherSuites = enabledCipherSuites;
+        this.secure = secure;
     }
 
 
@@ -207,8 +205,9 @@ public class BasicChannelUpstreamHandler
     
     protected ProtocolSession createSession(ChannelHandlerContext ctx) throws 
Exception {
         SSLEngine engine = null;
-        if (context != null) {
-            engine = context.createSSLEngine();
+        if (secure != null) {
+            engine = secure.getContext().createSSLEngine();
+            String[] enabledCipherSuites = secure.getEnabledCipherSuites();
             if (enabledCipherSuites != null && enabledCipherSuites.length > 0) 
{
                 engine.setEnabledCipherSuites(enabledCipherSuites);
             }

Modified: 
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/NettyServer.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/NettyServer.java?rev=1204055&r1=1204054&r2=1204055&view=diff
==============================================================================
--- 
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/NettyServer.java
 (original)
+++ 
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/NettyServer.java
 Sat Nov 19 19:58:15 2011
@@ -76,11 +76,7 @@ public class NettyServer extends Abstrac
     
   
     protected ChannelUpstreamHandler createCoreHandler() {
-        SSLContext sslContext = null;
-        if (secure != null) {
-            sslContext = secure.getContext();
-        } 
-        return new BasicChannelUpstreamHandler(protocol, logger, sslContext, 
null);
+        return new BasicChannelUpstreamHandler(protocol, logger, secure);
     }
     
     @Override



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to