GUACAMOLE-38: Remove default protocol and port, throw errors if not specified.
Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/8c130215 Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/8c130215 Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/8c130215 Branch: refs/heads/master Commit: 8c130215f49c862819b3dfca219403db296a3a18 Parents: 84e71a0 Author: Nick Couchman <vn...@apache.org> Authored: Mon May 21 09:56:50 2018 -0400 Committer: Nick Couchman <vn...@apache.org> Committed: Fri Jun 1 13:40:53 2018 -0400 ---------------------------------------------------------------------- .../auth/quickconnect/utility/QCParser.java | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/8c130215/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/utility/QCParser.java ---------------------------------------------------------------------- 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 60b4b9c..2810f1d 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 @@ -42,17 +42,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. */ private static final Pattern userinfoPattern = Pattern.compile("(^[^:]+):?(.*)"); @@ -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()) {