diff --git a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/utility/QCParser.java b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/utility/QCParser.java index 60b4b9cb0..2810f1d8b 100644 --- a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/utility/QCParser.java +++ b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/utility/QCParser.java @@ -41,17 +41,6 @@ import org.apache.guacamole.protocol.GuacamoleConfiguration; */ public class QCParser { - /** - * The default protocol to use if one is not provided in - * the incoming URI. - */ - public static final String DEFAULT_URI_PROTOCOL = "ssh"; - - /** - * The default host to use if one is not defined. - */ - public static final String DEFAULT_URI_HOST = "localhost"; - /** * The regex to use to split username and password. */ @@ -89,6 +78,8 @@ public class QCParser { URI qcUri; try { qcUri = new URI(uri); + if (!qcUri.isAbsolute()) + throw new GuacamoleClientException("URI must be absolute."); } catch (URISyntaxException e) { throw new GuacamoleClientException("Invalid URI Syntax", e); @@ -108,7 +99,7 @@ public class QCParser { if (protocol != null && !protocol.isEmpty()) qcConfig.setProtocol(protocol); else - qcConfig.setProtocol(DEFAULT_URI_PROTOCOL); + throw new GuacamoleClientException("No protocol specified."); // Check for provided port number if (port > 0) @@ -118,7 +109,7 @@ public class QCParser { if (host != null && !host.isEmpty()) qcConfig.setParameter("hostname", host); else - qcConfig.setParameter("hostname", DEFAULT_URI_HOST); + throw new GuacamoleClientException("No host specified."); // Look for extra query parameters and parse them out. if (query != null && !query.isEmpty()) {