You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2007/02/28 16:52:01 UTC

svn commit: r512818 - in /incubator/qpid/trunk/qpid/java/broker: etc/ src/main/java/org/apache/qpid/server/ src/main/java/org/apache/qpid/server/protocol/ src/main/java/org/apache/qpid/server/transport/

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")