GUACAMOLE-38: Tweak to regex and correct behavior of matcher.
Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/43919e56 Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/43919e56 Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/43919e56 Branch: refs/heads/master Commit: 43919e56239bfad26908d4eb257b459fe5818121 Parents: 16130b3 Author: Nick Couchman <vn...@apache.org> Authored: Sun Mar 25 15:02:16 2018 -0400 Committer: Nick Couchman <vn...@apache.org> Committed: Fri Jun 1 13:40:51 2018 -0400 ---------------------------------------------------------------------- .../apache/guacamole/auth/quickconnect/utility/QCParser.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/43919e56/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 6bd0435..d67d7ef 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 @@ -49,7 +49,7 @@ public class QCParser { /** * The regex to use to split username and password. */ - private static final Pattern userinfoPattern = Pattern.compile("(^[^:]+):(.*)"); + private static final Pattern userinfoPattern = Pattern.compile("(^[^:]+):?(.*)"); /** * The regex group of the username. @@ -107,8 +107,10 @@ public class QCParser { if (userInfo != null && !userInfo.equals("")) { Matcher userinfoMatcher = userinfoPattern.matcher(userInfo); - username = userinfoMatcher.group(USERNAME_GROUP); - password = userinfoMatcher.group(PASSWORD_GROUP); + if (userinfoMatcher.matches()) { + username = userinfoMatcher.group(USERNAME_GROUP); + password = userinfoMatcher.group(PASSWORD_GROUP); + } }