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