diff --git a/guacamole-common/src/main/java/org/apache/guacamole/websocket/GuacamoleWebSocketTunnelEndpoint.java b/guacamole-common/src/main/java/org/apache/guacamole/websocket/GuacamoleWebSocketTunnelEndpoint.java index e0aa44224..e5943ebf3 100644 --- a/guacamole-common/src/main/java/org/apache/guacamole/websocket/GuacamoleWebSocketTunnelEndpoint.java +++ b/guacamole-common/src/main/java/org/apache/guacamole/websocket/GuacamoleWebSocketTunnelEndpoint.java @@ -198,6 +198,7 @@ public abstract class GuacamoleWebSocketTunnelEndpoint extends Endpoint { } catch (IOException e) { logger.debug("I/O error prevents further reads.", e); + closeConnection(session, GuacamoleStatus.SERVER_ERROR); } } diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java index 933ff654f..8f7e39e6d 100644 --- a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java @@ -185,6 +185,7 @@ public abstract class GuacamoleWebSocketTunnelServlet extends WebSocketServlet { } catch (IOException e) { logger.debug("WebSocket tunnel read failed due to I/O error.", e); + closeConnection(connection, GuacamoleStatus.SERVER_ERROR); } } diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/GuacamoleWebSocketTunnelListener.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/GuacamoleWebSocketTunnelListener.java index 89105fc99..3224f8975 100644 --- a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/GuacamoleWebSocketTunnelListener.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/GuacamoleWebSocketTunnelListener.java @@ -176,6 +176,7 @@ public abstract class GuacamoleWebSocketTunnelListener implements WebSocketListe } catch (IOException e) { logger.debug("I/O error prevents further reads.", e); + closeConnection(session, GuacamoleStatus.SERVER_ERROR); } } diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java index 1b9098f9b..498167570 100644 --- a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java @@ -213,6 +213,7 @@ public abstract class GuacamoleWebSocketTunnelServlet extends WebSocketServlet { } catch (IOException e) { logger.debug("I/O error prevents further reads.", e); + closeConnection(outbound, GuacamoleStatus.SERVER_ERROR); } }