From 43919e56239bfad26908d4eb257b459fe5818121 Mon Sep 17 00:00:00 2001 From: Nick Couchman Date: Sun, 25 Mar 2018 15:02:16 -0400 Subject: [PATCH] GUACAMOLE-38: Tweak to regex and correct behavior of matcher. --- .../guacamole/auth/quickconnect/utility/QCParser.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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 6bd043517..d67d7efc3 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); + } }