diff --git a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/websocket/tomcat/AuthenticatingWebSocketServlet.java b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/websocket/tomcat/AuthenticatingWebSocketServlet.java index 5e794680a..a669c16b2 100644 --- a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/websocket/tomcat/AuthenticatingWebSocketServlet.java +++ b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/websocket/tomcat/AuthenticatingWebSocketServlet.java @@ -20,6 +20,7 @@ package org.glyptodon.guacamole.net.basic.websocket.tomcat; */ import java.io.IOException; +import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -107,6 +108,19 @@ public abstract class AuthenticatingWebSocketServlet extends WebSocketServlet { } + @Override + protected String selectSubProtocol(List subProtocols) { + + // Search for expected protocol + for (String protocol : subProtocols) + if ("guacamole".equals(protocol)) + return "guacamole"; + + // Otherwise, fail + return null; + + } + @Override public StreamInbound createWebSocketInbound(String protocol, HttpServletRequest request) {