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);
+            }
 
         }
 

Reply via email to