From a5af6c00d249ffc7d5c50414541545e53cad3f4c Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Mon, 25 Jul 2016 14:10:54 -0700 Subject: [PATCH] GUACAMOLE-5: Throw clean "resource not found" if the active connection of a tunnel cannot be determined. --- .../org/apache/guacamole/rest/tunnel/TunnelResource.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/tunnel/TunnelResource.java b/guacamole/src/main/java/org/apache/guacamole/rest/tunnel/TunnelResource.java index 6583a0774..b49852778 100644 --- a/guacamole/src/main/java/org/apache/guacamole/rest/tunnel/TunnelResource.java +++ b/guacamole/src/main/java/org/apache/guacamole/rest/tunnel/TunnelResource.java @@ -30,6 +30,7 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import org.apache.guacamole.GuacamoleException; +import org.apache.guacamole.GuacamoleResourceNotFoundException; import org.apache.guacamole.net.auth.ActiveConnection; import org.apache.guacamole.net.auth.UserContext; import org.apache.guacamole.rest.activeconnection.APIActiveConnection; @@ -96,10 +97,14 @@ public class TunnelResource { // Pull the UserContext from the tunnel UserContext userContext = tunnel.getUserContext(); + // Fail if the active connection cannot be found + ActiveConnection activeConnection = tunnel.getActiveConnection(); + if (activeConnection == null) + throw new GuacamoleResourceNotFoundException("No readable active connection for tunnel."); + // Return the associated ActiveConnection as a resource return activeConnectionResourceFactory.create(userContext, - userContext.getActiveConnectionDirectory(), - tunnel.getActiveConnection()); + userContext.getActiveConnectionDirectory(), activeConnection); }