Author: rgreig
Date: Wed Feb 28 07:52:00 2007
New Revision: 512818

URL: http://svn.apache.org/viewvc?view=rev&rev=512818
Log:
(Patch submitted by Tomas Restrepo) ssl_really.patch
The set of known response codes in AMQConstant.cs is out of date for the .NET 
client and is causing compatibility issues with the java broker trunk. Need to 
synchronize to the spec again. Patch to synchronize the response code values

Modified:
    incubator/qpid/trunk/qpid/java/broker/etc/config.xml
    
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java
    
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQPFastProtocolHandler.java
    
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ConnectorConfiguration.java

Modified: incubator/qpid/trunk/qpid/java/broker/etc/config.xml
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/etc/config.xml?view=diff&rev=512818&r1=512817&r2=512818
==============================================================================
--- incubator/qpid/trunk/qpid/java/broker/etc/config.xml (original)
+++ incubator/qpid/trunk/qpid/java/broker/etc/config.xml Wed Feb 28 07:52:00 
2007
@@ -28,6 +28,7 @@
              to enable SSL support
         <ssl>
             <enabled>true</enabled>
+            <sslOnly>true</sslOnly>
             <keystorePath>/path/to/keystore.ks</keystorePath>
             <keystorePassword>keystorepass</keystorePassword>
         </ssl>-->

Modified: 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java?view=diff&rev=512818&r1=512817&r2=512818
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java
 (original)
+++ 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java
 Wed Feb 28 07:52:00 2007
@@ -68,9 +68,6 @@
 
     private static final String DEFAULT_LOG_CONFIG_FILENAME = "log4j.xml";
 
-    
-    private static Main _instance;
-
     protected static class InitException extends Exception
     {
         InitException(String msg)
@@ -333,8 +330,8 @@
             {
                 sconfig.setThreadModel(ReadWriteThreadModel.getInstance());
             }
-
-            if (!connectorConfig.enableSSL)
+            
+            if (!connectorConfig.enableSSL || !connectorConfig.sslOnly)
             {
                 AMQPFastProtocolHandler handler = new 
AMQPProtocolProvider().getHandler();
                 InetSocketAddress bindAddress;
@@ -350,7 +347,7 @@
                 _logger.info("Qpid.AMQP listening on non-SSL address " + 
bindAddress);
             }
 
-            else
+            if (connectorConfig.enableSSL)
             {
                 AMQPFastProtocolHandler handler = new 
AMQPProtocolProvider().getHandler();
                 try
@@ -374,7 +371,7 @@
     public static void main(String[] args)
     {
 
-        _instance = new Main(args);
+        new Main(args);
     }
 
     private byte[] parseIP(String address) throws Exception

Modified: 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQPFastProtocolHandler.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQPFastProtocolHandler.java?view=diff&rev=512818&r1=512817&r2=512818
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQPFastProtocolHandler.java
 (original)
+++ 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQPFastProtocolHandler.java
 Wed Feb 28 07:52:00 2007
@@ -21,6 +21,7 @@
 package org.apache.qpid.server.protocol;
 
 import java.io.IOException;
+import java.net.InetSocketAddress;
 
 import org.apache.log4j.Logger;
 import org.apache.mina.common.ByteBuffer;
@@ -90,7 +91,7 @@
                 getConfiguredObject(ConnectorConfiguration.class);
         if (connectorConfig.enableExecutorPool)
         {
-            if (connectorConfig.enableSSL)
+            if (connectorConfig.enableSSL && isSSLClient(connectorConfig, 
protocolSession))
             {
                String keystorePath = connectorConfig.keystorePath;
                String keystorePassword = connectorConfig.keystorePassword;
@@ -104,7 +105,7 @@
         else
         {
                protocolSession.getFilterChain().addLast("protocolFilter", pcf);
-            if (connectorConfig.enableSSL)
+            if (connectorConfig.enableSSL && isSSLClient(connectorConfig, 
protocolSession))
             {
                String keystorePath = connectorConfig.keystorePath;
                String keystorePassword = connectorConfig.keystorePassword;
@@ -227,5 +228,12 @@
         {
             _logger.debug("Message sent: " + object);
         }
+    }
+    
+    protected boolean isSSLClient(ConnectorConfiguration connectionConfig,
+               IoSession protocolSession) 
+    {
+       InetSocketAddress addr = (InetSocketAddress) 
protocolSession.getLocalAddress();
+       return addr.getPort() == connectionConfig.sslPort;
     }
 }

Modified: 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ConnectorConfiguration.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ConnectorConfiguration.java?view=diff&rev=512818&r1=512817&r2=512818
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ConnectorConfiguration.java
 (original)
+++ 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ConnectorConfiguration.java
 Wed Feb 28 07:52:00 2007
@@ -41,11 +41,7 @@
     @Configured(path = "connector.bind",
                 defaultValue = "wildcard")
     public String bindAddress;
-
-    @Configured(path = "connector.sslport",
-                defaultValue = SSL_PORT)
-    public int sslPort;
-
+    
     @Configured(path = "connector.socketReceiveBuffer",
                 defaultValue = "32767")
     public int socketReceiveBufferSize;
@@ -73,6 +69,14 @@
     @Configured(path = "connector.ssl.enabled",
                 defaultValue = "false")
     public boolean enableSSL;
+    
+    @Configured(path = "connector.ssl.sslOnly",
+                   defaultValue = "true")
+    public boolean sslOnly;
+    
+    @Configured(path = "connector.ssl.port",
+            defaultValue = SSL_PORT)
+    public int sslPort;    
     
     @Configured(path = "connector.ssl.keystorePath",
                        defaultValue = "none")


Reply via email to