diff --git a/guacamole/.gitignore b/guacamole/.gitignore
index 2f7896d1d..42f4a1a64 100644
--- a/guacamole/.gitignore
+++ b/guacamole/.gitignore
@@ -1 +1,2 @@
target/
+*~
diff --git a/guacamole/src/main/java/net/sourceforge/guacamole/net/authentication/basic/BasicFileAuthenticationProvider.java b/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/BasicFileAuthenticationProvider.java
similarity index 99%
rename from guacamole/src/main/java/net/sourceforge/guacamole/net/authentication/basic/BasicFileAuthenticationProvider.java
rename to guacamole/src/main/java/net/sourceforge/guacamole/net/basic/BasicFileAuthenticationProvider.java
index 380d7ed42..f81503f3c 100644
--- a/guacamole/src/main/java/net/sourceforge/guacamole/net/authentication/basic/BasicFileAuthenticationProvider.java
+++ b/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/BasicFileAuthenticationProvider.java
@@ -1,5 +1,5 @@
-package net.sourceforge.guacamole.net.authentication.basic;
+package net.sourceforge.guacamole.net.basic;
/*
* Guacamole - Clientless Remote Desktop
diff --git a/guacamole/src/main/java/net/sourceforge/guacamole/net/authentication/basic/BasicGuacamoleClientProvider.java b/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/BasicGuacamoleTunnelServlet.java
similarity index 64%
rename from guacamole/src/main/java/net/sourceforge/guacamole/net/authentication/basic/BasicGuacamoleClientProvider.java
rename to guacamole/src/main/java/net/sourceforge/guacamole/net/basic/BasicGuacamoleTunnelServlet.java
index dfd9b384b..08c5b150b 100644
--- a/guacamole/src/main/java/net/sourceforge/guacamole/net/authentication/basic/BasicGuacamoleClientProvider.java
+++ b/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/BasicGuacamoleTunnelServlet.java
@@ -1,12 +1,4 @@
-
-package net.sourceforge.guacamole.net.authentication.basic;
-
-import javax.servlet.http.HttpSession;
-import net.sourceforge.guacamole.GuacamoleTCPClient;
-import net.sourceforge.guacamole.GuacamoleException;
-import net.sourceforge.guacamole.net.Configuration;
-import net.sourceforge.guacamole.net.GuacamoleProperties;
-import net.sourceforge.guacamole.net.authentication.GuacamoleClientProvider;
+package net.sourceforge.guacamole.net.basic;
/*
* Guacamole - Clientless Remote Desktop
@@ -26,12 +18,26 @@ import net.sourceforge.guacamole.net.authentication.GuacamoleClientProvider;
* along with this program. If not, see .
*/
-public class BasicGuacamoleClientProvider implements GuacamoleClientProvider {
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+import net.sourceforge.guacamole.GuacamoleException;
+import net.sourceforge.guacamole.GuacamoleTCPClient;
+import net.sourceforge.guacamole.net.Configuration;
+import net.sourceforge.guacamole.net.GuacamoleProperties;
+import net.sourceforge.guacamole.net.GuacamoleSession;
+import net.sourceforge.guacamole.net.tunnel.GuacamoleTunnelServlet;
- public GuacamoleTCPClient createClient(HttpSession session) throws GuacamoleException {
+public class BasicGuacamoleTunnelServlet extends GuacamoleTunnelServlet {
+
+ @Override
+ protected void doConnect(HttpServletRequest request, HttpServletResponse response) throws GuacamoleException {
+
+ // Session must already exist from login
+ HttpSession httpSession = request.getSession(false);
// Retrieve authorized config data from session
- Configuration config = (Configuration) session.getAttribute("BASIC-LOGIN-AUTH");
+ Configuration config = (Configuration) httpSession.getAttribute("BASIC-LOGIN-AUTH");
// If no data, not authorized
if (config == null)
@@ -43,9 +49,11 @@ public class BasicGuacamoleClientProvider implements GuacamoleClientProvider {
GuacamoleTCPClient client = new GuacamoleTCPClient(hostname, port);
client.connect(config);
- // Return authorized session
- return client;
+ // Set client for session
+ GuacamoleSession session = new GuacamoleSession(httpSession);
+ session.attachClient(client);
}
}
+
diff --git a/guacamole/src/main/java/net/sourceforge/guacamole/net/authentication/basic/BasicLogin.java b/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/BasicLogin.java
similarity index 98%
rename from guacamole/src/main/java/net/sourceforge/guacamole/net/authentication/basic/BasicLogin.java
rename to guacamole/src/main/java/net/sourceforge/guacamole/net/basic/BasicLogin.java
index 8347202ac..8b12d49b9 100644
--- a/guacamole/src/main/java/net/sourceforge/guacamole/net/authentication/basic/BasicLogin.java
+++ b/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/BasicLogin.java
@@ -1,5 +1,5 @@
-package net.sourceforge.guacamole.net.authentication.basic;
+package net.sourceforge.guacamole.net.basic;
/*
* Guacamole - Clientless Remote Desktop
diff --git a/guacamole/src/main/webapp/WEB-INF/web.xml b/guacamole/src/main/webapp/WEB-INF/web.xml
index c7cbc9fb6..bf0e6c62a 100644
--- a/guacamole/src/main/webapp/WEB-INF/web.xml
+++ b/guacamole/src/main/webapp/WEB-INF/web.xml
@@ -26,41 +26,26 @@
30
-
+
+
- Connect servlet.
- Connect
- net.sourceforge.guacamole.net.tunnel.Connect
+ Tunnel servlet.
+ Tunnel
+ net.sourceforge.guacamole.net.basic.BasicGuacamoleTunnelServlet
- Connect
- /connect
+ Tunnel
+ /tunnel
-
- Outbound servlet.
- Outbound
- net.sourceforge.guacamole.net.tunnel.Outbound
-
-
- Outbound
- /outbound
-
-
- Input servlet.
- Inbound
- net.sourceforge.guacamole.net.tunnel.Inbound
-
-
- Inbound
- /inbound
-
-
+
+
BasicLogin
- net.sourceforge.guacamole.net.authentication.basic.BasicLogin
+ net.sourceforge.guacamole.net.basic.BasicLogin
BasicLogin
/login
+
diff --git a/guacamole/src/main/webapp/index.html b/guacamole/src/main/webapp/index.html
index 926fb9ca4..47d0e9b83 100644
--- a/guacamole/src/main/webapp/index.html
+++ b/guacamole/src/main/webapp/index.html
@@ -178,7 +178,7 @@
window.onresize();
// Instantiate client
- var guac = new GuacamoleClient(display);
+ var guac = new GuacamoleClient(display, "tunnel");
var state = document.getElementById("state");
guac.setOnStateChangeHandler(function(clientState) {