Author: rhs
Date: Wed Jul  1 13:43:08 2009
New Revision: 790161

URL: http://svn.apache.org/viewvc?rev=790161&view=rev
Log:
fixed hang in SSL client, ssl profile still fails due to port conflicts, but it 
should no longer hang

Modified:
    
qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/ssl/SSLReceiver.java
    
qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/ssl/SSLSender.java
    qpid/trunk/qpid/java/cpp.ssl.testprofile

Modified: 
qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/ssl/SSLReceiver.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/ssl/SSLReceiver.java?rev=790161&r1=790160&r2=790161&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/ssl/SSLReceiver.java
 (original)
+++ 
qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/ssl/SSLReceiver.java
 Wed Jul  1 13:43:08 2009
@@ -95,6 +95,11 @@
             try
             {
                 SSLEngineResult result = engine.unwrap(netData, appData);
+                synchronized (notificationToken)
+                {
+                    notificationToken.notifyAll();
+                }
+
                 int read = result.bytesProduced();
                 status = result.getStatus();
                 handshakeStatus = result.getHandshakeStatus();

Modified: 
qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/ssl/SSLSender.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/ssl/SSLSender.java?rev=790161&r1=790160&r2=790161&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/ssl/SSLSender.java
 (original)
+++ 
qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/ssl/SSLSender.java
 Wed Jul  1 13:43:08 2009
@@ -200,21 +200,26 @@
                     flush();
                     synchronized(engineState)
                     {
-                        long start = System.currentTimeMillis();
-                        try
+                        switch (engine.getHandshakeStatus())
                         {
-                            engineState.wait(timeout);
-                        }
-                        catch(InterruptedException e)
-                        {
-                            // pass
-                        }
-
-                        if (System.currentTimeMillis()- start >= timeout)
-                        {
-                            throw new SenderException(
-                                "SSL Engine timed out waiting for a response." 
+
-                                "To get more info,run with 
-Djavax.net.debug=ssl");
+                        case NEED_UNWRAP:
+                            long start = System.currentTimeMillis();
+                            try
+                            {
+                                engineState.wait(timeout);
+                            }
+                            catch(InterruptedException e)
+                            {
+                                // pass
+                            }
+
+                            if (System.currentTimeMillis()- start >= timeout)
+                            {
+                                throw new SenderException(
+                                                          "SSL Engine timed 
out waiting for a response." +
+                                                          "To get more 
info,run with -Djavax.net.debug=ssl");
+                            }
+                            break;
                         }
                     }
                     break;

Modified: qpid/trunk/qpid/java/cpp.ssl.testprofile
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/cpp.ssl.testprofile?rev=790161&r1=790160&r2=790161&view=diff
==============================================================================
--- qpid/trunk/qpid/java/cpp.ssl.testprofile (original)
+++ qpid/trunk/qpid/java/cpp.ssl.testprofile Wed Jul  1 13:43:08 2009
@@ -1,5 +1,5 @@
 broker.version=0-10
-broker=${project.root}/../cpp/src/qpidd -p @PORT --load-module 
${project.root}/../cpp/src/.libs/ssl.so --ssl-cert-password-file 
${project.root}/test_resources/ssl/pfile --ssl-cert-db 
${project.root}/test_resources/ssl/server_db/ 
--ssl-require-client-authentication --data-dir ${build.data}/@PORT -t --auth no
+broker=${project.root}/../cpp/src/qpidd -p @PORT --load-module 
${project.root}/../cpp/src/.libs/ssl.so --ssl-cert-name localhost.localdomain 
--ssl-cert-password-file ${project.root}/test_resources/ssl/pfile --ssl-cert-db 
${project.root}/test_resources/ssl/server_db/ 
--ssl-require-client-authentication --data-dir ${build.data}/@PORT -t --auth no
 test.excludesfile=${project.root}/ExcludeList ${project.root}/010ExcludeList 
${project.root}/010ExcludeList-ssl
 test.excludeslist=org.apache.qpid.test.client.failover.FailoverTest#*
 profile.use_ssl=true



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscr...@qpid.apache.org

Reply via email to