diff --git a/guacamole/src/main/java/org/apache/guacamole/BasicServletContextListener.java b/guacamole/src/main/java/org/apache/guacamole/GuacamoleServletContextListener.java similarity index 90% rename from guacamole/src/main/java/org/apache/guacamole/BasicServletContextListener.java rename to guacamole/src/main/java/org/apache/guacamole/GuacamoleServletContextListener.java index 96fab8578..ea5f61ae0 100644 --- a/guacamole/src/main/java/org/apache/guacamole/BasicServletContextListener.java +++ b/guacamole/src/main/java/org/apache/guacamole/GuacamoleServletContextListener.java @@ -22,18 +22,18 @@ package org.apache.guacamole; +import org.apache.guacamole.tunnel.TunnelModule; import com.google.inject.Guice; import com.google.inject.Injector; import com.google.inject.Stage; import com.google.inject.servlet.GuiceServletContextListener; import javax.servlet.ServletContextEvent; -import org.apache.guacamole.GuacamoleException; import org.apache.guacamole.environment.Environment; import org.apache.guacamole.environment.LocalEnvironment; import org.apache.guacamole.extension.ExtensionModule; import org.apache.guacamole.log.LogModule; import org.apache.guacamole.rest.RESTServiceModule; -import org.apache.guacamole.rest.auth.BasicTokenSessionMap; +import org.apache.guacamole.rest.auth.HashTokenSessionMap; import org.apache.guacamole.rest.auth.TokenSessionMap; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -44,12 +44,12 @@ import org.slf4j.LoggerFactory; * * @author James Muehlner */ -public class BasicServletContextListener extends GuiceServletContextListener { +public class GuacamoleServletContextListener extends GuiceServletContextListener { /** * Logger for this class. */ - private final Logger logger = LoggerFactory.getLogger(BasicServletContextListener.class); + private final Logger logger = LoggerFactory.getLogger(GuacamoleServletContextListener.class); /** * The Guacamole server environment. @@ -66,7 +66,7 @@ public class BasicServletContextListener extends GuiceServletContextListener { try { environment = new LocalEnvironment(); - sessionMap = new BasicTokenSessionMap(environment); + sessionMap = new HashTokenSessionMap(environment); } catch (GuacamoleException e) { logger.error("Unable to read guacamole.properties: {}", e.getMessage()); diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/auth/BasicTokenSessionMap.java b/guacamole/src/main/java/org/apache/guacamole/rest/auth/HashTokenSessionMap.java similarity index 97% rename from guacamole/src/main/java/org/apache/guacamole/rest/auth/BasicTokenSessionMap.java rename to guacamole/src/main/java/org/apache/guacamole/rest/auth/HashTokenSessionMap.java index 9486122ed..a362c691e 100644 --- a/guacamole/src/main/java/org/apache/guacamole/rest/auth/BasicTokenSessionMap.java +++ b/guacamole/src/main/java/org/apache/guacamole/rest/auth/HashTokenSessionMap.java @@ -42,12 +42,12 @@ import org.slf4j.LoggerFactory; * * @author James Muehlner */ -public class BasicTokenSessionMap implements TokenSessionMap { +public class HashTokenSessionMap implements TokenSessionMap { /** * Logger for this class. */ - private static final Logger logger = LoggerFactory.getLogger(BasicTokenSessionMap.class); + private static final Logger logger = LoggerFactory.getLogger(HashTokenSessionMap.class); /** * Executor service which runs the period session eviction task. @@ -78,7 +78,7 @@ public class BasicTokenSessionMap implements TokenSessionMap { * @param environment * The environment to use when configuring the token session map. */ - public BasicTokenSessionMap(Environment environment) { + public HashTokenSessionMap(Environment environment) { int sessionTimeoutValue; diff --git a/guacamole/src/main/java/org/apache/guacamole/TunnelLoader.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelLoader.java similarity index 97% rename from guacamole/src/main/java/org/apache/guacamole/TunnelLoader.java rename to guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelLoader.java index 756c6dd49..2e58d95d7 100644 --- a/guacamole/src/main/java/org/apache/guacamole/TunnelLoader.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelLoader.java @@ -20,7 +20,7 @@ * THE SOFTWARE. */ -package org.apache.guacamole; +package org.apache.guacamole.tunnel; import com.google.inject.Module; diff --git a/guacamole/src/main/java/org/apache/guacamole/TunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelModule.java similarity index 95% rename from guacamole/src/main/java/org/apache/guacamole/TunnelModule.java rename to guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelModule.java index e7c105c04..331184fdc 100644 --- a/guacamole/src/main/java/org/apache/guacamole/TunnelModule.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelModule.java @@ -20,8 +20,9 @@ * THE SOFTWARE. */ -package org.apache.guacamole; +package org.apache.guacamole.tunnel; +import org.apache.guacamole.tunnel.http.RestrictedGuacamoleHTTPTunnelServlet; import com.google.inject.servlet.ServletModule; import java.lang.reflect.InvocationTargetException; import org.slf4j.Logger; @@ -95,7 +96,7 @@ public class TunnelModule extends ServletModule { bind(TunnelRequestService.class); // Set up HTTP tunnel - serve("/tunnel").with(BasicGuacamoleTunnelServlet.class); + serve("/tunnel").with(RestrictedGuacamoleHTTPTunnelServlet.class); // Try to load each WebSocket tunnel in sequence for (String classname : WEBSOCKET_MODULES) { diff --git a/guacamole/src/main/java/org/apache/guacamole/TunnelRequest.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequest.java similarity index 98% rename from guacamole/src/main/java/org/apache/guacamole/TunnelRequest.java rename to guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequest.java index 622e2f0c3..e210dedc6 100644 --- a/guacamole/src/main/java/org/apache/guacamole/TunnelRequest.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequest.java @@ -20,10 +20,12 @@ * THE SOFTWARE. */ -package org.apache.guacamole; +package org.apache.guacamole.tunnel; import java.util.List; import org.apache.guacamole.GuacamoleClientException; +import org.apache.guacamole.GuacamoleClientException; +import org.apache.guacamole.GuacamoleException; import org.apache.guacamole.GuacamoleException; /** diff --git a/guacamole/src/main/java/org/apache/guacamole/TunnelRequestService.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequestService.java similarity index 98% rename from guacamole/src/main/java/org/apache/guacamole/TunnelRequestService.java rename to guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequestService.java index d78fddeba..3607b3d95 100644 --- a/guacamole/src/main/java/org/apache/guacamole/TunnelRequestService.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequestService.java @@ -20,13 +20,17 @@ * THE SOFTWARE. */ -package org.apache.guacamole; +package org.apache.guacamole.tunnel; import com.google.inject.Inject; import com.google.inject.Singleton; import java.util.List; import org.apache.guacamole.GuacamoleException; +import org.apache.guacamole.GuacamoleException; import org.apache.guacamole.GuacamoleSecurityException; +import org.apache.guacamole.GuacamoleSecurityException; +import org.apache.guacamole.GuacamoleSession; +import org.apache.guacamole.GuacamoleUnauthorizedException; import org.apache.guacamole.GuacamoleUnauthorizedException; import org.apache.guacamole.net.DelegatingGuacamoleTunnel; import org.apache.guacamole.net.GuacamoleTunnel; diff --git a/guacamole/src/main/java/org/apache/guacamole/HTTPTunnelRequest.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/http/HTTPTunnelRequest.java similarity index 97% rename from guacamole/src/main/java/org/apache/guacamole/HTTPTunnelRequest.java rename to guacamole/src/main/java/org/apache/guacamole/tunnel/http/HTTPTunnelRequest.java index 9edc45a9b..072c7921c 100644 --- a/guacamole/src/main/java/org/apache/guacamole/HTTPTunnelRequest.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/http/HTTPTunnelRequest.java @@ -20,7 +20,7 @@ * THE SOFTWARE. */ -package org.apache.guacamole; +package org.apache.guacamole.tunnel.http; import java.util.ArrayList; import java.util.Arrays; @@ -28,6 +28,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; +import org.apache.guacamole.tunnel.TunnelRequest; /** * HTTP-specific implementation of TunnelRequest. diff --git a/guacamole/src/main/java/org/apache/guacamole/BasicGuacamoleTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/http/RestrictedGuacamoleHTTPTunnelServlet.java similarity index 89% rename from guacamole/src/main/java/org/apache/guacamole/BasicGuacamoleTunnelServlet.java rename to guacamole/src/main/java/org/apache/guacamole/tunnel/http/RestrictedGuacamoleHTTPTunnelServlet.java index 7ebbd7fc2..986c6846e 100644 --- a/guacamole/src/main/java/org/apache/guacamole/BasicGuacamoleTunnelServlet.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/http/RestrictedGuacamoleHTTPTunnelServlet.java @@ -20,12 +20,14 @@ * THE SOFTWARE. */ -package org.apache.guacamole; +package org.apache.guacamole.tunnel.http; import com.google.inject.Inject; import com.google.inject.Singleton; import javax.servlet.http.HttpServletRequest; import org.apache.guacamole.GuacamoleException; +import org.apache.guacamole.GuacamoleException; +import org.apache.guacamole.tunnel.TunnelRequestService; import org.apache.guacamole.net.GuacamoleTunnel; import org.apache.guacamole.servlet.GuacamoleHTTPTunnelServlet; import org.slf4j.Logger; @@ -38,7 +40,7 @@ import org.slf4j.LoggerFactory; * @author Michael Jumper */ @Singleton -public class BasicGuacamoleTunnelServlet extends GuacamoleHTTPTunnelServlet { +public class RestrictedGuacamoleHTTPTunnelServlet extends GuacamoleHTTPTunnelServlet { /** * Service for handling tunnel requests. @@ -49,7 +51,7 @@ public class BasicGuacamoleTunnelServlet extends GuacamoleHTTPTunnelServlet { /** * Logger for this class. */ - private static final Logger logger = LoggerFactory.getLogger(BasicGuacamoleTunnelServlet.class); + private static final Logger logger = LoggerFactory.getLogger(RestrictedGuacamoleHTTPTunnelServlet.class); @Override protected GuacamoleTunnel doConnect(HttpServletRequest request) throws GuacamoleException { diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/http/package-info.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/http/package-info.java new file mode 100644 index 000000000..6b732e2d0 --- /dev/null +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/http/package-info.java @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2014 Glyptodon LLC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +/** + * Classes which leverage Guacamole's built-in HTTP tunnel implementation. + */ +package org.apache.guacamole.tunnel.http; + diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/package-info.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/package-info.java new file mode 100644 index 000000000..b06f8e490 --- /dev/null +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/package-info.java @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2014 Glyptodon LLC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +/** + * Classes which are common to all tunnel implementations. + */ +package org.apache.guacamole.tunnel; + diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/BasicGuacamoleWebSocketTunnelEndpoint.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/RestrictedGuacamoleWebSocketTunnelEndpoint.java similarity index 93% rename from guacamole/src/main/java/org/apache/guacamole/websocket/BasicGuacamoleWebSocketTunnelEndpoint.java rename to guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/RestrictedGuacamoleWebSocketTunnelEndpoint.java index 744608a88..09b7487d7 100644 --- a/guacamole/src/main/java/org/apache/guacamole/websocket/BasicGuacamoleWebSocketTunnelEndpoint.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/RestrictedGuacamoleWebSocketTunnelEndpoint.java @@ -20,7 +20,7 @@ * THE SOFTWARE. */ -package org.apache.guacamole.websocket; +package org.apache.guacamole.tunnel.websocket; import com.google.inject.Provider; import java.util.Map; @@ -31,15 +31,16 @@ import javax.websocket.server.HandshakeRequest; import javax.websocket.server.ServerEndpointConfig; import org.apache.guacamole.GuacamoleException; import org.apache.guacamole.net.GuacamoleTunnel; -import org.apache.guacamole.TunnelRequest; -import org.apache.guacamole.TunnelRequestService; +import org.apache.guacamole.tunnel.TunnelRequest; +import org.apache.guacamole.tunnel.TunnelRequestService; +import org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint; import org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint; /** * Tunnel implementation which uses WebSocket as a tunnel backend, rather than * HTTP, properly parsing connection IDs included in the connection request. */ -public class BasicGuacamoleWebSocketTunnelEndpoint extends GuacamoleWebSocketTunnelEndpoint { +public class RestrictedGuacamoleWebSocketTunnelEndpoint extends GuacamoleWebSocketTunnelEndpoint { /** * Unique string which shall be used to store the TunnelRequest diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/WebSocketTunnelModule.java similarity index 88% rename from guacamole/src/main/java/org/apache/guacamole/websocket/WebSocketTunnelModule.java rename to guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/WebSocketTunnelModule.java index bfa265927..9183b4df9 100644 --- a/guacamole/src/main/java/org/apache/guacamole/websocket/WebSocketTunnelModule.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/WebSocketTunnelModule.java @@ -20,7 +20,7 @@ * THE SOFTWARE. */ -package org.apache.guacamole.websocket; +package org.apache.guacamole.tunnel.websocket; import com.google.inject.Provider; import com.google.inject.servlet.ServletModule; @@ -28,8 +28,8 @@ import java.util.Arrays; import javax.websocket.DeploymentException; import javax.websocket.server.ServerContainer; import javax.websocket.server.ServerEndpointConfig; -import org.apache.guacamole.TunnelLoader; -import org.apache.guacamole.TunnelRequestService; +import org.apache.guacamole.tunnel.TunnelLoader; +import org.apache.guacamole.tunnel.TunnelRequestService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -84,8 +84,8 @@ public class WebSocketTunnelModule extends ServletModule implements TunnelLoader // Build configuration for WebSocket tunnel ServerEndpointConfig config = - ServerEndpointConfig.Builder.create(BasicGuacamoleWebSocketTunnelEndpoint.class, "/websocket-tunnel") - .configurator(new BasicGuacamoleWebSocketTunnelEndpoint.Configurator(tunnelRequestServiceProvider)) + ServerEndpointConfig.Builder.create(RestrictedGuacamoleWebSocketTunnelEndpoint.class, "/websocket-tunnel") + .configurator(new RestrictedGuacamoleWebSocketTunnelEndpoint.Configurator(tunnelRequestServiceProvider)) .subprotocols(Arrays.asList(new String[]{"guacamole"})) .build(); diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/WebSocketTunnelRequest.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/WebSocketTunnelRequest.java similarity index 95% rename from guacamole/src/main/java/org/apache/guacamole/websocket/WebSocketTunnelRequest.java rename to guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/WebSocketTunnelRequest.java index 5e20dbd7b..e5d424d12 100644 --- a/guacamole/src/main/java/org/apache/guacamole/websocket/WebSocketTunnelRequest.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/WebSocketTunnelRequest.java @@ -20,12 +20,12 @@ * THE SOFTWARE. */ -package org.apache.guacamole.websocket; +package org.apache.guacamole.tunnel.websocket; import java.util.List; import java.util.Map; import javax.websocket.server.HandshakeRequest; -import org.apache.guacamole.TunnelRequest; +import org.apache.guacamole.tunnel.TunnelRequest; /** * WebSocket-specific implementation of TunnelRequest. diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java similarity index 98% rename from guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java rename to guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java index 832faee38..619c60641 100644 --- a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java @@ -20,7 +20,7 @@ * THE SOFTWARE. */ -package org.apache.guacamole.websocket.jetty8; +package org.apache.guacamole.tunnel.websocket.jetty8; import java.io.IOException; import javax.servlet.http.HttpServletRequest; @@ -33,8 +33,8 @@ import org.eclipse.jetty.websocket.WebSocket.Connection; import org.eclipse.jetty.websocket.WebSocketServlet; import org.apache.guacamole.GuacamoleClientException; import org.apache.guacamole.GuacamoleConnectionClosedException; -import org.apache.guacamole.HTTPTunnelRequest; -import org.apache.guacamole.TunnelRequest; +import org.apache.guacamole.tunnel.http.HTTPTunnelRequest; +import org.apache.guacamole.tunnel.TunnelRequest; import org.apache.guacamole.protocol.GuacamoleStatus; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/BasicGuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/RestrictedGuacamoleWebSocketTunnelServlet.java similarity index 87% rename from guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/BasicGuacamoleWebSocketTunnelServlet.java rename to guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/RestrictedGuacamoleWebSocketTunnelServlet.java index f993270cb..b7a82b98c 100644 --- a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/BasicGuacamoleWebSocketTunnelServlet.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/RestrictedGuacamoleWebSocketTunnelServlet.java @@ -20,14 +20,14 @@ * THE SOFTWARE. */ -package org.apache.guacamole.websocket.jetty8; +package org.apache.guacamole.tunnel.websocket.jetty8; import com.google.inject.Inject; import com.google.inject.Singleton; import org.apache.guacamole.GuacamoleException; import org.apache.guacamole.net.GuacamoleTunnel; -import org.apache.guacamole.TunnelRequestService; -import org.apache.guacamole.TunnelRequest; +import org.apache.guacamole.tunnel.TunnelRequestService; +import org.apache.guacamole.tunnel.TunnelRequest; /** * Tunnel servlet implementation which uses WebSocket as a tunnel backend, @@ -35,7 +35,7 @@ import org.apache.guacamole.TunnelRequest; * request. */ @Singleton -public class BasicGuacamoleWebSocketTunnelServlet extends GuacamoleWebSocketTunnelServlet { +public class RestrictedGuacamoleWebSocketTunnelServlet extends GuacamoleWebSocketTunnelServlet { /** * Service for handling tunnel requests. diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/WebSocketTunnelModule.java similarity index 91% rename from guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/WebSocketTunnelModule.java rename to guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/WebSocketTunnelModule.java index 16c17a19a..79a09db8c 100644 --- a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/WebSocketTunnelModule.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/WebSocketTunnelModule.java @@ -20,10 +20,10 @@ * THE SOFTWARE. */ -package org.apache.guacamole.websocket.jetty8; +package org.apache.guacamole.tunnel.websocket.jetty8; import com.google.inject.servlet.ServletModule; -import org.apache.guacamole.TunnelLoader; +import org.apache.guacamole.tunnel.TunnelLoader; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -66,7 +66,7 @@ public class WebSocketTunnelModule extends ServletModule implements TunnelLoader public void configureServlets() { logger.info("Loading Jetty 8 WebSocket support..."); - serve("/websocket-tunnel").with(BasicGuacamoleWebSocketTunnelServlet.class); + serve("/websocket-tunnel").with(RestrictedGuacamoleWebSocketTunnelServlet.class); } diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/package-info.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/package-info.java similarity index 95% rename from guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/package-info.java rename to guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/package-info.java index 584892e71..85e575885 100644 --- a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/package-info.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/package-info.java @@ -23,5 +23,5 @@ /** * Jetty 8 WebSocket tunnel implementation. The classes here require Jetty 8. */ -package org.apache.guacamole.websocket.jetty8; +package org.apache.guacamole.tunnel.websocket.jetty8; diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/GuacamoleWebSocketTunnelListener.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/GuacamoleWebSocketTunnelListener.java similarity index 98% rename from guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/GuacamoleWebSocketTunnelListener.java rename to guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/GuacamoleWebSocketTunnelListener.java index 368913d30..4d118fb56 100644 --- a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/GuacamoleWebSocketTunnelListener.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/GuacamoleWebSocketTunnelListener.java @@ -20,7 +20,7 @@ * THE SOFTWARE. */ -package org.apache.guacamole.websocket.jetty9; +package org.apache.guacamole.tunnel.websocket.jetty9; import java.io.IOException; import org.eclipse.jetty.websocket.api.CloseStatus; @@ -52,7 +52,7 @@ public abstract class GuacamoleWebSocketTunnelListener implements WebSocketListe /** * Logger for this class. */ - private static final Logger logger = LoggerFactory.getLogger(BasicGuacamoleWebSocketTunnelServlet.class); + private static final Logger logger = LoggerFactory.getLogger(RestrictedGuacamoleWebSocketTunnelServlet.class); /** * The underlying GuacamoleTunnel. WebSocket reads/writes will be handled diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketCreator.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketCreator.java similarity index 86% rename from guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketCreator.java rename to guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketCreator.java index 9528509ea..c15215d79 100644 --- a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketCreator.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketCreator.java @@ -20,12 +20,12 @@ * THE SOFTWARE. */ -package org.apache.guacamole.websocket.jetty9; +package org.apache.guacamole.tunnel.websocket.jetty9; import org.eclipse.jetty.websocket.api.UpgradeRequest; import org.eclipse.jetty.websocket.api.UpgradeResponse; import org.eclipse.jetty.websocket.servlet.WebSocketCreator; -import org.apache.guacamole.TunnelRequestService; +import org.apache.guacamole.tunnel.TunnelRequestService; /** * WebSocketCreator which selects the appropriate WebSocketListener @@ -33,7 +33,7 @@ import org.apache.guacamole.TunnelRequestService; * * @author Michael Jumper */ -public class BasicGuacamoleWebSocketCreator implements WebSocketCreator { +public class RestrictedGuacamoleWebSocketCreator implements WebSocketCreator { /** * Service for handling tunnel requests. @@ -47,7 +47,7 @@ public class BasicGuacamoleWebSocketCreator implements WebSocketCreator { * @param tunnelRequestService The service to use for inbound tunnel * requests. */ - public BasicGuacamoleWebSocketCreator(TunnelRequestService tunnelRequestService) { + public RestrictedGuacamoleWebSocketCreator(TunnelRequestService tunnelRequestService) { this.tunnelRequestService = tunnelRequestService; } @@ -59,7 +59,7 @@ public class BasicGuacamoleWebSocketCreator implements WebSocketCreator { if ("guacamole".equals(subprotocol)) { response.setAcceptedSubProtocol(subprotocol); - return new BasicGuacamoleWebSocketTunnelListener(tunnelRequestService); + return new RestrictedGuacamoleWebSocketTunnelListener(tunnelRequestService); } } diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketTunnelListener.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketTunnelListener.java similarity index 87% rename from guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketTunnelListener.java rename to guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketTunnelListener.java index 2c2e91c48..f24663d4d 100644 --- a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketTunnelListener.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketTunnelListener.java @@ -20,12 +20,12 @@ * THE SOFTWARE. */ -package org.apache.guacamole.websocket.jetty9; +package org.apache.guacamole.tunnel.websocket.jetty9; import org.eclipse.jetty.websocket.api.Session; import org.apache.guacamole.GuacamoleException; import org.apache.guacamole.net.GuacamoleTunnel; -import org.apache.guacamole.TunnelRequestService; +import org.apache.guacamole.tunnel.TunnelRequestService; /** * WebSocket listener implementation which properly parses connection IDs @@ -33,7 +33,7 @@ import org.apache.guacamole.TunnelRequestService; * * @author Michael Jumper */ -public class BasicGuacamoleWebSocketTunnelListener extends GuacamoleWebSocketTunnelListener { +public class RestrictedGuacamoleWebSocketTunnelListener extends GuacamoleWebSocketTunnelListener { /** * Service for handling tunnel requests. @@ -47,7 +47,7 @@ public class BasicGuacamoleWebSocketTunnelListener extends GuacamoleWebSocketTun * @param tunnelRequestService The service to use for inbound tunnel * requests. */ - public BasicGuacamoleWebSocketTunnelListener(TunnelRequestService tunnelRequestService) { + public RestrictedGuacamoleWebSocketTunnelListener(TunnelRequestService tunnelRequestService) { this.tunnelRequestService = tunnelRequestService; } diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketTunnelServlet.java similarity index 85% rename from guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketTunnelServlet.java rename to guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketTunnelServlet.java index f16558d9d..84b25b918 100644 --- a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketTunnelServlet.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketTunnelServlet.java @@ -20,13 +20,13 @@ * THE SOFTWARE. */ -package org.apache.guacamole.websocket.jetty9; +package org.apache.guacamole.tunnel.websocket.jetty9; import com.google.inject.Inject; import com.google.inject.Singleton; import org.eclipse.jetty.websocket.servlet.WebSocketServlet; import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory; -import org.apache.guacamole.TunnelRequestService; +import org.apache.guacamole.tunnel.TunnelRequestService; /** * A WebSocketServlet partial re-implementation of GuacamoleTunnelServlet. @@ -34,7 +34,7 @@ import org.apache.guacamole.TunnelRequestService; * @author Michael Jumper */ @Singleton -public class BasicGuacamoleWebSocketTunnelServlet extends WebSocketServlet { +public class RestrictedGuacamoleWebSocketTunnelServlet extends WebSocketServlet { /** * Service for handling tunnel requests. @@ -46,7 +46,7 @@ public class BasicGuacamoleWebSocketTunnelServlet extends WebSocketServlet { public void configure(WebSocketServletFactory factory) { // Register WebSocket implementation - factory.setCreator(new BasicGuacamoleWebSocketCreator(tunnelRequestService)); + factory.setCreator(new RestrictedGuacamoleWebSocketCreator(tunnelRequestService)); } diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelModule.java similarity index 91% rename from guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/WebSocketTunnelModule.java rename to guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelModule.java index aa6279768..3477894e5 100644 --- a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/WebSocketTunnelModule.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelModule.java @@ -20,10 +20,10 @@ * THE SOFTWARE. */ -package org.apache.guacamole.websocket.jetty9; +package org.apache.guacamole.tunnel.websocket.jetty9; import com.google.inject.servlet.ServletModule; -import org.apache.guacamole.TunnelLoader; +import org.apache.guacamole.tunnel.TunnelLoader; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -66,7 +66,7 @@ public class WebSocketTunnelModule extends ServletModule implements TunnelLoader public void configureServlets() { logger.info("Loading Jetty 9 WebSocket support..."); - serve("/websocket-tunnel").with(BasicGuacamoleWebSocketTunnelServlet.class); + serve("/websocket-tunnel").with(RestrictedGuacamoleWebSocketTunnelServlet.class); } diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/WebSocketTunnelRequest.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelRequest.java similarity index 95% rename from guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/WebSocketTunnelRequest.java rename to guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelRequest.java index 4625be3ff..56c7726d6 100644 --- a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/WebSocketTunnelRequest.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelRequest.java @@ -20,13 +20,13 @@ * THE SOFTWARE. */ -package org.apache.guacamole.websocket.jetty9; +package org.apache.guacamole.tunnel.websocket.jetty9; import java.util.Arrays; import java.util.List; import java.util.Map; import org.eclipse.jetty.websocket.api.UpgradeRequest; -import org.apache.guacamole.TunnelRequest; +import org.apache.guacamole.tunnel.TunnelRequest; /** * Jetty 9 WebSocket-specific implementation of TunnelRequest. diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/package-info.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/package-info.java similarity index 95% rename from guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/package-info.java rename to guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/package-info.java index 9b46c789d..13f2f0bb2 100644 --- a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/package-info.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/package-info.java @@ -24,5 +24,5 @@ * Jetty 9 WebSocket tunnel implementation. The classes here require at least * Jetty 9, prior to Jetty 9.1 (when support for JSR 356 was implemented). */ -package org.apache.guacamole.websocket.jetty9; +package org.apache.guacamole.tunnel.websocket.jetty9; diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/package-info.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/package-info.java similarity index 96% rename from guacamole/src/main/java/org/apache/guacamole/websocket/package-info.java rename to guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/package-info.java index b478bff3e..2c273a501 100644 --- a/guacamole/src/main/java/org/apache/guacamole/websocket/package-info.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/package-info.java @@ -24,5 +24,5 @@ * Standard WebSocket tunnel implementation. The classes here require a recent * servlet container that supports JSR 356. */ -package org.apache.guacamole.websocket; +package org.apache.guacamole.tunnel.websocket; diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java similarity index 98% rename from guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java rename to guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java index 29275842b..ff1775c5a 100644 --- a/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java @@ -20,7 +20,7 @@ * THE SOFTWARE. */ -package org.apache.guacamole.websocket.tomcat; +package org.apache.guacamole.tunnel.websocket.tomcat; import java.io.IOException; import java.io.InputStream; @@ -38,8 +38,8 @@ import org.apache.catalina.websocket.WebSocketServlet; import org.apache.catalina.websocket.WsOutbound; import org.apache.guacamole.GuacamoleClientException; import org.apache.guacamole.GuacamoleConnectionClosedException; -import org.apache.guacamole.HTTPTunnelRequest; -import org.apache.guacamole.TunnelRequest; +import org.apache.guacamole.tunnel.http.HTTPTunnelRequest; +import org.apache.guacamole.tunnel.TunnelRequest; import org.apache.guacamole.protocol.GuacamoleStatus; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/BasicGuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/RestrictedGuacamoleWebSocketTunnelServlet.java similarity index 87% rename from guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/BasicGuacamoleWebSocketTunnelServlet.java rename to guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/RestrictedGuacamoleWebSocketTunnelServlet.java index 73843e8c8..3e0b4e6f2 100644 --- a/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/BasicGuacamoleWebSocketTunnelServlet.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/RestrictedGuacamoleWebSocketTunnelServlet.java @@ -20,14 +20,14 @@ * THE SOFTWARE. */ -package org.apache.guacamole.websocket.tomcat; +package org.apache.guacamole.tunnel.websocket.tomcat; import com.google.inject.Inject; import com.google.inject.Singleton; import org.apache.guacamole.GuacamoleException; import org.apache.guacamole.net.GuacamoleTunnel; -import org.apache.guacamole.TunnelRequestService; -import org.apache.guacamole.TunnelRequest; +import org.apache.guacamole.tunnel.TunnelRequestService; +import org.apache.guacamole.tunnel.TunnelRequest; /** * Tunnel servlet implementation which uses WebSocket as a tunnel backend, @@ -35,7 +35,7 @@ import org.apache.guacamole.TunnelRequest; * request. */ @Singleton -public class BasicGuacamoleWebSocketTunnelServlet extends GuacamoleWebSocketTunnelServlet { +public class RestrictedGuacamoleWebSocketTunnelServlet extends GuacamoleWebSocketTunnelServlet { /** * Service for handling tunnel requests. diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/WebSocketTunnelModule.java similarity index 91% rename from guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/WebSocketTunnelModule.java rename to guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/WebSocketTunnelModule.java index 85caf1b00..1b553b91a 100644 --- a/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/WebSocketTunnelModule.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/WebSocketTunnelModule.java @@ -20,10 +20,10 @@ * THE SOFTWARE. */ -package org.apache.guacamole.websocket.tomcat; +package org.apache.guacamole.tunnel.websocket.tomcat; import com.google.inject.servlet.ServletModule; -import org.apache.guacamole.TunnelLoader; +import org.apache.guacamole.tunnel.TunnelLoader; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -66,7 +66,7 @@ public class WebSocketTunnelModule extends ServletModule implements TunnelLoader public void configureServlets() { logger.info("Loading Tomcat 7 WebSocket support..."); - serve("/websocket-tunnel").with(BasicGuacamoleWebSocketTunnelServlet.class); + serve("/websocket-tunnel").with(RestrictedGuacamoleWebSocketTunnelServlet.class); } diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/package-info.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/package-info.java similarity index 96% rename from guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/package-info.java rename to guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/package-info.java index 7083a3e2d..cacd13b4c 100644 --- a/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/package-info.java +++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/package-info.java @@ -25,5 +25,5 @@ * Tomcat 7.0, and may change significantly as there is no common WebSocket * API for Java yet. */ -package org.apache.guacamole.websocket.tomcat; +package org.apache.guacamole.tunnel.websocket.tomcat; diff --git a/guacamole/src/main/webapp/WEB-INF/web.xml b/guacamole/src/main/webapp/WEB-INF/web.xml index 6e105f825..b2681973d 100644 --- a/guacamole/src/main/webapp/WEB-INF/web.xml +++ b/guacamole/src/main/webapp/WEB-INF/web.xml @@ -42,7 +42,7 @@ - org.apache.guacamole.BasicServletContextListener + org.apache.guacamole.GuacamoleServletContextListener