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 2016/01/12 13:40:54 UTC
svn commit: r1724216 -
/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnectionTLSDelegate.java
Author: kwall
Date: Tue Jan 12 12:40:54 2016
New Revision: 1724216
URL: http://svn.apache.org/viewvc?rev=1724216&view=rev
Log:
QPID-6975: Prevent an open connection spinning on the selector after an SSL close_notify
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnectionTLSDelegate.java
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnectionTLSDelegate.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnectionTLSDelegate.java?rev=1724216&r1=1724215&r2=1724216&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnectionTLSDelegate.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnectionTLSDelegate.java Tue Jan 12 12:40:54 2016
@@ -77,7 +77,7 @@ public class NonBlockingConnectionTLSDel
@Override
public boolean readyForRead()
{
- return _sslEngine.getHandshakeStatus() != SSLEngineResult.HandshakeStatus.NEED_WRAP && (_status == null || _status.getStatus() != SSLEngineResult.Status.CLOSED);
+ return _sslEngine.getHandshakeStatus() != SSLEngineResult.HandshakeStatus.NEED_WRAP;
}
@Override
@@ -95,8 +95,10 @@ public class NonBlockingConnectionTLSDel
_status = _netInputBuffer.decryptSSL(_sslEngine, _applicationBuffer);
if (_status.getStatus() == SSLEngineResult.Status.CLOSED)
{
- // KW If SSLEngine changes state to CLOSED, what will ever set _closed to true?
- LOGGER.debug("SSLEngine closed");
+ int remaining = _netInputBuffer.remaining();
+ _netInputBuffer.position(_netInputBuffer.limit());
+ // We'd usually expect no more bytes to be sent following a close_notify
+ LOGGER.debug("SSLEngine closed, discarded {} byte(s)", remaining);
}
tasksRun = runSSLEngineTasks(_status);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org