You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2014/07/13 19:29:39 UTC
svn commit: r1610251 -
/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLSender.java
Author: kwall
Date: Sun Jul 13 17:29:39 2014
New Revision: 1610251
URL: http://svn.apache.org/r1610251
Log:
QPID-5892: SSL Sender may spuriously timeout if SSL negotiation fails
Modified:
qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLSender.java
Modified: qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLSender.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLSender.java?rev=1610251&r1=1610250&r2=1610251&view=diff
==============================================================================
--- qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLSender.java (original)
+++ qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLSender.java Sun Jul 13 17:29:39 2014
@@ -72,7 +72,7 @@ public class SSLSender implements Sender
return;
}
log.debug("Closing SSL connection");
-
+
engine.closeOutbound();
try
{
@@ -211,10 +211,15 @@ public class SSLSender implements Sender
flush();
synchronized(_sslStatus.getSslLock())
{
+ if (_sslStatus.getSslErrorFlag())
+ {
+ break;
+ }
+
switch (engine.getHandshakeStatus())
{
case NEED_UNWRAP:
- long start = System.currentTimeMillis();
+ final long start = System.currentTimeMillis();
try
{
_sslStatus.getSslLock().wait(timeout);
@@ -224,10 +229,10 @@ public class SSLSender implements Sender
// pass
}
- if (System.currentTimeMillis()- start >= timeout)
+ if (!_sslStatus.getSslErrorFlag() && System.currentTimeMillis() - start >= timeout)
{
throw new SenderException(
- "SSL Engine timed out waiting for a response." +
+ "SSL Engine timed out after waiting " + timeout + "ms. for a response." +
"To get more info,run with -Djavax.net.debug=ssl");
}
break;
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org