Author: markt
Date: Fri Apr 27 12:20:48 2018
New Revision: 1830336
URL: http://svn.apache.org/viewvc?rev=1830336&view=rev
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=62332
Ensure WebSocket connections are closed after an I/O error is experienced
reading from the client.
Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java
tomcat/trunk/webapps/docs/changelog.xml
Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java?rev=1830336&r1=1830335&r2=1830336&view=diff
==============================================================================
---
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java
(original)
+++
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java
Fri Apr 27 12:20:48 2018
@@ -147,22 +147,14 @@ public class WsHttpUpgradeHandler implem
try {
return wsFrame.notifyDataAvailable();
} catch (WsIOException ws) {
- CloseReason cr = ws.getCloseReason();
- close(cr);
- // If the close was abnormal, close the socket.
- // Don't wait for a close response from the client that
- // might never arrive.
- if (cr.getCloseCode() == CloseCodes.CLOSED_ABNORMALLY) {
- return SocketState.CLOSED;
- }
+ close(ws.getCloseReason());
} catch (IOException ioe) {
onError(ioe);
CloseReason cr = new CloseReason(
CloseCodes.CLOSED_ABNORMALLY, ioe.getMessage());
close(cr);
- return SocketState.CLOSED;
}
- break;
+ return SocketState.CLOSED;
case OPEN_WRITE:
wsRemoteEndpointServer.onWritePossible(false);
break;
Modified: tomcat/trunk/webapps/docs/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1830336&r1=1830335&r2=1830336&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Fri Apr 27 12:20:48 2018
@@ -136,6 +136,10 @@
that didn't correctly handle a final empty message part in all
circumstances when using <code>PerMessageDeflate</code>. (markt)
</fix>
+ <fix>
+ <bug>62332</bug>: Ensure WebSocket connections are closed after an I/O
+ error is experienced reading from the client. (markt)
+ </fix>
</changelog>
</subsection>
</section>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]