[32/50] guacamole-client git commit: GUACAMOLE-38: Fix use of superclass methods.

2018-06-03 Thread mjumper
GUACAMOLE-38: Fix use of superclass methods.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/6dad254c
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/6dad254c
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/6dad254c

Branch: refs/heads/master
Commit: 6dad254c14dcd8ee1e4781c09089668f9ddba0a3
Parents: f563925
Author: Nick Couchman 
Authored: Sat May 12 07:44:09 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../guacamole/auth/quickconnect/QuickConnectionGroup.java | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/6dad254c/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectionGroup.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectionGroup.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectionGroup.java
index 8419cf0..b087c35 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectionGroup.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectionGroup.java
@@ -54,9 +54,10 @@ public class QuickConnectionGroup extends 
AbstractConnectionGroup {
  */
 public QuickConnectionGroup(String name, String identifier) {
 
-setName(name);
-setIdentifier(identifier);
-setType(ConnectionGroup.Type.ORGANIZATIONAL);
+super();
+super.setName(name);
+super.setIdentifier(identifier);
+super.setType(ConnectionGroup.Type.ORGANIZATIONAL);
 
 }
 



[14/50] guacamole-client git commit: GUACAMOLE-38: Make placeholder translatable.

2018-06-03 Thread mjumper
GUACAMOLE-38: Make placeholder translatable.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/c50d3725
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/c50d3725
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/c50d3725

Branch: refs/heads/master
Commit: c50d372517167d2ed9e9386fba0807c99622b777
Parents: da363f8
Author: Nick Couchman 
Authored: Sat Mar 24 22:18:01 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 .../src/main/resources/templates/quickconnectField.html  | 2 +-
 .../src/main/resources/translations/en.json  | 4 
 2 files changed, 5 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/c50d3725/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
 
b/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
index d9b5a4d..114f59a 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
@@ -2,7 +2,7 @@
 
 
 
-
+
 
 
 Connect

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/c50d3725/extensions/guacamole-auth-quickconnect/src/main/resources/translations/en.json
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/resources/translations/en.json
 
b/extensions/guacamole-auth-quickconnect/src/main/resources/translations/en.json
index b080d4b..1f7bb3d 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/resources/translations/en.json
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/resources/translations/en.json
@@ -2,6 +2,10 @@
 
 "DATA_SOURCE_QUICKCONNECT" : {
 "NAME" : "QuickConnect"
+},
+
+"QUICKCONNECT" : {
+"FIELD_PLACEHOLDER_URI" : "Enter Connection URI"
 }
 
 }



[35/50] guacamole-client git commit: GUACAMOLE-38: Add unit test for query string parser.

2018-06-03 Thread mjumper
GUACAMOLE-38: Add unit test for query string parser.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/aabc871d
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/aabc871d
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/aabc871d

Branch: refs/heads/master
Commit: aabc871d7d05c4db1f4e3906e6a8c93b0fc9a30b
Parents: 1011845
Author: Nick Couchman 
Authored: Thu Apr 19 08:55:24 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 extensions/guacamole-auth-quickconnect/pom.xml  |  8 
 .../auth/quickconnect/utility/QCParser.java |  2 +-
 .../auth/quickconnect/utility/QCParserTest.java | 49 
 3 files changed, 58 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/aabc871d/extensions/guacamole-auth-quickconnect/pom.xml
--
diff --git a/extensions/guacamole-auth-quickconnect/pom.xml 
b/extensions/guacamole-auth-quickconnect/pom.xml
index e8d0440..b2fd922 100644
--- a/extensions/guacamole-auth-quickconnect/pom.xml
+++ b/extensions/guacamole-auth-quickconnect/pom.xml
@@ -193,6 +193,14 @@
 provided
 
 
+
+
+junit
+junit
+4.10
+test
+
+
 
 
 

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/aabc871d/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 4924619..c8e954a 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
@@ -167,7 +167,7 @@ public class QCParser {
  * @throws UnsupportedEncodingException
  * If Java lacks UTF-8 support.
  */
-private static Map parseQueryString(String queryStr)
+public static Map parseQueryString(String queryStr)
 throws UnsupportedEncodingException {
 
 // Split the query string into the pairs

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/aabc871d/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java
 
b/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java
new file mode 100644
index 000..5567ea3
--- /dev/null
+++ 
b/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.guacamole.auth.quickconnect.utility;
+
+import java.io.UnsupportedEncodingException;
+import java.util.HashMap;
+import java.util.Map;
+import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+
+/**
+ * Class to test methods in the QCParser utility class.
+ */
+public class QCParserTest {
+
+/**
+ * Verify that the parseQueryString() method functions as designed.
+ */
+@Test
+public void testParseQueryString() throws UnsupportedEncodingException {
+
+final String queryString = 
"param1=value1¶m2=value2=3¶m3=value%3D3¶m4=value%264";
+Map queryMap = QCParser.parseQueryString(queryString);
+
+assertEquals("value1", queryMap.get("param1"));
+assertEquals("value2=3"

[04/50] guacamole-client git commit: GUACAMOLE-38: Update to 0.9.14 and remove incubating references.

2018-06-03 Thread mjumper
GUACAMOLE-38: Update to 0.9.14 and remove incubating references.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/039c5120
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/039c5120
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/039c5120

Branch: refs/heads/master
Commit: 039c5120dfcba506141b6be0a34c154e8537ce2a
Parents: fc63007
Author: Nick Couchman 
Authored: Mon Jan 1 16:53:31 2018 -0500
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:50 2018 -0400

--
 extensions/guacamole-auth-quickconnect/pom.xml| 6 +++---
 .../guacamole-auth-quickconnect/src/licenses/DISCLAIMER   | 7 ---
 .../src/main/resources/guac-manifest.json | 2 +-
 3 files changed, 4 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/039c5120/extensions/guacamole-auth-quickconnect/pom.xml
--
diff --git a/extensions/guacamole-auth-quickconnect/pom.xml 
b/extensions/guacamole-auth-quickconnect/pom.xml
index fdf04c7..87ee7bd 100644
--- a/extensions/guacamole-auth-quickconnect/pom.xml
+++ b/extensions/guacamole-auth-quickconnect/pom.xml
@@ -26,9 +26,9 @@
 org.apache.guacamole
 guacamole-auth-quickconnect
 jar
-0.9.13-incubating
+0.9.14
 guacamole-auth-quickconnect
-http://guacamole.incubator.apache.org/
+http://guacamole.apache.org/
 
 
 UTF-8
@@ -181,7 +181,7 @@
 
 org.apache.guacamole
 guacamole-ext
-0.9.13-incubating
+0.9.14
 provided
 
 

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/039c5120/extensions/guacamole-auth-quickconnect/src/licenses/DISCLAIMER
--
diff --git a/extensions/guacamole-auth-quickconnect/src/licenses/DISCLAIMER 
b/extensions/guacamole-auth-quickconnect/src/licenses/DISCLAIMER
deleted file mode 100644
index 1a9c3be..000
--- a/extensions/guacamole-auth-quickconnect/src/licenses/DISCLAIMER
+++ /dev/null
@@ -1,7 +0,0 @@
-Apache Guacamole is an effort undergoing incubation at The Apache Software
-Foundation (ASF). Incubation is required of all newly accepted projects until a
-further review indicates that the infrastructure, communications, and decision
-making process have stabilized in a manner consistent with other successful ASF
-projects. While incubation status is not necessarily a reflection of the
-completeness or stability of the code, it does indicate that the project has
-yet to be fully endorsed by the ASF.

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/039c5120/extensions/guacamole-auth-quickconnect/src/main/resources/guac-manifest.json
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/resources/guac-manifest.json 
b/extensions/guacamole-auth-quickconnect/src/main/resources/guac-manifest.json
index 46fad88..62dd3bb 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/resources/guac-manifest.json
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/resources/guac-manifest.json
@@ -1,5 +1,5 @@
 {
-"guacamoleVersion" : "0.9.13-incubating",
+"guacamoleVersion" : "0.9.14",
 
 "name" : "Adhoc Guacamole Connections",
 "namespace": "quickconnect",



[17/50] guacamole-client git commit: GUACAMOLE-38: Make class public for consistency with other classes.

2018-06-03 Thread mjumper
GUACAMOLE-38: Make class public for consistency with other classes.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/da363f84
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/da363f84
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/da363f84

Branch: refs/heads/master
Commit: da363f845e9d20be2d99c9b8355462570f0df7f9
Parents: 8ed356a
Author: Nick Couchman 
Authored: Sat Mar 24 22:11:24 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 .../guacamole/auth/quickconnect/QuickConnectConnectionGroup.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/da363f84/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
index 4faab1c..2f37e08 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
@@ -35,7 +35,7 @@ import 
org.apache.guacamole.protocol.GuacamoleClientInformation;
  * for temporarily storing the QuickConnections created by
  * users.
  */
-class QuickConnectConnectionGroup extends AbstractConnectionGroup {
+public class QuickConnectConnectionGroup extends AbstractConnectionGroup {
 
 /**
  * The connection identifiers for this group.



[28/50] guacamole-client git commit: GUACAMOLE-38: Break userInfo parsing into its own function, and properly decode username and password.

2018-06-03 Thread mjumper
GUACAMOLE-38: Break userInfo parsing into its own function, and properly decode 
username and password.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/aafc4359
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/aafc4359
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/aafc4359

Branch: refs/heads/master
Commit: aafc4359c812c1cf90b4c5d373c56cd4ceb2e5f6
Parents: 6dad254
Author: Nick Couchman 
Authored: Mon May 14 10:12:17 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../auth/quickconnect/utility/QCParser.java | 55 
 1 file changed, 46 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/aafc4359/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 9601e1c..2c0b6dc 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
@@ -136,18 +136,18 @@ public class QCParser {
 // Look for the username and password and parse them out.
 if (userInfo != null && !userInfo.isEmpty()) {
 
-Matcher userinfoMatcher = userinfoPattern.matcher(userInfo);
-if (userinfoMatcher.matches()) {
-String username = userinfoMatcher.group(USERNAME_GROUP);
-String password = userinfoMatcher.group(PASSWORD_GROUP);
+try {
+Map userInfoParams = parseUserInfo(userInfo);
 
-if (username != null && !username.isEmpty())
-qcConfig.setParameter("username", username);
+if (userInfoParams.containsKey("username"))
+qcConfig.setParameter("username", 
userInfoParams.get("username"));
 
-if (password != null && !password.isEmpty())
-qcConfig.setParameter("password", password);
+if (userInfoParams.containsKey("password"))
+qcConfig.setParameter("password", 
userInfoParams.get("password"));
+}
+catch (UnsupportedEncodingException e) {
+throw new GuacamoleServerException("Unexpected lack of UTF-8 
encoding support.", e);
 }
-
 }
 
 return qcConfig;
@@ -185,6 +185,43 @@ public class QCParser {
 }
 
 /**
+ * Parse the given string for username and password values,
+ * and return a map containing the username, password
+ * or both.
+ *
+ * @param userInfo
+ * The string to parse for username/password values.
+ * 
+ * @return
+ * A map with the username, password, or both.
+ *
+ * @throws UnsupportedEncodingException
+ * If Java lacks UTF-8 support.
+ */
+public static Map parseUserInfo(String userInfo)
+throws UnsupportedEncodingException {
+
+Map userInfoMap = new HashMap();
+Matcher userinfoMatcher = userinfoPattern.matcher(userInfo);
+
+if (userinfoMatcher.matches()) {
+String username = URLDecoder.decode(
+userinfoMatcher.group(USERNAME_GROUP), "UTF-8");
+String password = URLDecoder.decode(
+userinfoMatcher.group(PASSWORD_GROUP), "UTF-8");
+
+if (username != null && !username.isEmpty())
+userInfoMap.put("username", username);
+
+if (password != null && !password.isEmpty())
+userInfoMap.put("password", password);
+}
+
+return userInfoMap;
+
+}
+
+/**
  * Given a GuacamoleConfiguration object, generate a name
  * for the configuration based on the protocol, host, user
  * and port in the configuration, and return the string value.



[22/50] guacamole-client git commit: GUACAMOLE-38: Switch to regex for parsing username and password.

2018-06-03 Thread mjumper
GUACAMOLE-38: Switch to regex for parsing username and password.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/16130b32
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/16130b32
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/16130b32

Branch: refs/heads/master
Commit: 16130b32fef8a26a54af2d02015bf843a1b6266e
Parents: 9ab50a2
Author: Nick Couchman 
Authored: Sun Mar 25 09:09:34 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 .../auth/quickconnect/utility/QCParser.java | 31 +++-
 1 file changed, 24 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/16130b32/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 30121df..6bd0435 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
@@ -23,6 +23,8 @@ import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.Arrays;
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 import org.apache.guacamole.GuacamoleClientException;
 import org.apache.guacamole.GuacamoleException;
 import org.apache.guacamole.protocol.GuacamoleConfiguration;
@@ -45,6 +47,21 @@ public class QCParser {
 public static final String DEFAULT_URI_HOST = "localhost";
 
 /**
+ * The regex to use to split username and password.
+ */
+private static final Pattern userinfoPattern = 
Pattern.compile("(^[^:]+):(.*)");
+
+/**
+ * The regex group of the username.
+ */
+private static final int USERNAME_GROUP = 1;
+
+/**
+ * THe regex group of the password.
+ */
+private static final int PASSWORD_GROUP = 2;
+
+/**
  * Parse out a URI string and get a connection from that string,
  * or an exception if the parsing fails.
  *
@@ -88,11 +105,11 @@ public class QCParser {
 paramList = Arrays.asList(query.split("&"));
 
 if (userInfo != null && !userInfo.equals("")) {
-String[] authenticators = userInfo.split(":");
-if (authenticators.length > 0 && authenticators[0] != null)
-username = authenticators[0];
-if (authenticators.length > 1 && authenticators[1] != null)
-password = authenticators[1];
+
+Matcher userinfoMatcher = userinfoPattern.matcher(userInfo);
+username = userinfoMatcher.group(USERNAME_GROUP);
+password = userinfoMatcher.group(PASSWORD_GROUP);
+
 }
 
 GuacamoleConfiguration qcConfig = new GuacamoleConfiguration();
@@ -102,10 +119,10 @@ public class QCParser {
 if (port > 0)
 qcConfig.setParameter("port", Integer.toString(port));
 
-if (username != null)
+if (username != null && username.length() > 0)
 qcConfig.setParameter("username", username);
 
-if (password != null)
+if (password != null && password.length() > 0)
 qcConfig.setParameter("password", password);
 
 if (paramList != null) {



[36/50] guacamole-client git commit: GUACAMOLE-38: Rearrange logic in QCParser class.

2018-06-03 Thread mjumper
GUACAMOLE-38: Rearrange logic in QCParser class.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/2a9c7fe0
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/2a9c7fe0
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/2a9c7fe0

Branch: refs/heads/master
Commit: 2a9c7fe0b7dee1a409a96f32b6e155c63c62e917
Parents: 7df88cd
Author: Nick Couchman 
Authored: Wed May 9 08:40:55 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../auth/quickconnect/utility/QCParser.java | 59 ++--
 1 file changed, 29 insertions(+), 30 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/2a9c7fe0/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 1156ca5..9601e1c 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
@@ -85,6 +85,7 @@ public class QCParser {
 public static GuacamoleConfiguration getConfiguration(String uri)
 throws GuacamoleException {
 
+// Parse the URI object from provided string.
 URI qcUri;
 try {
 qcUri = new URI(uri);
@@ -100,22 +101,32 @@ public class QCParser {
 String userInfo = qcUri.getUserInfo();
 String query = qcUri.getQuery();
 
-String username = null;
-String password = null;
-Map queryParams = null;
+// Generate a new GuacamoleConfiguration
+GuacamoleConfiguration qcConfig = new GuacamoleConfiguration();
+
+// Check for provided protocol or use default
+if (protocol != null && !protocol.isEmpty())
+qcConfig.setProtocol(protocol);
+else
+qcConfig.setProtocol(DEFAULT_URI_PROTOCOL);
 
-// Assign default protocol if one is not found in the URI.
-if (protocol == null || protocol.isEmpty())
-protocol = DEFAULT_URI_PROTOCOL;
+// Check for provided port number
+if (port > 0)
+qcConfig.setParameter("port", Integer.toString(port));
 
-// Assign default host if one is not found in the URI.
-if (host == null || host.isEmpty())
-host = DEFAULT_URI_HOST;
+// Check for provided host or use default
+if (host != null && !host.isEmpty())
+qcConfig.setParameter("hostname", host);
+else
+qcConfig.setParameter("hostname", DEFAULT_URI_HOST);
 
 // Look for extra query parameters and parse them out.
 if (query != null && !query.isEmpty()) {
 try {
-queryParams = parseQueryString(query);
+Map queryParams = parseQueryString(query);
+if (queryParams != null)
+for (Map.Entry entry: 
queryParams.entrySet())
+qcConfig.setParameter(entry.getKey(), 
entry.getValue());
 }
 catch (UnsupportedEncodingException e) {
 throw new GuacamoleServerException("Unexpected lack of UTF-8 
encoding support.", e);
@@ -127,29 +138,17 @@ public class QCParser {
 
 Matcher userinfoMatcher = userinfoPattern.matcher(userInfo);
 if (userinfoMatcher.matches()) {
-username = userinfoMatcher.group(USERNAME_GROUP);
-password = userinfoMatcher.group(PASSWORD_GROUP);
-}
-
-}
-
-// Generate a new GuacamoleConfiguration and set parameters.
-GuacamoleConfiguration qcConfig = new GuacamoleConfiguration();
-qcConfig.setProtocol(protocol);
-qcConfig.setParameter("hostname",host);
-
-if (port > 0)
-qcConfig.setParameter("port", Integer.toString(port));
+String username = userinfoMatcher.group(USERNAME_GROUP);
+String password = userinfoMatcher.group(PASSWORD_GROUP);
 
-if (username != null && !username.isEmpty())
-qcConfig.setParameter("username", username);
+if (username != null && !username.isEmpty())
+qcConfig.setParameter("username", username);
 
-if (password != null && !password.isEmpty())
-qcConfig.setParameter("password", password);
+if (password != null && !password

[39/50] guacamole-client git commit: GUACAMOLE-38: Relocate the toolbar and restyle it.

2018-06-03 Thread mjumper
GUACAMOLE-38: Relocate the toolbar and restyle it.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/f563925a
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/f563925a
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/f563925a

Branch: refs/heads/master
Commit: f563925aa7a6d7716f783497d845028227b94afa
Parents: 56cc11e
Author: Nick Couchman 
Authored: Thu May 10 12:02:37 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../src/main/resources/styles/quickconnect.css  | 12 ++--
 .../src/main/resources/templates/quickconnectField.html |  4 ++--
 2 files changed, 12 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/f563925a/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
 
b/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
index bc9209d..2f11262 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
@@ -19,9 +19,9 @@
 
 
 .quickconnect-container {
-margin: 0.75em 0;
+margin: 0.25em 0;
 width: 100%;
-margin-left: 0.75em;
+margin-left: 0.50em;
 }
 
 .quickconnect-container .quickconnect-field {
@@ -42,4 +42,12 @@
 clear: both;
 float: right;
 margin-right: 0.75em;
+font-size: 0.75em;
+padding: 0.25em;
+}
+
+.quickconnect-list-item {
+vertical-align: middle;
+align-content: center;
+display: flex
 }

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/f563925a/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
 
b/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
index 30e8a90..6089965 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
@@ -1,5 +1,5 @@
-
-
+
+
 
 
 



[22/50] guacamole-client git commit: GUACAMOLE-38: Make placeholder translatable.

2018-06-03 Thread mjumper
GUACAMOLE-38: Make placeholder translatable.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/c50d3725
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/c50d3725
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/c50d3725

Branch: refs/heads/staging/1.0.0
Commit: c50d372517167d2ed9e9386fba0807c99622b777
Parents: da363f8
Author: Nick Couchman 
Authored: Sat Mar 24 22:18:01 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 .../src/main/resources/templates/quickconnectField.html  | 2 +-
 .../src/main/resources/translations/en.json  | 4 
 2 files changed, 5 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/c50d3725/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
 
b/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
index d9b5a4d..114f59a 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
@@ -2,7 +2,7 @@
 
 
 
-
+
 
 
 Connect

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/c50d3725/extensions/guacamole-auth-quickconnect/src/main/resources/translations/en.json
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/resources/translations/en.json
 
b/extensions/guacamole-auth-quickconnect/src/main/resources/translations/en.json
index b080d4b..1f7bb3d 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/resources/translations/en.json
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/resources/translations/en.json
@@ -2,6 +2,10 @@
 
 "DATA_SOURCE_QUICKCONNECT" : {
 "NAME" : "QuickConnect"
+},
+
+"QUICKCONNECT" : {
+"FIELD_PLACEHOLDER_URI" : "Enter Connection URI"
 }
 
 }



[40/50] guacamole-client git commit: GUACAMOLE-38: Updated AngularJS components for compatibility with 1.6.x.

2018-06-03 Thread mjumper
GUACAMOLE-38: Updated AngularJS components for compatibility with 1.6.x.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/201fbcd5
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/201fbcd5
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/201fbcd5

Branch: refs/heads/staging/1.0.0
Commit: 201fbcd5a5aeb0d6a98ddbc726f4aee775ae53f0
Parents: 6629451
Author: Nick Couchman 
Authored: Mon Apr 30 10:32:43 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../controllers/quickconnectController.js   | 34 
 .../resources/services/quickConnectService.js   | 11 ---
 2 files changed, 14 insertions(+), 31 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/201fbcd5/extensions/guacamole-auth-quickconnect/src/main/resources/controllers/quickconnectController.js
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/resources/controllers/quickconnectController.js
 
b/extensions/guacamole-auth-quickconnect/src/main/resources/controllers/quickconnectController.js
index 640034f..34c6780 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/resources/controllers/quickconnectController.js
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/resources/controllers/quickconnectController.js
@@ -20,28 +20,16 @@
 /**
  * The controller for making ad-hoc (quick) connections
  */
-angular.module('guacQuickConnect').controller('quickconnectController', 
['$scope', '$injector', '$log',
-function manageConnectionController($scope, $injector, $log) {
+angular.module('guacQuickConnect').controller('quickconnectController', 
['$scope', '$injector',
+function manageConnectionController($scope, $injector) {
 
 // Required types
 var ClientIdentifier= $injector.get('ClientIdentifier');
 
 // Required services
-var $location= $injector.get('$location');
-var guacNotification = $injector.get('guacNotification');
-var quickConnectService  = $injector.get('quickConnectService');
-
-/**
- * An action to be provided along with the object sent to showStatus which
- * closes the currently-shown status dialog.
- */
-var ACKNOWLEDGE_ACTION = {
-name: "MANAGE_CONNECTION.ACTION_ACKNOWLEDGE",
-// Handle action
-callback: function acknowledgeCallback() {
-guacNotification.showStatus(false);
-}
-};
+var $location= $injector.get('$location');
+var guacNotification = $injector.get('guacNotification');
+var quickConnectService  = $injector.get('quickConnectService');
 
 /**
  * The URI that will be passed in to the extension to create
@@ -56,21 +44,13 @@ 
angular.module('guacQuickConnect').controller('quickconnectController', ['$scope
 $scope.quickConnect = function quickConnect() {
 
 quickConnectService.createConnection($scope.uri)
-.success(function createdConnection(connectionId) {
+.then(function createdConnection(connectionId) {
 $location.url('/client/' + ClientIdentifier.toString({
 dataSource : 'quickconnect',
 type   : ClientIdentifier.Types.CONNECTION,
 id : connectionId
 }));
-})
-.error(function createFailed(error) {
-guacNotification.showStatus({
-'className'  : 'error',
-'title'  : 'MANAGE_CONNECTION.DIALOG_HEADER_ERROR',
-'text'   : error.translatableMessage,
-'actions': [ ACKNOWLEDGE_ACTION ]
-});
-});
+}, guacNotification.SHOW_REQUEST_ERROR);
 
 return;
 

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/201fbcd5/extensions/guacamole-auth-quickconnect/src/main/resources/services/quickConnectService.js
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/resources/services/quickConnectService.js
 
b/extensions/guacamole-auth-quickconnect/src/main/resources/services/quickConnectService.js
index 946e191..b5f9475 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/resources/services/quickConnectService.js
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/resources/services/quickConnectService.js
@@ -24,9 +24,9 @@ 
angular.module('guacQuickConnect').factory('quickConnectService', ['$injector',
 function quickConnectService($injector) {
 
 // Required services
-var $http = $injector.get('$http');
 var authenticationService = $injector.get('authen

[14/50] guacamole-client git commit: GUACAMOLE-38: Clean up lots of unnecessary code.

2018-06-03 Thread mjumper
GUACAMOLE-38: Clean up lots of unnecessary code.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/0cbf90a5
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/0cbf90a5
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/0cbf90a5

Branch: refs/heads/staging/1.0.0
Commit: 0cbf90a55df8c14eb80391bb97c831f5bb910e71
Parents: c994c5a
Author: Nick Couchman 
Authored: Tue Apr 17 22:10:25 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 .../QuickConnectConnectionGroup.java| 113 ---
 .../quickconnect/QuickConnectDirectory.java |  11 +-
 .../quickconnect/QuickConnectUserContext.java   |  15 +--
 .../auth/quickconnect/QuickConnection.java  |  87 --
 .../auth/quickconnect/QuickConnectionGroup.java | 113 +++
 5 files changed, 120 insertions(+), 219 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/0cbf90a5/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
deleted file mode 100644
index 2f37e08..000
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.guacamole.auth.quickconnect;
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.GuacamoleSecurityException;
-import org.apache.guacamole.net.GuacamoleTunnel;
-import org.apache.guacamole.net.auth.AbstractConnectionGroup;
-import org.apache.guacamole.net.auth.ConnectionGroup;
-import org.apache.guacamole.protocol.GuacamoleClientInformation;
-
-/**
- * Provides a very simple, single-level connection group used
- * for temporarily storing the QuickConnections created by
- * users.
- */
-public class QuickConnectConnectionGroup extends AbstractConnectionGroup {
-
-/**
- * The connection identifiers for this group.
- */
-private Set connectionIdentifiers;
-
-/**
- * Set up a QuickConnectConnectionGroup with a name and identifier, and
- * an empty set of child connections.
- *
- * @param name
- * The name of the QuickConnectConnectionGroup.
- *
- * @param identifier
- * The identifier of the QuickConnectConnectionGroup.
- */
-public QuickConnectConnectionGroup(String name, String identifier) {
-
-setName(name);
-setIdentifier(identifier);
-setType(ConnectionGroup.Type.ORGANIZATIONAL);
-
-this.connectionIdentifiers = new 
HashSet(Collections.emptyList());
-
-}
-
-/**
- * Add a connection identifier to this connection group, and
- * return the identifier if the add succeeds, else return null.
- *
- * @param identifier
- * The identifier of the connection to add to the group.
- *
- * @return
- * The String identifier of the connection if the add
- * operation was successful; otherwise null.
- */
-public String addConnectionIdentifier(String identifier) {
-if (connectionIdentifiers.add(identifier))
-return identifier;
-return null;
-}
-
-@Override
-public int getActiveConnections() {
-return 0;
-}
-
-@Override
-public Set getConnectionIdentifiers() {
-return connectionIdentifiers;
-}
-
-@Override
-public Set getConnectionGroupIdentifiers() {
-return Collections.emptySet();
-   

[34/50] guacamole-client git commit: GUACAMOLE-38: Break query string parsing into its own method.

2018-06-03 Thread mjumper
GUACAMOLE-38: Break query string parsing into its own method.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/10118450
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/10118450
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/10118450

Branch: refs/heads/master
Commit: 10118450321fde8931f755362589ae532fc5cbed
Parents: d9751f2
Author: Nick Couchman 
Authored: Thu Apr 19 07:20:51 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../auth/quickconnect/utility/QCParser.java | 62 ++--
 1 file changed, 45 insertions(+), 17 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/10118450/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 650d561..4924619 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
@@ -25,7 +25,9 @@ import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URLDecoder;
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import org.apache.guacamole.GuacamoleClientException;
@@ -104,7 +106,7 @@ public class QCParser {
 String query = qcUri.getQuery();
 String username = null;
 String password = null;
-List paramList = null;
+Map queryParams = null;
 
 if (protocol == null || protocol.isEmpty())
 protocol = DEFAULT_URI_PROTOCOL;
@@ -112,8 +114,14 @@ public class QCParser {
 if (host == null || host.isEmpty())
 host = DEFAULT_URI_HOST;
 
-if (query != null && !query.isEmpty())
-paramList = Arrays.asList(query.split("&"));
+if (query != null && !query.isEmpty()) {
+try {
+queryParams = parseQueryString(query);
+}
+catch (UnsupportedEncodingException e) {
+throw new GuacamoleServerException("Unexpected lack of UTF-8 
encoding support.", e);
+}
+}
 
 if (userInfo != null && !userInfo.isEmpty()) {
 
@@ -138,25 +146,45 @@ public class QCParser {
 if (password != null && !password.isEmpty())
 qcConfig.setParameter("password", password);
 
-if (paramList != null) {
-for (String parameter : paramList) {
-String[] paramArray = parameter.split("=", 2);
-try {
-qcConfig.setParameter(URLDecoder.decode(paramArray[0], 
"UTF-8"),
-  URLDecoder.decode(paramArray[1], 
"UTF-8"));
-}
-catch (UnsupportedEncodingException e) {
-logger.error("Unexpected lack of UTF-8 encoding support.");
-throw new GuacamoleServerException("Unexpected lack of 
UTF-8 encoding support.", e);
-}
-}
-}
+if (queryParams != null)
+for (Map.Entry entry : queryParams.entrySet())
+qcConfig.setParameter(entry.getKey(), entry.getValue());
 
 return qcConfig;
 
 }
 
 /**
+ * Parse the given string for parameter key/value pairs and return
+ * a map with the parameters.
+ *
+ * @param queryStr
+ * The query string to parse for the values.
+ *
+ * @return
+ * A map with the key/value pairs.
+ *
+ * @throws UnsupportedEncodingException
+ * If Java lacks UTF-8 support.
+ */
+private static Map parseQueryString(String queryStr)
+throws UnsupportedEncodingException {
+
+// Split the query string into the pairs
+List paramList = Arrays.asList(queryStr.split("&"));
+Map parameters = new HashMap();
+
+// Split into key/value pairs and decode
+for (String param : paramList) {
+String[] paramArray = param.split("=", 2);
+parameters.put(URLDecoder.decode(paramArray[0], "UTF-8"),
+   URLDecoder.decode(paramArray[1], "UTF-8"));
+}
+
+return parameters;
+}
+
+/**
  * Given a GuacamoleConfiguration object, generate a name
  * for the con

[27/50] guacamole-client git commit: GUACAMOLE-38: Updated AngularJS components for compatibility with 1.6.x.

2018-06-03 Thread mjumper
GUACAMOLE-38: Updated AngularJS components for compatibility with 1.6.x.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/201fbcd5
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/201fbcd5
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/201fbcd5

Branch: refs/heads/master
Commit: 201fbcd5a5aeb0d6a98ddbc726f4aee775ae53f0
Parents: 6629451
Author: Nick Couchman 
Authored: Mon Apr 30 10:32:43 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../controllers/quickconnectController.js   | 34 
 .../resources/services/quickConnectService.js   | 11 ---
 2 files changed, 14 insertions(+), 31 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/201fbcd5/extensions/guacamole-auth-quickconnect/src/main/resources/controllers/quickconnectController.js
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/resources/controllers/quickconnectController.js
 
b/extensions/guacamole-auth-quickconnect/src/main/resources/controllers/quickconnectController.js
index 640034f..34c6780 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/resources/controllers/quickconnectController.js
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/resources/controllers/quickconnectController.js
@@ -20,28 +20,16 @@
 /**
  * The controller for making ad-hoc (quick) connections
  */
-angular.module('guacQuickConnect').controller('quickconnectController', 
['$scope', '$injector', '$log',
-function manageConnectionController($scope, $injector, $log) {
+angular.module('guacQuickConnect').controller('quickconnectController', 
['$scope', '$injector',
+function manageConnectionController($scope, $injector) {
 
 // Required types
 var ClientIdentifier= $injector.get('ClientIdentifier');
 
 // Required services
-var $location= $injector.get('$location');
-var guacNotification = $injector.get('guacNotification');
-var quickConnectService  = $injector.get('quickConnectService');
-
-/**
- * An action to be provided along with the object sent to showStatus which
- * closes the currently-shown status dialog.
- */
-var ACKNOWLEDGE_ACTION = {
-name: "MANAGE_CONNECTION.ACTION_ACKNOWLEDGE",
-// Handle action
-callback: function acknowledgeCallback() {
-guacNotification.showStatus(false);
-}
-};
+var $location= $injector.get('$location');
+var guacNotification = $injector.get('guacNotification');
+var quickConnectService  = $injector.get('quickConnectService');
 
 /**
  * The URI that will be passed in to the extension to create
@@ -56,21 +44,13 @@ 
angular.module('guacQuickConnect').controller('quickconnectController', ['$scope
 $scope.quickConnect = function quickConnect() {
 
 quickConnectService.createConnection($scope.uri)
-.success(function createdConnection(connectionId) {
+.then(function createdConnection(connectionId) {
 $location.url('/client/' + ClientIdentifier.toString({
 dataSource : 'quickconnect',
 type   : ClientIdentifier.Types.CONNECTION,
 id : connectionId
 }));
-})
-.error(function createFailed(error) {
-guacNotification.showStatus({
-'className'  : 'error',
-'title'  : 'MANAGE_CONNECTION.DIALOG_HEADER_ERROR',
-'text'   : error.translatableMessage,
-'actions': [ ACKNOWLEDGE_ACTION ]
-});
-});
+}, guacNotification.SHOW_REQUEST_ERROR);
 
 return;
 

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/201fbcd5/extensions/guacamole-auth-quickconnect/src/main/resources/services/quickConnectService.js
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/resources/services/quickConnectService.js
 
b/extensions/guacamole-auth-quickconnect/src/main/resources/services/quickConnectService.js
index 946e191..b5f9475 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/resources/services/quickConnectService.js
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/resources/services/quickConnectService.js
@@ -24,9 +24,9 @@ 
angular.module('guacQuickConnect').factory('quickConnectService', ['$injector',
 function quickConnectService($injector) {
 
 // Required services
-var $http = $injector.get('$http');
 var authenticationService = $injector.get('authenticatio

[39/50] guacamole-client git commit: GUACAMOLE-38: Use ConcurrentHashMap for threadsafety.

2018-06-03 Thread mjumper
GUACAMOLE-38: Use ConcurrentHashMap for threadsafety.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/555b26ae
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/555b26ae
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/555b26ae

Branch: refs/heads/staging/1.0.0
Commit: 555b26ae1fd1584485ab6b85c0a55a350e035350
Parents: 201fbcd
Author: Nick Couchman 
Authored: Tue May 8 15:58:58 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../guacamole/auth/quickconnect/QuickConnectDirectory.java   | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/555b26ae/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
index 30d8683..5070ea6 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
@@ -19,7 +19,7 @@
 
 package org.apache.guacamole.auth.quickconnect;
 
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicInteger;
 import org.apache.guacamole.GuacamoleException;
@@ -45,7 +45,7 @@ public class QuickConnectDirectory extends 
SimpleDirectory {
  * The connections to store.
  */
 private final Map connections =
-new HashMap();
+new ConcurrentHashMap();
 
 /**
  * The root connection group for this directory.



[42/50] guacamole-client git commit: GUACAMOLE-38: Implement QuickConnectException for providing exceptions to the user.

2018-06-03 Thread mjumper
GUACAMOLE-38: Implement QuickConnectException for providing exceptions to the 
user.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/73020135
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/73020135
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/73020135

Branch: refs/heads/master
Commit: 730201358edb26ee27ab90f808fa72f146e0454b
Parents: 8c13021
Author: Nick Couchman 
Authored: Mon May 21 10:54:14 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:53 2018 -0400

--
 .../quickconnect/QuickConnectException.java | 86 
 .../auth/quickconnect/utility/QCParser.java | 13 ++-
 .../src/main/resources/translations/en.json |  6 ++
 3 files changed, 101 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/73020135/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectException.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectException.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectException.java
new file mode 100644
index 000..6e4d5b9
--- /dev/null
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectException.java
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.guacamole.auth.quickconnect;
+
+import org.apache.guacamole.GuacamoleClientException;
+import org.apache.guacamole.language.Translatable;
+import org.apache.guacamole.language.TranslatableMessage;
+
+/**
+ * An exception that is thrown by this extension when an error occurs
+ * attempting to create and establish a connection with a user-provided
+ * URI.
+ */
+public class QuickConnectException extends GuacamoleClientException
+implements Translatable {
+
+/**
+ * A message that can be passed through the translation service
+ * to provide information about the error that occurred.
+ */
+private final TranslatableMessage translatableMessage;
+
+/**
+ * Create a QuickConnectException with the given message and 
translationKey.
+ * The message will not be passed through the translation system; the
+ * translationKey will be passed through the translation system.  Both 
should
+ * describe the error.
+ * 
+ * @param message
+ * A string describing the error that occurred when trying to create
+ * or establish the connection.  This will not be passed through the
+ * translation system.
+ * 
+ * @param translationKey
+ * A key known to the translation system describing the error that 
+ * occurred when trying to create or establish the connection.
+ * This will be passed through the translation system to provide 
+ * a localized version of the message.
+ */
+public QuickConnectException(String message, String translationKey) {
+super(message);
+this.translatableMessage = new TranslatableMessage(translationKey);
+}
+
+/**
+ * Create a new QuickConnectException given the human-readable message,
+ * which will not be passed through the translation system, and the
+ * translatableMessage, which will be passed through the translation 
system.
+ * Both parameters should describe the error preventing the connection
+ * from being created or established.
+ * 
+ * @param message
+ * The human-readable message describing the error, which will not
+ * be passed through the translation system.
+ * 
+ * @param translatableMessage
+ * The human-readable message describing the error, which will be
+ * passed through the translation system.
+ */
+public QuickConnectException(Stri

[50/50] guacamole-client git commit: GUACAMOLE-38: Merge support for dynamically defining connections using URLs.

2018-06-03 Thread mjumper
GUACAMOLE-38: Merge support for dynamically defining connections using URLs.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/72bc8c01
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/72bc8c01
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/72bc8c01

Branch: refs/heads/staging/1.0.0
Commit: 72bc8c01a385fa04059b43e166d4a72ac4b6d8bb
Parents: 2fb377a 1438a51
Author: Michael Jumper 
Authored: Sun Jun 3 12:04:00 2018 -0700
Committer: Michael Jumper 
Committed: Sun Jun 3 12:04:00 2018 -0700

--
 extensions/guacamole-auth-quickconnect/pom.xml  | 206 +++
 .../src/licenses/LICENSE| 202 +++
 .../src/licenses/NOTICE |   5 +
 .../src/main/assembly/dist.xml  |  53 
 .../QuickConnectAuthenticationProvider.java |  48 
 .../quickconnect/QuickConnectDirectory.java | 122 +
 .../quickconnect/QuickConnectException.java |  86 +++
 .../quickconnect/QuickConnectUserContext.java   | 131 ++
 .../auth/quickconnect/QuickConnectionGroup.java | 117 +
 .../quickconnect/rest/QuickConnectREST.java |  82 ++
 .../auth/quickconnect/utility/QCParser.java | 256 +++
 .../controllers/quickconnectController.js   |  59 +
 .../src/main/resources/guac-manifest.json   |  31 +++
 .../src/main/resources/quickconnectModule.js|  28 ++
 .../resources/services/quickConnectService.js   |  69 +
 .../src/main/resources/styles/quickconnect.css  |  53 
 .../resources/templates/quickconnectField.html  |  11 +
 .../src/main/resources/translations/en.json |  18 ++
 .../auth/quickconnect/utility/QCParserTest.java | 122 +
 pom.xml |   1 +
 20 files changed, 1700 insertions(+)
--




[27/50] guacamole-client git commit: GUACAMOLE-38: Tweak style and translation issues.

2018-06-03 Thread mjumper
GUACAMOLE-38: Tweak style and translation issues.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/56cc11e1
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/56cc11e1
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/56cc11e1

Branch: refs/heads/staging/1.0.0
Commit: 56cc11e1b991a9885454d8954c61eb254e99496a
Parents: 2a9c7fe
Author: Nick Couchman 
Authored: Wed May 9 09:54:45 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../src/main/resources/styles/quickconnect.css   | 11 ++-
 .../src/main/resources/templates/quickconnectField.html  |  4 +++-
 .../src/main/resources/translations/en.json  |  1 +
 3 files changed, 10 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/56cc11e1/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
 
b/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
index ee0c2f5..bc9209d 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
@@ -19,26 +19,27 @@
 
 
 .quickconnect-container {
-margin: 0.5em 0;
+margin: 0.75em 0;
 width: 100%;
+margin-left: 0.75em;
 }
 
 .quickconnect-container .quickconnect-field {
 background-image: url('images/protocol-icons/guac-text.png');
 background-repeat: no-repeat;
-background-size: 1.75em;
+background-size: 1.50em;
 background-position: 0.25em center;
 background-color: transparent;
-padding: 0.5em;
-padding-left: 2.25em;
+padding: 0.25em;
+padding-left: 2.50em;
 width: 100%;
 max-width: none;
 border: 0;
-border-left: 1px solid rgba(0,0,0,0.125);
 box-sizing: border-box;
 }
 
 .quickconnect-button {
 clear: both;
 float: right;
+margin-right: 0.75em;
 }

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/56cc11e1/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
 
b/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
index 114f59a..30e8a90 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
@@ -5,5 +5,7 @@
 
 
 
-Connect
+
+{{'QUICKCONNECT.ACTION_CONNECT' | translate}}
+
 

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/56cc11e1/extensions/guacamole-auth-quickconnect/src/main/resources/translations/en.json
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/resources/translations/en.json
 
b/extensions/guacamole-auth-quickconnect/src/main/resources/translations/en.json
index 1f7bb3d..2c2dc8e 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/resources/translations/en.json
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/resources/translations/en.json
@@ -5,6 +5,7 @@
 },
 
 "QUICKCONNECT" : {
+"ACTION_CONNECT": "Connect",
 "FIELD_PLACEHOLDER_URI" : "Enter Connection URI"
 }
 



[26/50] guacamole-client git commit: GUACAMOLE-38: Rearrange logic in QCParser class.

2018-06-03 Thread mjumper
GUACAMOLE-38: Rearrange logic in QCParser class.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/2a9c7fe0
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/2a9c7fe0
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/2a9c7fe0

Branch: refs/heads/staging/1.0.0
Commit: 2a9c7fe0b7dee1a409a96f32b6e155c63c62e917
Parents: 7df88cd
Author: Nick Couchman 
Authored: Wed May 9 08:40:55 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../auth/quickconnect/utility/QCParser.java | 59 ++--
 1 file changed, 29 insertions(+), 30 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/2a9c7fe0/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 1156ca5..9601e1c 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
@@ -85,6 +85,7 @@ public class QCParser {
 public static GuacamoleConfiguration getConfiguration(String uri)
 throws GuacamoleException {
 
+// Parse the URI object from provided string.
 URI qcUri;
 try {
 qcUri = new URI(uri);
@@ -100,22 +101,32 @@ public class QCParser {
 String userInfo = qcUri.getUserInfo();
 String query = qcUri.getQuery();
 
-String username = null;
-String password = null;
-Map queryParams = null;
+// Generate a new GuacamoleConfiguration
+GuacamoleConfiguration qcConfig = new GuacamoleConfiguration();
+
+// Check for provided protocol or use default
+if (protocol != null && !protocol.isEmpty())
+qcConfig.setProtocol(protocol);
+else
+qcConfig.setProtocol(DEFAULT_URI_PROTOCOL);
 
-// Assign default protocol if one is not found in the URI.
-if (protocol == null || protocol.isEmpty())
-protocol = DEFAULT_URI_PROTOCOL;
+// Check for provided port number
+if (port > 0)
+qcConfig.setParameter("port", Integer.toString(port));
 
-// Assign default host if one is not found in the URI.
-if (host == null || host.isEmpty())
-host = DEFAULT_URI_HOST;
+// Check for provided host or use default
+if (host != null && !host.isEmpty())
+qcConfig.setParameter("hostname", host);
+else
+qcConfig.setParameter("hostname", DEFAULT_URI_HOST);
 
 // Look for extra query parameters and parse them out.
 if (query != null && !query.isEmpty()) {
 try {
-queryParams = parseQueryString(query);
+Map queryParams = parseQueryString(query);
+if (queryParams != null)
+for (Map.Entry entry: 
queryParams.entrySet())
+qcConfig.setParameter(entry.getKey(), 
entry.getValue());
 }
 catch (UnsupportedEncodingException e) {
 throw new GuacamoleServerException("Unexpected lack of UTF-8 
encoding support.", e);
@@ -127,29 +138,17 @@ public class QCParser {
 
 Matcher userinfoMatcher = userinfoPattern.matcher(userInfo);
 if (userinfoMatcher.matches()) {
-username = userinfoMatcher.group(USERNAME_GROUP);
-password = userinfoMatcher.group(PASSWORD_GROUP);
-}
-
-}
-
-// Generate a new GuacamoleConfiguration and set parameters.
-GuacamoleConfiguration qcConfig = new GuacamoleConfiguration();
-qcConfig.setProtocol(protocol);
-qcConfig.setParameter("hostname",host);
-
-if (port > 0)
-qcConfig.setParameter("port", Integer.toString(port));
+String username = userinfoMatcher.group(USERNAME_GROUP);
+String password = userinfoMatcher.group(PASSWORD_GROUP);
 
-if (username != null && !username.isEmpty())
-qcConfig.setParameter("username", username);
+if (username != null && !username.isEmpty())
+qcConfig.setParameter("username", username);
 
-if (password != null && !password.isEmpty())
-qcConfig.setParameter("password", password);
+if (password != null && !p

[48/50] guacamole-client git commit: GUACAMOLE-38: Methods being tested need to be public.

2018-06-03 Thread mjumper
GUACAMOLE-38: Methods being tested need to be public.

Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/1438a511
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/1438a511
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/1438a511

Branch: refs/heads/staging/1.0.0
Commit: 1438a5117b40b359e629f22aa04338560c3e4da7
Parents: 97d2d3a
Author: Nick Couchman 
Authored: Wed May 30 11:31:41 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:53 2018 -0400

--
 .../org/apache/guacamole/auth/quickconnect/utility/QCParser.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/1438a511/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 2924c0d..3e2e5e5 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
@@ -155,7 +155,7 @@ public class QCParser {
  * @throws UnsupportedEncodingException
  * If Java lacks UTF-8 support.
  */
-private static Map parseQueryString(String queryStr)
+public static Map parseQueryString(String queryStr)
 throws UnsupportedEncodingException {
 
 // Split the query string into the pairs
@@ -187,7 +187,7 @@ public class QCParser {
  * @throws UnsupportedEncodingException
  * If Java lacks UTF-8 support.
  */
-private static void parseUserInfo(String userInfo, 
+public static void parseUserInfo(String userInfo, 
 GuacamoleConfiguration config)
 throws UnsupportedEncodingException {
 



[31/50] guacamole-client git commit: GUACAMOLE-38: Fix use of superclass methods.

2018-06-03 Thread mjumper
GUACAMOLE-38: Fix use of superclass methods.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/6dad254c
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/6dad254c
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/6dad254c

Branch: refs/heads/staging/1.0.0
Commit: 6dad254c14dcd8ee1e4781c09089668f9ddba0a3
Parents: f563925
Author: Nick Couchman 
Authored: Sat May 12 07:44:09 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../guacamole/auth/quickconnect/QuickConnectionGroup.java | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/6dad254c/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectionGroup.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectionGroup.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectionGroup.java
index 8419cf0..b087c35 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectionGroup.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectionGroup.java
@@ -54,9 +54,10 @@ public class QuickConnectionGroup extends 
AbstractConnectionGroup {
  */
 public QuickConnectionGroup(String name, String identifier) {
 
-setName(name);
-setIdentifier(identifier);
-setType(ConnectionGroup.Type.ORGANIZATIONAL);
+super();
+super.setName(name);
+super.setIdentifier(identifier);
+super.setType(ConnectionGroup.Type.ORGANIZATIONAL);
 
 }
 



[44/50] guacamole-client git commit: GUACAMOLE-38: Add unit tests for the userInfo parser and the getConfiguration method.

2018-06-03 Thread mjumper
GUACAMOLE-38: Add unit tests for the userInfo parser and the getConfiguration 
method.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/27f4ad01
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/27f4ad01
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/27f4ad01

Branch: refs/heads/master
Commit: 27f4ad01f5525b695ed9fbc651f04e8205b8d8b6
Parents: aafc435
Author: Nick Couchman 
Authored: Mon May 14 10:46:49 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:53 2018 -0400

--
 .../auth/quickconnect/utility/QCParserTest.java | 62 
 1 file changed, 62 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/27f4ad01/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java
 
b/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java
index 5567ea3..8a4ed1b 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java
@@ -22,8 +22,11 @@ package org.apache.guacamole.auth.quickconnect.utility;
 import java.io.UnsupportedEncodingException;
 import java.util.HashMap;
 import java.util.Map;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.protocol.GuacamoleConfiguration;
 import org.junit.Test;
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 
 /**
  * Class to test methods in the QCParser utility class.
@@ -46,4 +49,63 @@ public class QCParserTest {
 
 }
 
+/**
+ * Verify that the parseUserInfo() method functions as designed.
+ */
+@Test
+public void testParseUserInfo() throws UnsupportedEncodingException {
+
+Map userInfoMap;
+
+userInfoMap = QCParser.parseUserInfo("guacuser:secretpw");
+assertEquals("guacuser", userInfoMap.get("username"));
+assertEquals("secretpw", userInfoMap.get("password"));
+
+
+userInfoMap = QCParser.parseUserInfo("guacuser");
+assertEquals("guacuser", userInfoMap.get("username"));
+assertFalse(userInfoMap.containsKey("password"));
+
+userInfoMap = QCParser.parseUserInfo("guacuser:P%40ssw0rd%21");
+assertEquals("guacuser", userInfoMap.get("username"));
+assertEquals("P@ssw0rd!", userInfoMap.get("password"));
+
+userInfoMap = 
QCParser.parseUserInfo("domain%5cguacuser:domain%2fpassword");
+assertEquals("domain\\guacuser", userInfoMap.get("username"));
+assertEquals("domain/password", userInfoMap.get("password"));
+
+}
+
+/**
+ * Verify that the getConfiguration() method returns the expected
+ * GuacamoleConfiguration object.
+ */
+@Test
+public void testGetConfiguration() throws GuacamoleException {
+
+String uri1 = 
"ssh://guacuser:guacpassword@hostname1.domain.local/?param1=value1¶m2=value2";
+GuacamoleConfiguration config1 = QCParser.getConfiguration(uri1);
+assertEquals("ssh", config1.getProtocol());
+assertEquals("hostname1.domain.local", 
config1.getParameter("hostname"));
+assertEquals("guacuser", config1.getParameter("username"));
+assertEquals("guacpassword", config1.getParameter("password"));
+assertEquals("value1", config1.getParameter("param1"));
+assertEquals("value2", config1.getParameter("param2"));
+
+String uri2 = 
"rdp://domain%5cguacuser:adpassword...@windows1.domain.tld/?enable-sftp=true";
+GuacamoleConfiguration config2 = QCParser.getConfiguration(uri2);
+assertEquals("rdp", config2.getProtocol());
+assertEquals("windows1.domain.tld", config2.getParameter("hostname"));
+assertEquals("domain\\guacuser", config2.getParameter("username"));
+assertEquals("adPassword123", config2.getParameter("password"));
+assertEquals("true", config2.getParameter("enable-sftp"));
+
+String uri3 = "vnc://mirror1.example.com:5910/";
+GuacamoleConfiguration config3 = QCParser.getConfiguration(uri3);
+assertEquals("vnc", config3.getProtocol());
+assertEquals("mirror1.example.com", config3.getParameter("hostname"));
+assertEquals("5910", config3.getParameter("port"));
+
+}
+
 }



[12/50] guacamole-client git commit: GUACAMOLE-38: Fix parameter name in QuickConnection constructor.

2018-06-03 Thread mjumper
GUACAMOLE-38: Fix parameter name in QuickConnection constructor.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/12d92d21
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/12d92d21
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/12d92d21

Branch: refs/heads/staging/1.0.0
Commit: 12d92d210fb857696e890b8036baebd07ce85090
Parents: bb127c5
Author: Nick Couchman 
Authored: Sun Apr 15 23:07:57 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 .../guacamole/auth/quickconnect/QuickConnection.java| 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/12d92d21/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnection.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnection.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnection.java
index 3735849..f3be14e 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnection.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnection.java
@@ -70,14 +70,16 @@ public class QuickConnection extends SimpleConnection {
  * object, copying over the relevant data and initializing
  * the rest.
  *
- * @param object
- * The generic Connection object to be copied.
+ * @param connection
+ * The generic Connection to be copied.
  */
-public QuickConnection(Connection object) {
+public QuickConnection(Connection connection) {
 
-
super(object.getName(),object.getIdentifier(),object.getConfiguration());
+super(connection.getName(),connection.getIdentifier(),
+connection.getConfiguration());
+
+setParentIdentifier(connection.getParentIdentifier());
 
-setParentIdentifier(object.getParentIdentifier());
 this.activeConnections = 0;
 
 }



[19/50] guacamole-client git commit: GUACAMOLE-38: Quick fix-up for userContext object in AuthenticationProvider

2018-06-03 Thread mjumper
GUACAMOLE-38: Quick fix-up for userContext object in AuthenticationProvider


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/bb127c55
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/bb127c55
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/bb127c55

Branch: refs/heads/master
Commit: bb127c55d2226651622c9bb2b6e1b6fb623bec46
Parents: d608643
Author: Nick Couchman 
Authored: Sun Apr 15 22:58:19 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 .../auth/quickconnect/QuickConnectAuthenticationProvider.java  | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/bb127c55/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
index 66c42e7..5223793 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
@@ -45,7 +45,11 @@ public class QuickConnectAuthenticationProvider extends 
AbstractAuthenticationPr
 public UserContext getUserContext(AuthenticatedUser authenticatedUser)
 throws GuacamoleException {
 
-return new QuickConnectUserContext(this, 
authenticatedUser.getIdentifier());
+if (userContext == null)
+userContext = new QuickConnectUserContext(this,
+authenticatedUser.getIdentifier());
+
+return userContext;
 
 }
 



[23/50] guacamole-client git commit: GUACAMOLE-38: Remove lots of extra imports.

2018-06-03 Thread mjumper
GUACAMOLE-38: Remove lots of extra imports.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/d608643b
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/d608643b
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/d608643b

Branch: refs/heads/master
Commit: d608643bb6c890d91edfac5fb70838c264180dde
Parents: 3feb2c2
Author: Nick Couchman 
Authored: Sun Apr 15 22:44:46 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 .../QuickConnectAuthenticationProvider.java|  6 --
 .../auth/quickconnect/QuickConnectUserContext.java | 10 --
 .../auth/quickconnect/QuickConnection.java | 17 -
 .../auth/quickconnect/rest/QuickConnectREST.java   |  9 -
 4 files changed, 42 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/d608643b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
index 6e6f2bc..66c42e7 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
@@ -19,16 +19,10 @@
 
 package org.apache.guacamole.auth.quickconnect;
 
-import java.util.Collections;
-import java.util.Map;
 import org.apache.guacamole.GuacamoleException;
 import org.apache.guacamole.net.auth.AuthenticatedUser;
 import org.apache.guacamole.net.auth.AbstractAuthenticationProvider;
-import org.apache.guacamole.net.auth.Credentials;
-import org.apache.guacamole.net.auth.credentials.CredentialsInfo;
-import 
org.apache.guacamole.net.auth.credentials.GuacamoleInvalidCredentialsException;
 import org.apache.guacamole.net.auth.UserContext;
-import org.apache.guacamole.protocol.GuacamoleConfiguration;
 
 /**
  * Class providing the necessary hooks into the Guacamole Client authentication

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/d608643b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
index 60f6ded..60a05e5 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
@@ -19,24 +19,14 @@
 
 package org.apache.guacamole.auth.quickconnect;
 
-import java.util.Collection;
 import java.util.Collections;
 import org.apache.guacamole.auth.quickconnect.rest.QuickConnectREST;
 import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.form.Form;
 import org.apache.guacamole.net.auth.AbstractUserContext;
-import org.apache.guacamole.net.auth.ActiveConnection;
-import org.apache.guacamole.net.auth.ActivityRecord;
-import org.apache.guacamole.net.auth.ActivityRecordSet;
 import org.apache.guacamole.net.auth.AuthenticationProvider;
-import org.apache.guacamole.net.auth.Connection;
 import org.apache.guacamole.net.auth.ConnectionGroup;
-import org.apache.guacamole.net.auth.ConnectionRecord;
 import org.apache.guacamole.net.auth.Directory;
-import org.apache.guacamole.net.auth.SharingProfile;
 import org.apache.guacamole.net.auth.User;
-import org.apache.guacamole.net.auth.UserContext;
-import org.apache.guacamole.net.auth.simple.SimpleActivityRecordSet;
 import org.apache.guacamole.net.auth.simple.SimpleDirectory;
 import org.apache.guacamole.net.auth.simple.SimpleUser;
 

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/d608643b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnection.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnection.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/

[16/50] guacamole-client git commit: GUACAMOLE-38: Fix parameter name in QuickConnection constructor.

2018-06-03 Thread mjumper
GUACAMOLE-38: Fix parameter name in QuickConnection constructor.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/12d92d21
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/12d92d21
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/12d92d21

Branch: refs/heads/master
Commit: 12d92d210fb857696e890b8036baebd07ce85090
Parents: bb127c5
Author: Nick Couchman 
Authored: Sun Apr 15 23:07:57 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 .../guacamole/auth/quickconnect/QuickConnection.java| 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/12d92d21/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnection.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnection.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnection.java
index 3735849..f3be14e 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnection.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnection.java
@@ -70,14 +70,16 @@ public class QuickConnection extends SimpleConnection {
  * object, copying over the relevant data and initializing
  * the rest.
  *
- * @param object
- * The generic Connection object to be copied.
+ * @param connection
+ * The generic Connection to be copied.
  */
-public QuickConnection(Connection object) {
+public QuickConnection(Connection connection) {
 
-
super(object.getName(),object.getIdentifier(),object.getConfiguration());
+super(connection.getName(),connection.getIdentifier(),
+connection.getConfiguration());
+
+setParentIdentifier(connection.getParentIdentifier());
 
-setParentIdentifier(object.getParentIdentifier());
 this.activeConnections = 0;
 
 }



[25/50] guacamole-client git commit: GUACAMOLE-38: Tweak style and translation issues.

2018-06-03 Thread mjumper
GUACAMOLE-38: Tweak style and translation issues.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/56cc11e1
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/56cc11e1
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/56cc11e1

Branch: refs/heads/master
Commit: 56cc11e1b991a9885454d8954c61eb254e99496a
Parents: 2a9c7fe
Author: Nick Couchman 
Authored: Wed May 9 09:54:45 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../src/main/resources/styles/quickconnect.css   | 11 ++-
 .../src/main/resources/templates/quickconnectField.html  |  4 +++-
 .../src/main/resources/translations/en.json  |  1 +
 3 files changed, 10 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/56cc11e1/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
 
b/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
index ee0c2f5..bc9209d 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
@@ -19,26 +19,27 @@
 
 
 .quickconnect-container {
-margin: 0.5em 0;
+margin: 0.75em 0;
 width: 100%;
+margin-left: 0.75em;
 }
 
 .quickconnect-container .quickconnect-field {
 background-image: url('images/protocol-icons/guac-text.png');
 background-repeat: no-repeat;
-background-size: 1.75em;
+background-size: 1.50em;
 background-position: 0.25em center;
 background-color: transparent;
-padding: 0.5em;
-padding-left: 2.25em;
+padding: 0.25em;
+padding-left: 2.50em;
 width: 100%;
 max-width: none;
 border: 0;
-border-left: 1px solid rgba(0,0,0,0.125);
 box-sizing: border-box;
 }
 
 .quickconnect-button {
 clear: both;
 float: right;
+margin-right: 0.75em;
 }

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/56cc11e1/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
 
b/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
index 114f59a..30e8a90 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
@@ -5,5 +5,7 @@
 
 
 
-Connect
+
+{{'QUICKCONNECT.ACTION_CONNECT' | translate}}
+
 

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/56cc11e1/extensions/guacamole-auth-quickconnect/src/main/resources/translations/en.json
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/resources/translations/en.json
 
b/extensions/guacamole-auth-quickconnect/src/main/resources/translations/en.json
index 1f7bb3d..2c2dc8e 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/resources/translations/en.json
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/resources/translations/en.json
@@ -5,6 +5,7 @@
 },
 
 "QUICKCONNECT" : {
+"ACTION_CONNECT": "Connect",
 "FIELD_PLACEHOLDER_URI" : "Enter Connection URI"
 }
 



[49/50] guacamole-client git commit: GUACAMOLE-38: Merge support for dynamically defining connections using URLs.

2018-06-03 Thread mjumper
GUACAMOLE-38: Merge support for dynamically defining connections using URLs.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/72bc8c01
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/72bc8c01
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/72bc8c01

Branch: refs/heads/master
Commit: 72bc8c01a385fa04059b43e166d4a72ac4b6d8bb
Parents: 2fb377a 1438a51
Author: Michael Jumper 
Authored: Sun Jun 3 12:04:00 2018 -0700
Committer: Michael Jumper 
Committed: Sun Jun 3 12:04:00 2018 -0700

--
 extensions/guacamole-auth-quickconnect/pom.xml  | 206 +++
 .../src/licenses/LICENSE| 202 +++
 .../src/licenses/NOTICE |   5 +
 .../src/main/assembly/dist.xml  |  53 
 .../QuickConnectAuthenticationProvider.java |  48 
 .../quickconnect/QuickConnectDirectory.java | 122 +
 .../quickconnect/QuickConnectException.java |  86 +++
 .../quickconnect/QuickConnectUserContext.java   | 131 ++
 .../auth/quickconnect/QuickConnectionGroup.java | 117 +
 .../quickconnect/rest/QuickConnectREST.java |  82 ++
 .../auth/quickconnect/utility/QCParser.java | 256 +++
 .../controllers/quickconnectController.js   |  59 +
 .../src/main/resources/guac-manifest.json   |  31 +++
 .../src/main/resources/quickconnectModule.js|  28 ++
 .../resources/services/quickConnectService.js   |  69 +
 .../src/main/resources/styles/quickconnect.css  |  53 
 .../resources/templates/quickconnectField.html  |  11 +
 .../src/main/resources/translations/en.json |  18 ++
 .../auth/quickconnect/utility/QCParserTest.java | 122 +
 pom.xml |   1 +
 20 files changed, 1700 insertions(+)
--




[06/50] guacamole-client git commit: GUACAMOLE-38: Brush up comments and removed some extra code.

2018-06-03 Thread mjumper
GUACAMOLE-38: Brush up comments and removed some extra code.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/6c71f4dd
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/6c71f4dd
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/6c71f4dd

Branch: refs/heads/master
Commit: 6c71f4ddb3b7863864f1081b178acccbb7e9fe0d
Parents: 8fa0cea
Author: Nick Couchman 
Authored: Sat Mar 24 20:37:19 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:50 2018 -0400

--
 extensions/guacamole-auth-quickconnect/pom.xml   |  7 ---
 .../quickconnect/QuickConnectAuthenticationProvider.java |  4 
 .../guacamole/auth/quickconnect/utility/QCParser.java| 11 ---
 3 files changed, 12 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/6c71f4dd/extensions/guacamole-auth-quickconnect/pom.xml
--
diff --git a/extensions/guacamole-auth-quickconnect/pom.xml 
b/extensions/guacamole-auth-quickconnect/pom.xml
index 87ee7bd..717f42c 100644
--- a/extensions/guacamole-auth-quickconnect/pom.xml
+++ b/extensions/guacamole-auth-quickconnect/pom.xml
@@ -187,9 +187,10 @@
 
 
 
-com.sun.jersey
-jersey-server
-1.17.1
+javax.ws.rs
+jsr311-api
+1.1.1
+provided
 
 
 

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/6c71f4dd/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
index f725bdf..c809709 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
@@ -63,10 +63,6 @@ public class QuickConnectAuthenticationProvider extends 
SimpleAuthenticationProv
 public AuthenticatedUser authenticateUser(Credentials credentials)
 throws GuacamoleException {
 
-String username = credentials.getUsername();
-if (username == null || username.isEmpty())
-throw new GuacamoleInvalidCredentialsException("You must login.", 
CredentialsInfo.USERNAME_PASSWORD);
-
 return null;
 
 }

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/6c71f4dd/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 05b892f..3de9e80 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
@@ -27,10 +27,15 @@ import org.apache.guacamole.GuacamoleClientException;
 import org.apache.guacamole.GuacamoleException;
 import org.apache.guacamole.protocol.GuacamoleConfiguration;
 
+/**
+ * A utility class to parse out a URI into the settings necessary
+ * to create and establish a Guacamole connection.
+ */
 public class QCParser {
 
 /**
- * The default protocol to parse to if one is undefined.
+ * The default protocol to parse to if one is provided in
+ * the incoming URI..
  */
 public static final String DEFAULT_URI_PROTOCOL = "ssh";
 
@@ -71,7 +76,7 @@ public class QCParser {
 }
 String protocol = qcUri.getScheme();
 String host = qcUri.getHost();
-Integer port = qcUri.getPort();
+int port = qcUri.getPort();
 String userInfo = qcUri.getUserInfo();
 String query = qcUri.getQuery();
 String username = null;
@@ -101,7 +106,7 @@ public class QCParser {
 GuacamoleConfiguration qcConfig = new GuacamoleConfiguration();
 qcConfig.setProtocol(protocol);
 qcConfig.setParameter("hostname",host);
-qcConfig.setParameter("port", port.toString());
+qcConfig.setParameter("port", Integer.t

[30/50] guacamole-client git commit: GUACAMOLE-38: Break userInfo parsing into its own function, and properly decode username and password.

2018-06-03 Thread mjumper
GUACAMOLE-38: Break userInfo parsing into its own function, and properly decode 
username and password.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/aafc4359
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/aafc4359
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/aafc4359

Branch: refs/heads/staging/1.0.0
Commit: aafc4359c812c1cf90b4c5d373c56cd4ceb2e5f6
Parents: 6dad254
Author: Nick Couchman 
Authored: Mon May 14 10:12:17 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../auth/quickconnect/utility/QCParser.java | 55 
 1 file changed, 46 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/aafc4359/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 9601e1c..2c0b6dc 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
@@ -136,18 +136,18 @@ public class QCParser {
 // Look for the username and password and parse them out.
 if (userInfo != null && !userInfo.isEmpty()) {
 
-Matcher userinfoMatcher = userinfoPattern.matcher(userInfo);
-if (userinfoMatcher.matches()) {
-String username = userinfoMatcher.group(USERNAME_GROUP);
-String password = userinfoMatcher.group(PASSWORD_GROUP);
+try {
+Map userInfoParams = parseUserInfo(userInfo);
 
-if (username != null && !username.isEmpty())
-qcConfig.setParameter("username", username);
+if (userInfoParams.containsKey("username"))
+qcConfig.setParameter("username", 
userInfoParams.get("username"));
 
-if (password != null && !password.isEmpty())
-qcConfig.setParameter("password", password);
+if (userInfoParams.containsKey("password"))
+qcConfig.setParameter("password", 
userInfoParams.get("password"));
+}
+catch (UnsupportedEncodingException e) {
+throw new GuacamoleServerException("Unexpected lack of UTF-8 
encoding support.", e);
 }
-
 }
 
 return qcConfig;
@@ -185,6 +185,43 @@ public class QCParser {
 }
 
 /**
+ * Parse the given string for username and password values,
+ * and return a map containing the username, password
+ * or both.
+ *
+ * @param userInfo
+ * The string to parse for username/password values.
+ * 
+ * @return
+ * A map with the username, password, or both.
+ *
+ * @throws UnsupportedEncodingException
+ * If Java lacks UTF-8 support.
+ */
+public static Map parseUserInfo(String userInfo)
+throws UnsupportedEncodingException {
+
+Map userInfoMap = new HashMap();
+Matcher userinfoMatcher = userinfoPattern.matcher(userInfo);
+
+if (userinfoMatcher.matches()) {
+String username = URLDecoder.decode(
+userinfoMatcher.group(USERNAME_GROUP), "UTF-8");
+String password = URLDecoder.decode(
+userinfoMatcher.group(PASSWORD_GROUP), "UTF-8");
+
+if (username != null && !username.isEmpty())
+userInfoMap.put("username", username);
+
+if (password != null && !password.isEmpty())
+userInfoMap.put("password", password);
+}
+
+return userInfoMap;
+
+}
+
+/**
  * Given a GuacamoleConfiguration object, generate a name
  * for the configuration based on the protocol, host, user
  * and port in the configuration, and return the string value.



[36/50] guacamole-client git commit: GUACAMOLE-38: Break query string parsing into its own method.

2018-06-03 Thread mjumper
GUACAMOLE-38: Break query string parsing into its own method.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/10118450
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/10118450
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/10118450

Branch: refs/heads/staging/1.0.0
Commit: 10118450321fde8931f755362589ae532fc5cbed
Parents: d9751f2
Author: Nick Couchman 
Authored: Thu Apr 19 07:20:51 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../auth/quickconnect/utility/QCParser.java | 62 ++--
 1 file changed, 45 insertions(+), 17 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/10118450/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 650d561..4924619 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
@@ -25,7 +25,9 @@ import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URLDecoder;
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import org.apache.guacamole.GuacamoleClientException;
@@ -104,7 +106,7 @@ public class QCParser {
 String query = qcUri.getQuery();
 String username = null;
 String password = null;
-List paramList = null;
+Map queryParams = null;
 
 if (protocol == null || protocol.isEmpty())
 protocol = DEFAULT_URI_PROTOCOL;
@@ -112,8 +114,14 @@ public class QCParser {
 if (host == null || host.isEmpty())
 host = DEFAULT_URI_HOST;
 
-if (query != null && !query.isEmpty())
-paramList = Arrays.asList(query.split("&"));
+if (query != null && !query.isEmpty()) {
+try {
+queryParams = parseQueryString(query);
+}
+catch (UnsupportedEncodingException e) {
+throw new GuacamoleServerException("Unexpected lack of UTF-8 
encoding support.", e);
+}
+}
 
 if (userInfo != null && !userInfo.isEmpty()) {
 
@@ -138,25 +146,45 @@ public class QCParser {
 if (password != null && !password.isEmpty())
 qcConfig.setParameter("password", password);
 
-if (paramList != null) {
-for (String parameter : paramList) {
-String[] paramArray = parameter.split("=", 2);
-try {
-qcConfig.setParameter(URLDecoder.decode(paramArray[0], 
"UTF-8"),
-  URLDecoder.decode(paramArray[1], 
"UTF-8"));
-}
-catch (UnsupportedEncodingException e) {
-logger.error("Unexpected lack of UTF-8 encoding support.");
-throw new GuacamoleServerException("Unexpected lack of 
UTF-8 encoding support.", e);
-}
-}
-}
+if (queryParams != null)
+for (Map.Entry entry : queryParams.entrySet())
+qcConfig.setParameter(entry.getKey(), entry.getValue());
 
 return qcConfig;
 
 }
 
 /**
+ * Parse the given string for parameter key/value pairs and return
+ * a map with the parameters.
+ *
+ * @param queryStr
+ * The query string to parse for the values.
+ *
+ * @return
+ * A map with the key/value pairs.
+ *
+ * @throws UnsupportedEncodingException
+ * If Java lacks UTF-8 support.
+ */
+private static Map parseQueryString(String queryStr)
+throws UnsupportedEncodingException {
+
+// Split the query string into the pairs
+List paramList = Arrays.asList(queryStr.split("&"));
+Map parameters = new HashMap();
+
+// Split into key/value pairs and decode
+for (String param : paramList) {
+String[] paramArray = param.split("=", 2);
+parameters.put(URLDecoder.decode(paramArray[0], "UTF-8"),
+   URLDecoder.decode(paramArray[1], "UTF-8"));
+}
+
+return parameters;
+}
+
+/**
  * Given a GuacamoleConfiguration object, generate a name
  * for 

[16/50] guacamole-client git commit: GUACAMOLE-38: Fix up string checks in QCParser class.

2018-06-03 Thread mjumper
GUACAMOLE-38: Fix up string checks in QCParser class.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/cf241f04
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/cf241f04
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/cf241f04

Branch: refs/heads/staging/1.0.0
Commit: cf241f041e34e64515fe185314af5ade5b716309
Parents: 0cbf90a
Author: Nick Couchman 
Authored: Tue Apr 17 22:29:46 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 .../auth/quickconnect/utility/QCParser.java | 22 ++--
 1 file changed, 11 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/cf241f04/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 be157dc..ba6e3fd 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
@@ -95,16 +95,16 @@ public class QCParser {
 String password = null;
 List paramList = null;
 
-if (protocol == null || protocol.equals(""))
+if (protocol == null || protocol.isEmpty())
 protocol = DEFAULT_URI_PROTOCOL;
 
-if (host == null || host.equals(""))
+if (host == null || host.isEmpty())
 host = DEFAULT_URI_HOST;
 
-if (query != null && !query.equals(""))
+if (query != null && !query.isEmpty())
 paramList = Arrays.asList(query.split("&"));
 
-if (userInfo != null && !userInfo.equals("")) {
+if (userInfo != null && !userInfo.isEmpty()) {
 
 Matcher userinfoMatcher = userinfoPattern.matcher(userInfo);
 if (userinfoMatcher.matches()) {
@@ -121,15 +121,15 @@ public class QCParser {
 if (port > 0)
 qcConfig.setParameter("port", Integer.toString(port));
 
-if (username != null && username.length() > 0)
+if (username != null && !username.isEmpty())
 qcConfig.setParameter("username", username);
 
-if (password != null && password.length() > 0)
+if (password != null && !password.isEmpty())
 qcConfig.setParameter("password", password);
 
 if (paramList != null) {
 for (String parameter : paramList) {
-String[] paramArray = parameter.split("=");
+String[] paramArray = parameter.split("=", 2);
 qcConfig.setParameter(paramArray[0],paramArray[1]);
 }
 }
@@ -166,16 +166,16 @@ public class QCParser {
 
 String name = "";
 
-if (protocol != null && !protocol.equals(""))
+if (protocol != null && !protocol.isEmpty())
 name += protocol + "://";
 
-if (user != null && !user.equals(""))
+if (user != null && !user.isEmpty())
 name += user + "@";
 
-if (host != null && !host.equals(""))
+if (host != null && !host.isEmpty())
 name += host;
 
-if (port != null && !port.equals(""))
+if (port != null && !port.isEmpty())
 name += ":" + port;
 
 name += "/";



[32/50] guacamole-client git commit: GUACAMOLE-38: Relocate the toolbar and restyle it.

2018-06-03 Thread mjumper
GUACAMOLE-38: Relocate the toolbar and restyle it.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/f563925a
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/f563925a
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/f563925a

Branch: refs/heads/staging/1.0.0
Commit: f563925aa7a6d7716f783497d845028227b94afa
Parents: 56cc11e
Author: Nick Couchman 
Authored: Thu May 10 12:02:37 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../src/main/resources/styles/quickconnect.css  | 12 ++--
 .../src/main/resources/templates/quickconnectField.html |  4 ++--
 2 files changed, 12 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/f563925a/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
 
b/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
index bc9209d..2f11262 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
@@ -19,9 +19,9 @@
 
 
 .quickconnect-container {
-margin: 0.75em 0;
+margin: 0.25em 0;
 width: 100%;
-margin-left: 0.75em;
+margin-left: 0.50em;
 }
 
 .quickconnect-container .quickconnect-field {
@@ -42,4 +42,12 @@
 clear: both;
 float: right;
 margin-right: 0.75em;
+font-size: 0.75em;
+padding: 0.25em;
+}
+
+.quickconnect-list-item {
+vertical-align: middle;
+align-content: center;
+display: flex
 }

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/f563925a/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
 
b/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
index 30e8a90..6089965 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/resources/templates/quickconnectField.html
@@ -1,5 +1,5 @@
-
-
+
+
 
 
 



[44/50] guacamole-client git commit: GUACAMOLE-38: Clean up minor code issues.

2018-06-03 Thread mjumper
GUACAMOLE-38: Clean up minor code issues.

Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/aaada49d
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/aaada49d
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/aaada49d

Branch: refs/heads/staging/1.0.0
Commit: aaada49dfefdb7aab794ebc6054976686fc57970
Parents: 27f4ad0
Author: Nick Couchman 
Authored: Mon May 14 14:00:50 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:53 2018 -0400

--
 .../auth/quickconnect/QuickConnectDirectory.java  |  2 +-
 .../auth/quickconnect/QuickConnectUserContext.java|  2 --
 .../guacamole/auth/quickconnect/QuickConnectionGroup.java |  2 +-
 .../auth/quickconnect/rest/QuickConnectREST.java  |  2 +-
 .../guacamole/auth/quickconnect/utility/QCParserTest.java | 10 +-
 5 files changed, 12 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/aaada49d/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
index ceb8c80..8841944 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
@@ -50,7 +50,7 @@ public class QuickConnectDirectory extends 
SimpleDirectory {
 /**
  * The internal counter for connection IDs.
  */
-private AtomicInteger connectionId;
+private final AtomicInteger connectionId;
 
 /**
  * Creates a new QuickConnectDirectory with the default

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/aaada49d/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
index aa98db7..36a5a8f 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
@@ -25,9 +25,7 @@ import org.apache.guacamole.GuacamoleException;
 import org.apache.guacamole.net.auth.AbstractUserContext;
 import org.apache.guacamole.net.auth.AuthenticationProvider;
 import org.apache.guacamole.net.auth.ConnectionGroup;
-import org.apache.guacamole.net.auth.Directory;
 import org.apache.guacamole.net.auth.User;
-import org.apache.guacamole.net.auth.simple.SimpleDirectory;
 import org.apache.guacamole.net.auth.simple.SimpleUser;
 
 /**

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/aaada49d/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectionGroup.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectionGroup.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectionGroup.java
index b087c35..dfb60d1 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectionGroup.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectionGroup.java
@@ -39,7 +39,7 @@ public class QuickConnectionGroup extends 
AbstractConnectionGroup {
 /**
  * A set that will store the Connection identifiers for this group.
  */
-private Set connectionIdentifiers =
+private final Set connectionIdentifiers =
 new HashSet(Collections.emptyList());
 
 /**

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/aaada49d/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectRES

[37/50] guacamole-client git commit: GUACAMOLE-38: Use ConcurrentHashMap for threadsafety.

2018-06-03 Thread mjumper
GUACAMOLE-38: Use ConcurrentHashMap for threadsafety.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/555b26ae
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/555b26ae
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/555b26ae

Branch: refs/heads/master
Commit: 555b26ae1fd1584485ab6b85c0a55a350e035350
Parents: 201fbcd
Author: Nick Couchman 
Authored: Tue May 8 15:58:58 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../guacamole/auth/quickconnect/QuickConnectDirectory.java   | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/555b26ae/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
index 30d8683..5070ea6 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
@@ -19,7 +19,7 @@
 
 package org.apache.guacamole.auth.quickconnect;
 
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicInteger;
 import org.apache.guacamole.GuacamoleException;
@@ -45,7 +45,7 @@ public class QuickConnectDirectory extends 
SimpleDirectory {
  * The connections to store.
  */
 private final Map connections =
-new HashMap();
+new ConcurrentHashMap();
 
 /**
  * The root connection group for this directory.



[47/50] guacamole-client git commit: GUACAMOLE-38: Update comments to match recent changes in return type of REST create method.

2018-06-03 Thread mjumper
GUACAMOLE-38: Update comments to match recent changes in return type of REST 
create method.

Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/6d0b6d64
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/6d0b6d64
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/6d0b6d64

Branch: refs/heads/master
Commit: 6d0b6d649462c59de67257091cadb1485c8aeb92
Parents: b283adc
Author: Nick Couchman 
Authored: Tue May 22 22:35:56 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:53 2018 -0400

--
 .../guacamole/auth/quickconnect/rest/QuickConnectREST.java| 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/6d0b6d64/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
index 275e1a4..4cced07 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
@@ -56,14 +56,15 @@ public class QuickConnectREST {
 
 /**
  * Parse the URI read from the POST input, add the connection
- * to the directory, and return the identifier of the newly-created
- * connection.
+ * to the directory, and return a Map containing a single key,
+ * identifier, and the identifier of the new connection.
  *
  * @param uri
  * The URI to parse into a connection.
  *
  * @return
- * The identifier of the connection in the directory.
+ * A Map containing a single key, identifier, and the
+ * identifier of the new connection.
  *
  * @throws GuacamoleException
  * If an error is encountered parsing the URI.



[47/50] guacamole-client git commit: GUACAMOLE-38: Update comments to match recent changes in return type of REST create method.

2018-06-03 Thread mjumper
GUACAMOLE-38: Update comments to match recent changes in return type of REST 
create method.

Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/6d0b6d64
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/6d0b6d64
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/6d0b6d64

Branch: refs/heads/staging/1.0.0
Commit: 6d0b6d649462c59de67257091cadb1485c8aeb92
Parents: b283adc
Author: Nick Couchman 
Authored: Tue May 22 22:35:56 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:53 2018 -0400

--
 .../guacamole/auth/quickconnect/rest/QuickConnectREST.java| 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/6d0b6d64/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
index 275e1a4..4cced07 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
@@ -56,14 +56,15 @@ public class QuickConnectREST {
 
 /**
  * Parse the URI read from the POST input, add the connection
- * to the directory, and return the identifier of the newly-created
- * connection.
+ * to the directory, and return a Map containing a single key,
+ * identifier, and the identifier of the new connection.
  *
  * @param uri
  * The URI to parse into a connection.
  *
  * @return
- * The identifier of the connection in the directory.
+ * A Map containing a single key, identifier, and the
+ * identifier of the new connection.
  *
  * @throws GuacamoleException
  * If an error is encountered parsing the URI.



[43/50] guacamole-client git commit: GUACAMOLE-38: Put userInfo directly into configuration.

2018-06-03 Thread mjumper
GUACAMOLE-38: Put userInfo directly into configuration.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/84e71a02
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/84e71a02
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/84e71a02

Branch: refs/heads/staging/1.0.0
Commit: 84e71a029c9a664d4dafa9638511ff468525d115
Parents: aaada49
Author: Nick Couchman 
Authored: Thu May 17 19:58:12 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:53 2018 -0400

--
 .../auth/quickconnect/utility/QCParser.java | 37 
 .../auth/quickconnect/utility/QCParserTest.java | 37 +++-
 2 files changed, 35 insertions(+), 39 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/84e71a02/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 2c0b6dc..60b4b9c 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
@@ -137,13 +137,7 @@ public class QCParser {
 if (userInfo != null && !userInfo.isEmpty()) {
 
 try {
-Map userInfoParams = parseUserInfo(userInfo);
-
-if (userInfoParams.containsKey("username"))
-qcConfig.setParameter("username", 
userInfoParams.get("username"));
-
-if (userInfoParams.containsKey("password"))
-qcConfig.setParameter("password", 
userInfoParams.get("password"));
+parseUserInfo(userInfo, qcConfig);
 }
 catch (UnsupportedEncodingException e) {
 throw new GuacamoleServerException("Unexpected lack of UTF-8 
encoding support.", e);
@@ -186,39 +180,38 @@ public class QCParser {
 
 /**
  * Parse the given string for username and password values,
- * and return a map containing the username, password
- * or both.
+ * and, if values are present, decode them and set them in
+ * the provided GuacamoleConfiguration object.
  *
  * @param userInfo
  * The string to parse for username/password values.
- * 
- * @return
- * A map with the username, password, or both.
+ *
+ * @param config
+ * The GuacamoleConfiguration object to store the username
+ * and password in.
  *
  * @throws UnsupportedEncodingException
  * If Java lacks UTF-8 support.
  */
-public static Map parseUserInfo(String userInfo)
+public static void parseUserInfo(String userInfo, 
+GuacamoleConfiguration config)
 throws UnsupportedEncodingException {
 
-Map userInfoMap = new HashMap();
 Matcher userinfoMatcher = userinfoPattern.matcher(userInfo);
 
 if (userinfoMatcher.matches()) {
-String username = URLDecoder.decode(
-userinfoMatcher.group(USERNAME_GROUP), "UTF-8");
-String password = URLDecoder.decode(
-userinfoMatcher.group(PASSWORD_GROUP), "UTF-8");
+String username = userinfoMatcher.group(USERNAME_GROUP);
+String password = userinfoMatcher.group(PASSWORD_GROUP);
 
 if (username != null && !username.isEmpty())
-userInfoMap.put("username", username);
+config.setParameter("username",
+URLDecoder.decode(username, "UTF-8"));
 
 if (password != null && !password.isEmpty())
-userInfoMap.put("password", password);
+config.setParameter("password",
+URLDecoder.decode(password, "UTF-8"));
 }
 
-return userInfoMap;
-
 }
 
 /**

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/84e71a02/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java
 
b/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java
index d63a521..50ad7d6 100644
--- 
a/extensions/guacamole-auth-quickconnect/src

[24/50] guacamole-client git commit: GUACAMOLE-38: Use newly-implemented AbstractuserContext and AbstractAuthenticationProvider classes, remove deprecated classes.

2018-06-03 Thread mjumper
GUACAMOLE-38: Use newly-implemented AbstractuserContext and 
AbstractAuthenticationProvider classes, remove deprecated classes.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/3feb2c2d
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/3feb2c2d
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/3feb2c2d

Branch: refs/heads/staging/1.0.0
Commit: 3feb2c2de1d1d1af96e422b2050e85cb499c39ef
Parents: 43919e5
Author: Nick Couchman 
Authored: Sat Apr 14 11:22:40 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 .../QuickConnectAuthenticationProvider.java | 70 +
 .../quickconnect/QuickConnectDirectory.java | 71 +
 .../quickconnect/QuickConnectUserContext.java   | 81 
 3 files changed, 34 insertions(+), 188 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/3feb2c2d/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
index d638ff8..6e6f2bc 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
@@ -23,7 +23,7 @@ import java.util.Collections;
 import java.util.Map;
 import org.apache.guacamole.GuacamoleException;
 import org.apache.guacamole.net.auth.AuthenticatedUser;
-import org.apache.guacamole.net.auth.AuthenticationProvider;
+import org.apache.guacamole.net.auth.AbstractAuthenticationProvider;
 import org.apache.guacamole.net.auth.Credentials;
 import org.apache.guacamole.net.auth.credentials.CredentialsInfo;
 import 
org.apache.guacamole.net.auth.credentials.GuacamoleInvalidCredentialsException;
@@ -35,7 +35,7 @@ import org.apache.guacamole.protocol.GuacamoleConfiguration;
  * process so that the QuickConnect functionality can be initialized and be 
used
  * throughout the web client.
  */
-public class QuickConnectAuthenticationProvider implements 
AuthenticationProvider {
+public class QuickConnectAuthenticationProvider extends 
AbstractAuthenticationProvider {
 
 /**
  * userContext for this authentication provider.
@@ -48,31 +48,6 @@ public class QuickConnectAuthenticationProvider implements 
AuthenticationProvide
 }
 
 @Override
-public Object getResource() throws GuacamoleException {
-return null;
-}
-
-/**
- * For QuickConnect, authenticateUser simply returns null because this
- * extension is designed to provide only a connection directory to users
- * that are already authenticated and not any actual authentication.
- *
- * @param credentials
- * Credentials object passed in from Guacamole login.
- *
- * @return
- * Returns null, which causes the client to move on to the next
- * module.
- */
-@Override
-public AuthenticatedUser authenticateUser(Credentials credentials)
-throws GuacamoleException {
-
-return null;
-
-}
-
-@Override
 public UserContext getUserContext(AuthenticatedUser authenticatedUser)
 throws GuacamoleException {
 
@@ -80,45 +55,4 @@ public class QuickConnectAuthenticationProvider implements 
AuthenticationProvide
 
 }
 
-@Override
-public AuthenticatedUser updateAuthenticatedUser(AuthenticatedUser 
authenticatedUser,
-Credentials credentials) throws GuacamoleException {
-
-// Simply return the given user, updating nothing
-return authenticatedUser;
-
-}
-
-@Override
-public UserContext updateUserContext(UserContext context,
-AuthenticatedUser authorizedUser, Credentials credentials)
-throws GuacamoleException {
-
-// Simply return the given context, updating nothing
-return context;
-
-}
-
-@Override
-public UserContext decorate(UserContext context,
-AuthenticatedUser authenticatedUser, Credentials credentials)
-throws GuacamoleException {
-
-// Simply return the given context, decorating nothing
-return context;
-
-}
-
-@Override
-public UserContext redecorate(UserContext decorated, UserContext context,
-AuthenticatedUser authenticatedUser, Credentials credent

[30/50] guacamole-client git commit: GUACAMOLE-38: Use StringBuilder to gather up name.

2018-06-03 Thread mjumper
GUACAMOLE-38: Use StringBuilder to gather up name.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/d4b7e2b8
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/d4b7e2b8
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/d4b7e2b8

Branch: refs/heads/master
Commit: d4b7e2b8b608eaa8ad8e5a21eed8cd3bd92964e7
Parents: cf241f0
Author: Nick Couchman 
Authored: Thu Apr 19 05:30:51 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../auth/quickconnect/utility/QCParser.java  | 15 ---
 1 file changed, 8 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/d4b7e2b8/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 ba6e3fd..7d5d7d4 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
@@ -19,6 +19,7 @@
 
 package org.apache.guacamole.auth.quickconnect.utility;
 
+import java.lang.StringBuilder;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.Arrays;
@@ -164,23 +165,23 @@ public class QCParser {
 String port = config.getParameter("port");
 String user = config.getParameter("username");
 
-String name = "";
+StringBuilder name = new StringBuilder("");
 
 if (protocol != null && !protocol.isEmpty())
-name += protocol + "://";
+name.append(protocol).append("://");
 
 if (user != null && !user.isEmpty())
-name += user + "@";
+name.append(user).append("@");
 
 if (host != null && !host.isEmpty())
-name += host;
+name.append(host);
 
 if (port != null && !port.isEmpty())
-name += ":" + port;
+name.append(":").append(port);
 
-name += "/";
+name.append("/");
 
-return name;
+return name.toString();
 }
 
 }



[34/50] guacamole-client git commit: GUACAMOLE-38: Fix issues with root identifier and directory.

2018-06-03 Thread mjumper
GUACAMOLE-38: Fix issues with root identifier and directory.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/7df88cdf
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/7df88cdf
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/7df88cdf

Branch: refs/heads/staging/1.0.0
Commit: 7df88cdfbd22bd0964a634736c348b7475c5cd1b
Parents: 555b26a
Author: Nick Couchman 
Authored: Tue May 8 16:28:10 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../quickconnect/QuickConnectDirectory.java |  7 +--
 .../quickconnect/QuickConnectUserContext.java   | 21 
 2 files changed, 14 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/7df88cdf/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
index 5070ea6..ceb8c80 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
@@ -37,11 +37,6 @@ import org.apache.guacamole.protocol.GuacamoleConfiguration;
 public class QuickConnectDirectory extends SimpleDirectory {
 
 /**
- * The unique identifier of the root connection group.
- */
-private static final String ROOT_IDENTIFIER = "ROOT";
-
-/**
  * The connections to store.
  */
 private final Map connections =
@@ -113,7 +108,7 @@ public class QuickConnectDirectory extends 
SimpleDirectory {
 
 // Create a new connection and set the parent identifier.
 Connection connection = new SimpleConnection(name, connectionId, 
config);
-connection.setParentIdentifier(ROOT_IDENTIFIER);
+
connection.setParentIdentifier(QuickConnectUserContext.ROOT_IDENTIFIER);
 
 // Place the object in this directory.
 add(connection);

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/7df88cdf/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
index 32f4b37..aa98db7 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
@@ -38,6 +38,11 @@ import org.apache.guacamole.net.auth.simple.SimpleUser;
 public class QuickConnectUserContext extends AbstractUserContext {
 
 /**
+ * The unique identifier of the root connection group.
+ */
+public static final String ROOT_IDENTIFIER = DEFAULT_ROOT_CONNECTION_GROUP;
+
+/**
  * The AuthenticationProvider that created this UserContext.
  */
 private final AuthenticationProvider authProvider;
@@ -71,25 +76,25 @@ public class QuickConnectUserContext extends 
AbstractUserContext {
  * The name of the user logging in and using this class.
  */
 public QuickConnectUserContext(AuthenticationProvider authProvider,
-String username) {
+String username) throws GuacamoleException {
 
 // Initialize the rootGroup to a basic connection group with a
 // single root identifier.
 this.rootGroup = new QuickConnectionGroup(
-DEFAULT_ROOT_CONNECTION_GROUP,
-DEFAULT_ROOT_CONNECTION_GROUP
+ROOT_IDENTIFIER,
+ROOT_IDENTIFIER
 );
 
+// Initialize the connection directory
+this.connectionDirectory = new QuickConnectDirectory(this.rootGroup);
+
 // Initialize the user to a SimpleUser with the provided username,
 // no connections, and the single root group.
 this.self = new SimpleUser(username,
-Collections.emptyList(),
-Collections.singleton(DEFAULT_ROOT_CONNECTION_GROUP)
+connectionDirectory.getIdentifiers(),
+Collections.singleton(ROOT_IDENTIFIER)
 );
 
-// Initia

[46/50] guacamole-client git commit: GUACAMOLE-38: Clean up comments and make a couple of methods private.

2018-06-03 Thread mjumper
GUACAMOLE-38: Clean up comments and make a couple of methods private.

Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/97d2d3a2
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/97d2d3a2
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/97d2d3a2

Branch: refs/heads/staging/1.0.0
Commit: 97d2d3a2c95403784bc3b0324194ef8be4333e13
Parents: 6d0b6d6
Author: Nick Couchman 
Authored: Wed May 30 11:23:00 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:53 2018 -0400

--
 .../auth/quickconnect/QuickConnectDirectory.java  | 16 
 .../quickconnect/QuickConnectUserContext.java | 11 ---
 .../auth/quickconnect/QuickConnectionGroup.java   |  6 +-
 .../auth/quickconnect/utility/QCParser.java   | 18 --
 4 files changed, 29 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/97d2d3a2/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
index 8841944..37b07ba 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
@@ -31,8 +31,8 @@ import org.apache.guacamole.net.auth.Connection;
 import org.apache.guacamole.protocol.GuacamoleConfiguration;
 
 /**
- * Implementation of a directory to stored Connection objects
- * completely in-memory.
+ * Implementation of a directory to store Connection objects
+ * completely in memory.
  */
 public class QuickConnectDirectory extends SimpleDirectory {
 
@@ -89,7 +89,7 @@ public class QuickConnectDirectory extends 
SimpleDirectory {
  * identifier value of the new connection.
  *
  * @param config
- * The GuacamoleConfiguration to use to create the
+ * The GuacamoleConfiguration object to use to create the
  * SimpleConnection object.
  *
  * @return
@@ -100,23 +100,23 @@ public class QuickConnectDirectory extends 
SimpleDirectory {
  */
 public String create(GuacamoleConfiguration config) throws 
GuacamoleException {
 
-// Get the next connection identifier.
-String connectionId = Integer.toString(getNextConnectionID());
+// Get the next available connection identifier.
+String newConnectionId = Integer.toString(getNextConnectionID());
 
 // Generate a name for the configuration.
 String name = QCParser.getName(config);
 
 // Create a new connection and set the parent identifier.
-Connection connection = new SimpleConnection(name, connectionId, 
config);
+Connection connection = new SimpleConnection(name, newConnectionId, 
config);
 
connection.setParentIdentifier(QuickConnectUserContext.ROOT_IDENTIFIER);
 
 // Place the object in this directory.
 add(connection);
 
 // Add connection to the tree.
-this.rootGroup.addConnectionIdentifier(connectionId);
+rootGroup.addConnectionIdentifier(newConnectionId);
 
-return connectionId;
+return newConnectionId;
 }
 
 }

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/97d2d3a2/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
index 36a5a8f..d7e23ed 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
@@ -29,7 +29,7 @@ import org.apache.guacamole.net.auth.User;
 import org.apache.guacamole.net.auth.simple.SimpleUser;
 
 /**
- * A simple implementation of UserContext to support the QuickConnect
+ * A simple implementation of UserContext to support this
  * extension, used for storing connections the user has created
  * with the QuickConnect bar in the webapp.
  */
@@ -71,12 +71,17 @@ public class Qui

[20/50] guacamole-client git commit: GUACAMOLE-38: Tweak to regex and correct behavior of matcher.

2018-06-03 Thread mjumper
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 
Authored: Sun Mar 25 15:02:16 2018 -0400
Committer: Nick Couchman 
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);
+}
 
 }
 



[48/50] guacamole-client git commit: GUACAMOLE-38: Remove default protocol and port, throw errors if not specified.

2018-06-03 Thread mjumper
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 
Authored: Mon May 21 09:56:50 2018 -0400
Committer: Nick Couchman 
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()) {



[15/50] guacamole-client git commit: GUACAMOLE-38: Fix up string checks in QCParser class.

2018-06-03 Thread mjumper
GUACAMOLE-38: Fix up string checks in QCParser class.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/cf241f04
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/cf241f04
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/cf241f04

Branch: refs/heads/master
Commit: cf241f041e34e64515fe185314af5ade5b716309
Parents: 0cbf90a
Author: Nick Couchman 
Authored: Tue Apr 17 22:29:46 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 .../auth/quickconnect/utility/QCParser.java | 22 ++--
 1 file changed, 11 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/cf241f04/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 be157dc..ba6e3fd 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
@@ -95,16 +95,16 @@ public class QCParser {
 String password = null;
 List paramList = null;
 
-if (protocol == null || protocol.equals(""))
+if (protocol == null || protocol.isEmpty())
 protocol = DEFAULT_URI_PROTOCOL;
 
-if (host == null || host.equals(""))
+if (host == null || host.isEmpty())
 host = DEFAULT_URI_HOST;
 
-if (query != null && !query.equals(""))
+if (query != null && !query.isEmpty())
 paramList = Arrays.asList(query.split("&"));
 
-if (userInfo != null && !userInfo.equals("")) {
+if (userInfo != null && !userInfo.isEmpty()) {
 
 Matcher userinfoMatcher = userinfoPattern.matcher(userInfo);
 if (userinfoMatcher.matches()) {
@@ -121,15 +121,15 @@ public class QCParser {
 if (port > 0)
 qcConfig.setParameter("port", Integer.toString(port));
 
-if (username != null && username.length() > 0)
+if (username != null && !username.isEmpty())
 qcConfig.setParameter("username", username);
 
-if (password != null && password.length() > 0)
+if (password != null && !password.isEmpty())
 qcConfig.setParameter("password", password);
 
 if (paramList != null) {
 for (String parameter : paramList) {
-String[] paramArray = parameter.split("=");
+String[] paramArray = parameter.split("=", 2);
 qcConfig.setParameter(paramArray[0],paramArray[1]);
 }
 }
@@ -166,16 +166,16 @@ public class QCParser {
 
 String name = "";
 
-if (protocol != null && !protocol.equals(""))
+if (protocol != null && !protocol.isEmpty())
 name += protocol + "://";
 
-if (user != null && !user.equals(""))
+if (user != null && !user.isEmpty())
 name += user + "@";
 
-if (host != null && !host.equals(""))
+if (host != null && !host.isEmpty())
 name += host;
 
-if (port != null && !port.equals(""))
+if (port != null && !port.isEmpty())
 name += ":" + port;
 
 name += "/";



[46/50] guacamole-client git commit: GUACAMOLE-38: Clean up comments and make a couple of methods private.

2018-06-03 Thread mjumper
GUACAMOLE-38: Clean up comments and make a couple of methods private.

Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/97d2d3a2
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/97d2d3a2
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/97d2d3a2

Branch: refs/heads/master
Commit: 97d2d3a2c95403784bc3b0324194ef8be4333e13
Parents: 6d0b6d6
Author: Nick Couchman 
Authored: Wed May 30 11:23:00 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:53 2018 -0400

--
 .../auth/quickconnect/QuickConnectDirectory.java  | 16 
 .../quickconnect/QuickConnectUserContext.java | 11 ---
 .../auth/quickconnect/QuickConnectionGroup.java   |  6 +-
 .../auth/quickconnect/utility/QCParser.java   | 18 --
 4 files changed, 29 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/97d2d3a2/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
index 8841944..37b07ba 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
@@ -31,8 +31,8 @@ import org.apache.guacamole.net.auth.Connection;
 import org.apache.guacamole.protocol.GuacamoleConfiguration;
 
 /**
- * Implementation of a directory to stored Connection objects
- * completely in-memory.
+ * Implementation of a directory to store Connection objects
+ * completely in memory.
  */
 public class QuickConnectDirectory extends SimpleDirectory {
 
@@ -89,7 +89,7 @@ public class QuickConnectDirectory extends 
SimpleDirectory {
  * identifier value of the new connection.
  *
  * @param config
- * The GuacamoleConfiguration to use to create the
+ * The GuacamoleConfiguration object to use to create the
  * SimpleConnection object.
  *
  * @return
@@ -100,23 +100,23 @@ public class QuickConnectDirectory extends 
SimpleDirectory {
  */
 public String create(GuacamoleConfiguration config) throws 
GuacamoleException {
 
-// Get the next connection identifier.
-String connectionId = Integer.toString(getNextConnectionID());
+// Get the next available connection identifier.
+String newConnectionId = Integer.toString(getNextConnectionID());
 
 // Generate a name for the configuration.
 String name = QCParser.getName(config);
 
 // Create a new connection and set the parent identifier.
-Connection connection = new SimpleConnection(name, connectionId, 
config);
+Connection connection = new SimpleConnection(name, newConnectionId, 
config);
 
connection.setParentIdentifier(QuickConnectUserContext.ROOT_IDENTIFIER);
 
 // Place the object in this directory.
 add(connection);
 
 // Add connection to the tree.
-this.rootGroup.addConnectionIdentifier(connectionId);
+rootGroup.addConnectionIdentifier(newConnectionId);
 
-return connectionId;
+return newConnectionId;
 }
 
 }

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/97d2d3a2/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
index 36a5a8f..d7e23ed 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
@@ -29,7 +29,7 @@ import org.apache.guacamole.net.auth.User;
 import org.apache.guacamole.net.auth.simple.SimpleUser;
 
 /**
- * A simple implementation of UserContext to support the QuickConnect
+ * A simple implementation of UserContext to support this
  * extension, used for storing connections the user has created
  * with the QuickConnect bar in the webapp.
  */
@@ -71,12 +71,17 @@ public class QuickConne

[38/50] guacamole-client git commit: GUACAMOLE-38: Fix issues with root identifier and directory.

2018-06-03 Thread mjumper
GUACAMOLE-38: Fix issues with root identifier and directory.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/7df88cdf
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/7df88cdf
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/7df88cdf

Branch: refs/heads/master
Commit: 7df88cdfbd22bd0964a634736c348b7475c5cd1b
Parents: 555b26a
Author: Nick Couchman 
Authored: Tue May 8 16:28:10 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../quickconnect/QuickConnectDirectory.java |  7 +--
 .../quickconnect/QuickConnectUserContext.java   | 21 
 2 files changed, 14 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/7df88cdf/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
index 5070ea6..ceb8c80 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
@@ -37,11 +37,6 @@ import org.apache.guacamole.protocol.GuacamoleConfiguration;
 public class QuickConnectDirectory extends SimpleDirectory {
 
 /**
- * The unique identifier of the root connection group.
- */
-private static final String ROOT_IDENTIFIER = "ROOT";
-
-/**
  * The connections to store.
  */
 private final Map connections =
@@ -113,7 +108,7 @@ public class QuickConnectDirectory extends 
SimpleDirectory {
 
 // Create a new connection and set the parent identifier.
 Connection connection = new SimpleConnection(name, connectionId, 
config);
-connection.setParentIdentifier(ROOT_IDENTIFIER);
+
connection.setParentIdentifier(QuickConnectUserContext.ROOT_IDENTIFIER);
 
 // Place the object in this directory.
 add(connection);

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/7df88cdf/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
index 32f4b37..aa98db7 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
@@ -38,6 +38,11 @@ import org.apache.guacamole.net.auth.simple.SimpleUser;
 public class QuickConnectUserContext extends AbstractUserContext {
 
 /**
+ * The unique identifier of the root connection group.
+ */
+public static final String ROOT_IDENTIFIER = DEFAULT_ROOT_CONNECTION_GROUP;
+
+/**
  * The AuthenticationProvider that created this UserContext.
  */
 private final AuthenticationProvider authProvider;
@@ -71,25 +76,25 @@ public class QuickConnectUserContext extends 
AbstractUserContext {
  * The name of the user logging in and using this class.
  */
 public QuickConnectUserContext(AuthenticationProvider authProvider,
-String username) {
+String username) throws GuacamoleException {
 
 // Initialize the rootGroup to a basic connection group with a
 // single root identifier.
 this.rootGroup = new QuickConnectionGroup(
-DEFAULT_ROOT_CONNECTION_GROUP,
-DEFAULT_ROOT_CONNECTION_GROUP
+ROOT_IDENTIFIER,
+ROOT_IDENTIFIER
 );
 
+// Initialize the connection directory
+this.connectionDirectory = new QuickConnectDirectory(this.rootGroup);
+
 // Initialize the user to a SimpleUser with the provided username,
 // no connections, and the single root group.
 this.self = new SimpleUser(username,
-Collections.emptyList(),
-Collections.singleton(DEFAULT_ROOT_CONNECTION_GROUP)
+connectionDirectory.getIdentifiers(),
+Collections.singleton(ROOT_IDENTIFIER)
 );
 
-// Initialize th

[40/50] guacamole-client git commit: GUACAMOLE-38: Clean up minor code issues.

2018-06-03 Thread mjumper
GUACAMOLE-38: Clean up minor code issues.

Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/aaada49d
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/aaada49d
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/aaada49d

Branch: refs/heads/master
Commit: aaada49dfefdb7aab794ebc6054976686fc57970
Parents: 27f4ad0
Author: Nick Couchman 
Authored: Mon May 14 14:00:50 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:53 2018 -0400

--
 .../auth/quickconnect/QuickConnectDirectory.java  |  2 +-
 .../auth/quickconnect/QuickConnectUserContext.java|  2 --
 .../guacamole/auth/quickconnect/QuickConnectionGroup.java |  2 +-
 .../auth/quickconnect/rest/QuickConnectREST.java  |  2 +-
 .../guacamole/auth/quickconnect/utility/QCParserTest.java | 10 +-
 5 files changed, 12 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/aaada49d/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
index ceb8c80..8841944 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
@@ -50,7 +50,7 @@ public class QuickConnectDirectory extends 
SimpleDirectory {
 /**
  * The internal counter for connection IDs.
  */
-private AtomicInteger connectionId;
+private final AtomicInteger connectionId;
 
 /**
  * Creates a new QuickConnectDirectory with the default

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/aaada49d/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
index aa98db7..36a5a8f 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
@@ -25,9 +25,7 @@ import org.apache.guacamole.GuacamoleException;
 import org.apache.guacamole.net.auth.AbstractUserContext;
 import org.apache.guacamole.net.auth.AuthenticationProvider;
 import org.apache.guacamole.net.auth.ConnectionGroup;
-import org.apache.guacamole.net.auth.Directory;
 import org.apache.guacamole.net.auth.User;
-import org.apache.guacamole.net.auth.simple.SimpleDirectory;
 import org.apache.guacamole.net.auth.simple.SimpleUser;
 
 /**

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/aaada49d/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectionGroup.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectionGroup.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectionGroup.java
index b087c35..dfb60d1 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectionGroup.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectionGroup.java
@@ -39,7 +39,7 @@ public class QuickConnectionGroup extends 
AbstractConnectionGroup {
 /**
  * A set that will store the Connection identifiers for this group.
  */
-private Set connectionIdentifiers =
+private final Set connectionIdentifiers =
 new HashSet(Collections.emptyList());
 
 /**

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/aaada49d/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java

[03/50] guacamole-client git commit: GUACAMOLE-38: Style and typo fix-ups.

2018-06-03 Thread mjumper
GUACAMOLE-38: Style and typo fix-ups.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/6c235565
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/6c235565
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/6c235565

Branch: refs/heads/master
Commit: 6c235565b0d1c4c39576fad37de345669f118af8
Parents: 039c512
Author: Nick Couchman 
Authored: Sun Feb 18 21:10:49 2018 -0500
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:50 2018 -0400

--
 .../auth/quickconnect/QuickConnectAuthenticationProvider.java | 2 +-
 .../auth/quickconnect/QuickConnectConnectionGroup.java| 2 ++
 .../guacamole/auth/quickconnect/QuickConnectDirectory.java| 6 +++---
 .../guacamole/auth/quickconnect/QuickConnectUserContext.java  | 1 +
 .../apache/guacamole/auth/quickconnect/QuickConnection.java   | 2 ++
 .../guacamole/auth/quickconnect/rest/QuickConnectREST.java| 7 +++
 .../apache/guacamole/auth/quickconnect/utility/QCParser.java  | 2 +-
 7 files changed, 13 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/6c235565/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
index a94c7df..f725bdf 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
@@ -55,7 +55,7 @@ public class QuickConnectAuthenticationProvider extends 
SimpleAuthenticationProv
  * @param credentials
  * Credentials object passed in from Guacamole login.
  *
- * @returns
+ * @return
  * Returns null, which causes the client to move on to the next
  * module.
  */

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/6c235565/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
index 5abf0be..4faab1c 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
@@ -48,6 +48,7 @@ class QuickConnectConnectionGroup extends 
AbstractConnectionGroup {
  *
  * @param name
  * The name of the QuickConnectConnectionGroup.
+ *
  * @param identifier
  * The identifier of the QuickConnectConnectionGroup.
  */
@@ -67,6 +68,7 @@ class QuickConnectConnectionGroup extends 
AbstractConnectionGroup {
  *
  * @param identifier
  * The identifier of the connection to add to the group.
+ *
  * @return
  * The String identifier of the connection if the add
  * operation was successful; otherwise null.

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/6c235565/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
index 5c9606d..ce1fd1f 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
@@ -66,7 +66,7 @@ public class QuickConnectDirectory extends 
SimpleConnectionDirectory {
 /**
  * Returns the current counter and then increments it.
  *
- * @returns
+ * @return
  * An Integer representing the next available connection
  * ID to get used when adding conn

[29/50] guacamole-client git commit: GUACAMOLE-38: Handle encoded query parameters.

2018-06-03 Thread mjumper
GUACAMOLE-38: Handle encoded query parameters.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/963593ea
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/963593ea
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/963593ea

Branch: refs/heads/staging/1.0.0
Commit: 963593ea27831ae772f39d8f64b3d2d2a3ac5b8f
Parents: d4b7e2b
Author: Nick Couchman 
Authored: Thu Apr 19 06:01:37 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../auth/quickconnect/utility/QCParser.java  | 19 ++-
 1 file changed, 18 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/963593ea/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 7d5d7d4..650d561 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
@@ -19,16 +19,21 @@
 
 package org.apache.guacamole.auth.quickconnect.utility;
 
+import java.io.UnsupportedEncodingException;
 import java.lang.StringBuilder;
 import java.net.URI;
 import java.net.URISyntaxException;
+import java.net.URLDecoder;
 import java.util.Arrays;
 import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import org.apache.guacamole.GuacamoleClientException;
+import org.apache.guacamole.GuacamoleServerException;
 import org.apache.guacamole.GuacamoleException;
 import org.apache.guacamole.protocol.GuacamoleConfiguration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A utility class to parse out a URI into the settings necessary
@@ -37,6 +42,11 @@ import org.apache.guacamole.protocol.GuacamoleConfiguration;
 public class QCParser {
 
 /**
+ * Logger for this class.
+ */
+private final static Logger logger = 
LoggerFactory.getLogger(QCParser.class);
+
+/**
  * The default protocol to parse to if one is provided in
  * the incoming URI..
  */
@@ -131,7 +141,14 @@ public class QCParser {
 if (paramList != null) {
 for (String parameter : paramList) {
 String[] paramArray = parameter.split("=", 2);
-qcConfig.setParameter(paramArray[0],paramArray[1]);
+try {
+qcConfig.setParameter(URLDecoder.decode(paramArray[0], 
"UTF-8"),
+  URLDecoder.decode(paramArray[1], 
"UTF-8"));
+}
+catch (UnsupportedEncodingException e) {
+logger.error("Unexpected lack of UTF-8 encoding support.");
+throw new GuacamoleServerException("Unexpected lack of 
UTF-8 encoding support.", e);
+}
 }
 }
 



[28/50] guacamole-client git commit: GUACAMOLE-38: Add unit test for query string parser.

2018-06-03 Thread mjumper
GUACAMOLE-38: Add unit test for query string parser.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/aabc871d
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/aabc871d
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/aabc871d

Branch: refs/heads/staging/1.0.0
Commit: aabc871d7d05c4db1f4e3906e6a8c93b0fc9a30b
Parents: 1011845
Author: Nick Couchman 
Authored: Thu Apr 19 08:55:24 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 extensions/guacamole-auth-quickconnect/pom.xml  |  8 
 .../auth/quickconnect/utility/QCParser.java |  2 +-
 .../auth/quickconnect/utility/QCParserTest.java | 49 
 3 files changed, 58 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/aabc871d/extensions/guacamole-auth-quickconnect/pom.xml
--
diff --git a/extensions/guacamole-auth-quickconnect/pom.xml 
b/extensions/guacamole-auth-quickconnect/pom.xml
index e8d0440..b2fd922 100644
--- a/extensions/guacamole-auth-quickconnect/pom.xml
+++ b/extensions/guacamole-auth-quickconnect/pom.xml
@@ -193,6 +193,14 @@
 provided
 
 
+
+
+junit
+junit
+4.10
+test
+
+
 
 
 

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/aabc871d/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 4924619..c8e954a 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
@@ -167,7 +167,7 @@ public class QCParser {
  * @throws UnsupportedEncodingException
  * If Java lacks UTF-8 support.
  */
-private static Map parseQueryString(String queryStr)
+public static Map parseQueryString(String queryStr)
 throws UnsupportedEncodingException {
 
 // Split the query string into the pairs

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/aabc871d/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java
 
b/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java
new file mode 100644
index 000..5567ea3
--- /dev/null
+++ 
b/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.guacamole.auth.quickconnect.utility;
+
+import java.io.UnsupportedEncodingException;
+import java.util.HashMap;
+import java.util.Map;
+import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+
+/**
+ * Class to test methods in the QCParser utility class.
+ */
+public class QCParserTest {
+
+/**
+ * Verify that the parseQueryString() method functions as designed.
+ */
+@Test
+public void testParseQueryString() throws UnsupportedEncodingException {
+
+final String queryString = 
"param1=value1¶m2=value2=3¶m3=value%3D3¶m4=value%264";
+Map queryMap = QCParser.parseQueryString(queryString);
+
+assertEquals("value1", queryMap.get("param1"));
+assertEquals("va

[42/50] guacamole-client git commit: GUACAMOLE-38: REST service should return proper JSON.

2018-06-03 Thread mjumper
GUACAMOLE-38: REST service should return proper JSON.

Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/b283adc7
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/b283adc7
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/b283adc7

Branch: refs/heads/staging/1.0.0
Commit: b283adc73a8296ce53296ea1992c5e88af4ceb46
Parents: 7302013
Author: Nick Couchman 
Authored: Tue May 22 22:15:58 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:53 2018 -0400

--
 .../guacamole/auth/quickconnect/rest/QuickConnectREST.java| 7 +--
 .../src/main/resources/services/quickConnectService.js| 2 +-
 2 files changed, 6 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/b283adc7/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
index cee7591..275e1a4 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
@@ -19,6 +19,8 @@
 
 package org.apache.guacamole.auth.quickconnect.rest;
 
+import java.util.Collections;
+import java.util.Map;
 import javax.ws.rs.FormParam;
 import javax.ws.rs.Path;
 import javax.ws.rs.POST;
@@ -68,10 +70,11 @@ public class QuickConnectREST {
  */
 @POST
 @Path("create")
-public String create(@FormParam("uri") String uri) 
+public Map create(@FormParam("uri") String uri) 
 throws GuacamoleException {
 
-return directory.create(QCParser.getConfiguration(uri));
+return Collections.singletonMap("identifier",
+directory.create(QCParser.getConfiguration(uri)));
  
 }
 

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/b283adc7/extensions/guacamole-auth-quickconnect/src/main/resources/services/quickConnectService.js
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/resources/services/quickConnectService.js
 
b/extensions/guacamole-auth-quickconnect/src/main/resources/services/quickConnectService.js
index b5f9475..0da2980 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/resources/services/quickConnectService.js
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/resources/services/quickConnectService.js
@@ -60,7 +60,7 @@ 
angular.module('guacQuickConnect').factory('quickConnectService', ['$injector',
 cacheService.users.removeAll();
 
 // Pass on the connection identifier
-return connectionId;
+return connectionId.identifier;
 });
 
 };



[18/50] guacamole-client git commit: GUACAMOLE-38: Remove unnecessary null check.

2018-06-03 Thread mjumper
GUACAMOLE-38: Remove unnecessary null check.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/8ed356a7
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/8ed356a7
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/8ed356a7

Branch: refs/heads/staging/1.0.0
Commit: 8ed356a7f2d96675a8751cc87c0e5ec06f3c8653
Parents: add78b9
Author: Nick Couchman 
Authored: Sat Mar 24 22:06:21 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 .../apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java | 3 ---
 1 file changed, 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/8ed356a7/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
index 42e53a2..aef5ca3 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
@@ -91,9 +91,6 @@ public class QuickConnectREST {
 public String create(@FormParam("uri") String uri) 
 throws GuacamoleException {
 
-if (directory == null)
-throw new GuacamoleServerException("No connection directory 
available.");
-
 return directory.create(QCParser.getConfiguration(uri));
  
 }



[21/50] guacamole-client git commit: GUACAMOLE-38: Switch to regex for parsing username and password.

2018-06-03 Thread mjumper
GUACAMOLE-38: Switch to regex for parsing username and password.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/16130b32
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/16130b32
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/16130b32

Branch: refs/heads/staging/1.0.0
Commit: 16130b32fef8a26a54af2d02015bf843a1b6266e
Parents: 9ab50a2
Author: Nick Couchman 
Authored: Sun Mar 25 09:09:34 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 .../auth/quickconnect/utility/QCParser.java | 31 +++-
 1 file changed, 24 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/16130b32/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 30121df..6bd0435 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
@@ -23,6 +23,8 @@ import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.Arrays;
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 import org.apache.guacamole.GuacamoleClientException;
 import org.apache.guacamole.GuacamoleException;
 import org.apache.guacamole.protocol.GuacamoleConfiguration;
@@ -45,6 +47,21 @@ public class QCParser {
 public static final String DEFAULT_URI_HOST = "localhost";
 
 /**
+ * The regex to use to split username and password.
+ */
+private static final Pattern userinfoPattern = 
Pattern.compile("(^[^:]+):(.*)");
+
+/**
+ * The regex group of the username.
+ */
+private static final int USERNAME_GROUP = 1;
+
+/**
+ * THe regex group of the password.
+ */
+private static final int PASSWORD_GROUP = 2;
+
+/**
  * Parse out a URI string and get a connection from that string,
  * or an exception if the parsing fails.
  *
@@ -88,11 +105,11 @@ public class QCParser {
 paramList = Arrays.asList(query.split("&"));
 
 if (userInfo != null && !userInfo.equals("")) {
-String[] authenticators = userInfo.split(":");
-if (authenticators.length > 0 && authenticators[0] != null)
-username = authenticators[0];
-if (authenticators.length > 1 && authenticators[1] != null)
-password = authenticators[1];
+
+Matcher userinfoMatcher = userinfoPattern.matcher(userInfo);
+username = userinfoMatcher.group(USERNAME_GROUP);
+password = userinfoMatcher.group(PASSWORD_GROUP);
+
 }
 
 GuacamoleConfiguration qcConfig = new GuacamoleConfiguration();
@@ -102,10 +119,10 @@ public class QCParser {
 if (port > 0)
 qcConfig.setParameter("port", Integer.toString(port));
 
-if (username != null)
+if (username != null && username.length() > 0)
 qcConfig.setParameter("username", username);
 
-if (password != null)
+if (password != null && password.length() > 0)
 qcConfig.setParameter("password", password);
 
 if (paramList != null) {



[12/50] guacamole-client git commit: GUACAMOLE-38: Remove unnecessary style element.

2018-06-03 Thread mjumper
GUACAMOLE-38: Remove unnecessary style element.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/add78b9c
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/add78b9c
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/add78b9c

Branch: refs/heads/master
Commit: add78b9cdb29ecf6469dce303a7d9974a3a7e677
Parents: fb5d272
Author: Nick Couchman 
Authored: Sat Mar 24 22:02:03 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 .../src/main/resources/styles/quickconnect.css   | 4 
 1 file changed, 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/add78b9c/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
 
b/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
index 49a407b..ee0c2f5 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
@@ -38,10 +38,6 @@
 box-sizing: border-box;
 }
 
-.quickconnect-field input[type="submit"] {
-display: none !important;
-}
-
 .quickconnect-button {
 clear: both;
 float: right;



[21/50] guacamole-client git commit: GUACAMOLE-38: Avoid unnuecessary type-casting.

2018-06-03 Thread mjumper
GUACAMOLE-38: Avoid unnuecessary type-casting.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/9ab50a23
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/9ab50a23
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/9ab50a23

Branch: refs/heads/master
Commit: 9ab50a239c818a21f3a39ddeb84576939d721fb3
Parents: c50d372
Author: Nick Couchman 
Authored: Sat Mar 24 22:34:56 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 .../guacamole/auth/quickconnect/QuickConnectUserContext.java | 4 ++--
 .../guacamole/auth/quickconnect/rest/QuickConnectREST.java   | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/9ab50a23/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
index d9eb389..06ef630 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
@@ -80,7 +80,7 @@ public class QuickConnectUserContext implements UserContext {
  * The Directory with access to all connections within the root group
  * associated with this UserContext.
  */
-private final Directory connectionDirectory;
+private final QuickConnectDirectory connectionDirectory;
 
 /**
  * The root connection group.
@@ -157,7 +157,7 @@ public class QuickConnectUserContext implements UserContext 
{
 }
 
 @Override
-public Directory getConnectionDirectory()
+public QuickConnectDirectory getConnectionDirectory()
 throws GuacamoleException {
 return connectionDirectory;
 }

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/9ab50a23/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
index aef5ca3..d11bd06 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
@@ -69,7 +69,7 @@ public class QuickConnectREST {
 public QuickConnectREST(QuickConnectUserContext userContext)
 throws GuacamoleException {
 this.userContext = userContext;
-this.directory = 
(QuickConnectDirectory)this.userContext.getConnectionDirectory();
+this.directory = this.userContext.getConnectionDirectory();
 }
 
 /**



[43/50] guacamole-client git commit: GUACAMOLE-38: Put userInfo directly into configuration.

2018-06-03 Thread mjumper
GUACAMOLE-38: Put userInfo directly into configuration.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/84e71a02
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/84e71a02
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/84e71a02

Branch: refs/heads/master
Commit: 84e71a029c9a664d4dafa9638511ff468525d115
Parents: aaada49
Author: Nick Couchman 
Authored: Thu May 17 19:58:12 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:53 2018 -0400

--
 .../auth/quickconnect/utility/QCParser.java | 37 
 .../auth/quickconnect/utility/QCParserTest.java | 37 +++-
 2 files changed, 35 insertions(+), 39 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/84e71a02/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 2c0b6dc..60b4b9c 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
@@ -137,13 +137,7 @@ public class QCParser {
 if (userInfo != null && !userInfo.isEmpty()) {
 
 try {
-Map userInfoParams = parseUserInfo(userInfo);
-
-if (userInfoParams.containsKey("username"))
-qcConfig.setParameter("username", 
userInfoParams.get("username"));
-
-if (userInfoParams.containsKey("password"))
-qcConfig.setParameter("password", 
userInfoParams.get("password"));
+parseUserInfo(userInfo, qcConfig);
 }
 catch (UnsupportedEncodingException e) {
 throw new GuacamoleServerException("Unexpected lack of UTF-8 
encoding support.", e);
@@ -186,39 +180,38 @@ public class QCParser {
 
 /**
  * Parse the given string for username and password values,
- * and return a map containing the username, password
- * or both.
+ * and, if values are present, decode them and set them in
+ * the provided GuacamoleConfiguration object.
  *
  * @param userInfo
  * The string to parse for username/password values.
- * 
- * @return
- * A map with the username, password, or both.
+ *
+ * @param config
+ * The GuacamoleConfiguration object to store the username
+ * and password in.
  *
  * @throws UnsupportedEncodingException
  * If Java lacks UTF-8 support.
  */
-public static Map parseUserInfo(String userInfo)
+public static void parseUserInfo(String userInfo, 
+GuacamoleConfiguration config)
 throws UnsupportedEncodingException {
 
-Map userInfoMap = new HashMap();
 Matcher userinfoMatcher = userinfoPattern.matcher(userInfo);
 
 if (userinfoMatcher.matches()) {
-String username = URLDecoder.decode(
-userinfoMatcher.group(USERNAME_GROUP), "UTF-8");
-String password = URLDecoder.decode(
-userinfoMatcher.group(PASSWORD_GROUP), "UTF-8");
+String username = userinfoMatcher.group(USERNAME_GROUP);
+String password = userinfoMatcher.group(PASSWORD_GROUP);
 
 if (username != null && !username.isEmpty())
-userInfoMap.put("username", username);
+config.setParameter("username",
+URLDecoder.decode(username, "UTF-8"));
 
 if (password != null && !password.isEmpty())
-userInfoMap.put("password", password);
+config.setParameter("password",
+URLDecoder.decode(password, "UTF-8"));
 }
 
-return userInfoMap;
-
 }
 
 /**

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/84e71a02/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java
 
b/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java
index d63a521..50ad7d6 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/test/j

[08/50] guacamole-client git commit: GUACAMOLE-38: Extend SimpleConnection instead of copying code manually.

2018-06-03 Thread mjumper
GUACAMOLE-38: Extend SimpleConnection instead of copying code manually.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/a3d85122
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/a3d85122
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/a3d85122

Branch: refs/heads/master
Commit: a3d851228eb523782ce20965be4391645d86f014
Parents: 2113d1a
Author: Nick Couchman 
Authored: Fri Mar 16 14:54:05 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:50 2018 -0400

--
 .../auth/quickconnect/QuickConnection.java  | 89 ++--
 1 file changed, 5 insertions(+), 84 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/a3d85122/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnection.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnection.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnection.java
index a2f3814..2603f17 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnection.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnection.java
@@ -36,6 +36,7 @@ import org.apache.guacamole.net.auth.AbstractConnection;
 import org.apache.guacamole.net.auth.Connection;
 import org.apache.guacamole.net.auth.ConnectionRecord;
 import org.apache.guacamole.net.auth.GuacamoleProxyConfiguration;
+import org.apache.guacamole.net.auth.simple.SimpleConnection;
 import org.apache.guacamole.protocol.ConfiguredGuacamoleSocket;
 import org.apache.guacamole.protocol.GuacamoleClientInformation;
 import org.apache.guacamole.protocol.GuacamoleConfiguration;
@@ -43,12 +44,7 @@ import org.apache.guacamole.protocol.GuacamoleConfiguration;
 /**
  * A type of Connection specific to this authentication extension.
  */
-public class QuickConnection extends AbstractConnection {
-
-/**
- * Backing configuration, containing all sensitive information.
- */
-private GuacamoleConfiguration config;
+public class QuickConnection extends SimpleConnection {
 
 /**
  * Number of active connections.
@@ -80,12 +76,7 @@ public class QuickConnection extends AbstractConnection {
 public QuickConnection(String name, String identifier,
 GuacamoleConfiguration config) {
 
-setName(name);
-
-setIdentifier(identifier);
-
-setConfiguration(config);
-this.config = config;
+super(name, identifier, config);
 
 this.activeConnections = 0;
 
@@ -101,81 +92,11 @@ public class QuickConnection extends AbstractConnection {
  */
 public QuickConnection(Connection object) {
 
-setName(object.getName());
-setIdentifier(object.getIdentifier());
+
super(object.getName(),object.getIdentifier(),object.getConfiguration());
+
 setParentIdentifier(object.getParentIdentifier());
-setConfiguration(object.getConfiguration());
-this.config = object.getConfiguration();
 this.activeConnections = 0;
 
 }
 
-@Override
-public int getActiveConnections() {
-return activeConnections;
-}
-
-@Override
-public Map getAttributes() {
-return Collections.emptyMap();
-}
-
-@Override
-public void setAttributes(Map attributes) {
-// Do nothing - there are no attributes
-}
-
-@Override
-public GuacamoleTunnel connect(GuacamoleClientInformation info)
-throws GuacamoleException {
-
-// Retrieve proxy configuration from environment
-Environment environment = new LocalEnvironment();
-GuacamoleProxyConfiguration proxyConfig = 
environment.getDefaultGuacamoleProxyConfiguration();
-
-// Get guacd connection parameters
-String hostname = proxyConfig.getHostname();
-int port = proxyConfig.getPort();
-
-GuacamoleSocket socket;
-
-// Determine socket type based on required encryption method
-switch (proxyConfig.getEncryptionMethod()) {
-
-// If guacd requires SSL, use it
-case SSL:
-socket = new ConfiguredGuacamoleSocket(
-new SSLGuacamoleSocket(hostname, port),
-config, info
-);
-break;
-
-// Connect directly via TCP if encryption is not enabled
-case NONE:
-socket = new ConfiguredGuacamoleSocket(
-new InetGuacamoleSocket(hostname, port),
-config

[10/50] guacamole-client git commit: GUACAMOLE-38: Get rid of unnecessary userContext initialization.

2018-06-03 Thread mjumper
GUACAMOLE-38: Get rid of unnecessary userContext initialization.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/b31b09a2
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/b31b09a2
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/b31b09a2

Branch: refs/heads/master
Commit: b31b09a2f5b0562cf6ed971660c319a833b735c7
Parents: 6a922a7
Author: Nick Couchman 
Authored: Tue Apr 17 21:36:38 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 .../QuickConnectAuthenticationProvider.java | 12 ++--
 1 file changed, 2 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/b31b09a2/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
index 5223793..35fa8b7 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
@@ -31,11 +31,6 @@ import org.apache.guacamole.net.auth.UserContext;
  */
 public class QuickConnectAuthenticationProvider extends 
AbstractAuthenticationProvider {
 
-/**
- * userContext for this authentication provider.
- */
-private UserContext userContext;
-
 @Override
 public String getIdentifier() {
 return "quickconnect";
@@ -45,11 +40,8 @@ public class QuickConnectAuthenticationProvider extends 
AbstractAuthenticationPr
 public UserContext getUserContext(AuthenticatedUser authenticatedUser)
 throws GuacamoleException {
 
-if (userContext == null)
-userContext = new QuickConnectUserContext(this,
-authenticatedUser.getIdentifier());
-
-return userContext;
+return new QuickConnectUserContext(this,
+authenticatedUser.getIdentifier());
 
 }
 



[11/50] guacamole-client git commit: GUACAMOLE-38: Minor documentation tweaks.

2018-06-03 Thread mjumper
GUACAMOLE-38: Minor documentation tweaks.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/6a922a78
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/6a922a78
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/6a922a78

Branch: refs/heads/master
Commit: 6a922a781139e157cfa7cf5889e6e2f1e688693a
Parents: 12d92d2
Author: Nick Couchman 
Authored: Tue Apr 17 17:30:52 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 extensions/guacamole-auth-quickconnect/src/licenses/NOTICE   | 2 +-
 .../org/apache/guacamole/auth/quickconnect/utility/QCParser.java | 3 +--
 .../src/main/resources/controllers/quickconnectController.js | 4 
 3 files changed, 6 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/6a922a78/extensions/guacamole-auth-quickconnect/src/licenses/NOTICE
--
diff --git a/extensions/guacamole-auth-quickconnect/src/licenses/NOTICE 
b/extensions/guacamole-auth-quickconnect/src/licenses/NOTICE
index 47f2b4c..97e6130 100644
--- a/extensions/guacamole-auth-quickconnect/src/licenses/NOTICE
+++ b/extensions/guacamole-auth-quickconnect/src/licenses/NOTICE
@@ -1,5 +1,5 @@
 Apache Guacamole
-Copyright 2017 The Apache Software Foundation
+Copyright 2018 The Apache Software Foundation
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/6a922a78/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 d67d7ef..be157dc 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
@@ -148,8 +148,7 @@ public class QCParser {
  * the name.
  *
  * @return
- * The String value of the name that is generated, or
- * null if no config is provided.
+ * The String value of the name that is generated.
  *
  * @throws GuacamoleException
  * If an error occurs getting items in the configuration.

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/6a922a78/extensions/guacamole-auth-quickconnect/src/main/resources/controllers/quickconnectController.js
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/resources/controllers/quickconnectController.js
 
b/extensions/guacamole-auth-quickconnect/src/main/resources/controllers/quickconnectController.js
index 0313730..640034f 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/resources/controllers/quickconnectController.js
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/resources/controllers/quickconnectController.js
@@ -43,6 +43,10 @@ 
angular.module('guacQuickConnect').controller('quickconnectController', ['$scope
 }
 };
 
+/**
+ * The URI that will be passed in to the extension to create
+ * the connection.
+ */
 $scope.uri = null;
 
 /**



[29/50] guacamole-client git commit: GUACAMOLE-38: REST class only needs directory, not entire userContext object.

2018-06-03 Thread mjumper
GUACAMOLE-38: REST class only needs directory, not entire userContext object.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/d9751f20
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/d9751f20
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/d9751f20

Branch: refs/heads/master
Commit: d9751f20d0427379e247af803311081f0dcc27cd
Parents: 963593e
Author: Nick Couchman 
Authored: Thu Apr 19 06:29:06 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../auth/quickconnect/QuickConnectUserContext.java   |  2 +-
 .../auth/quickconnect/rest/QuickConnectREST.java | 15 ---
 2 files changed, 5 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/d9751f20/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
index 4382659..d2315e5 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
@@ -114,7 +114,7 @@ public class QuickConnectUserContext extends 
AbstractUserContext {
 
 @Override
 public Object getResource() throws GuacamoleException {
-return new QuickConnectREST(this);
+return new QuickConnectREST(connectionDirectory);
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/d9751f20/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
index 48dec4c..4b0b9fd 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
@@ -26,7 +26,6 @@ import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import org.apache.guacamole.GuacamoleException;
 import org.apache.guacamole.auth.quickconnect.QuickConnectDirectory;
-import org.apache.guacamole.auth.quickconnect.QuickConnectUserContext;
 import org.apache.guacamole.auth.quickconnect.utility.QCParser;
 
 /**
@@ -42,25 +41,19 @@ public class QuickConnectREST {
 private QuickConnectDirectory directory;
 
 /**
- * The UserContext object for this REST endpoint.
- */
-private QuickConnectUserContext userContext;
-
-/**
  * Construct a new QuickConnectREST class, taking in the UserContext
  * object that calls this constructor.
  *
- * @param userContext
- * The UserContext object associated with this REST endpoint
+ * @param directory
+ * The ConnectionDirectory object associated with this REST endpoint
  *
  * @throws GuacamoleException
  * If the UserContext is unavailable or the directory object
  * cannot be retrieved.
  */
-public QuickConnectREST(QuickConnectUserContext userContext)
+public QuickConnectREST(QuickConnectDirectory directory)
 throws GuacamoleException {
-this.userContext = userContext;
-this.directory = this.userContext.getConnectionDirectory();
+this.directory = directory;
 }
 
 /**



[50/50] guacamole-client git commit: Merge 1.0.0 changes back to master.

2018-06-03 Thread mjumper
Merge 1.0.0 changes back to master.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/2daf38b3
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/2daf38b3
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/2daf38b3

Branch: refs/heads/master
Commit: 2daf38b32cee90257ce957f0f366c527d8bda409
Parents: 2fb377a 72bc8c0
Author: Michael Jumper 
Authored: Sun Jun 3 12:05:55 2018 -0700
Committer: Michael Jumper 
Committed: Sun Jun 3 12:05:55 2018 -0700

--
 extensions/guacamole-auth-quickconnect/pom.xml  | 206 +++
 .../src/licenses/LICENSE| 202 +++
 .../src/licenses/NOTICE |   5 +
 .../src/main/assembly/dist.xml  |  53 
 .../QuickConnectAuthenticationProvider.java |  48 
 .../quickconnect/QuickConnectDirectory.java | 122 +
 .../quickconnect/QuickConnectException.java |  86 +++
 .../quickconnect/QuickConnectUserContext.java   | 131 ++
 .../auth/quickconnect/QuickConnectionGroup.java | 117 +
 .../quickconnect/rest/QuickConnectREST.java |  82 ++
 .../auth/quickconnect/utility/QCParser.java | 256 +++
 .../controllers/quickconnectController.js   |  59 +
 .../src/main/resources/guac-manifest.json   |  31 +++
 .../src/main/resources/quickconnectModule.js|  28 ++
 .../resources/services/quickConnectService.js   |  69 +
 .../src/main/resources/styles/quickconnect.css  |  53 
 .../resources/templates/quickconnectField.html  |  11 +
 .../src/main/resources/translations/en.json |  18 ++
 .../auth/quickconnect/utility/QCParserTest.java | 122 +
 pom.xml |   1 +
 20 files changed, 1700 insertions(+)
--




[02/50] guacamole-client git commit: GUACAMOLE-38: Fix parameter name to sometihng more fitting to its function.

2018-06-03 Thread mjumper
GUACAMOLE-38: Fix parameter name to sometihng more fitting to its function.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/2113d1aa
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/2113d1aa
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/2113d1aa

Branch: refs/heads/master
Commit: 2113d1aa96cc5595108adbd30f94b59c9c023825
Parents: 6c23556
Author: Nick Couchman 
Authored: Fri Mar 16 14:37:05 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:50 2018 -0400

--
 .../auth/quickconnect/QuickConnectDirectory.java  | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/2113d1aa/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
index ce1fd1f..00c5044 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
@@ -86,7 +86,7 @@ public class QuickConnectDirectory extends 
SimpleConnectionDirectory {
  * QuickConnection connection, after setting the identifier
  * and parent object.
  *
- * @param object
+ * @param connection
  * The QuickConnection object to add to the tree.
  *
  * @return
@@ -96,17 +96,17 @@ public class QuickConnectDirectory extends 
SimpleConnectionDirectory {
  * If an error is encountered adding the object to the
  * directory.
  */
-public String put(QuickConnection object) throws GuacamoleException {
+public String put(QuickConnection connection) throws GuacamoleException {
 
 // Get the next connection ID.
 String connectionId = getNextConnectionID().toString();
 
 // Set up identifier and parent on object.
-object.setIdentifier(connectionId);
-object.setParentIdentifier(ROOT_IDENTIFIER);
+connection.setIdentifier(connectionId);
+connection.setParentIdentifier(ROOT_IDENTIFIER);
 
 // Add connection to the directory
-putConnection(object);
+putConnection(connection);
 
 // Add connection to the tree
 this.rootGroup.addConnectionIdentifier(connectionId);



[18/50] guacamole-client git commit: GUACAMOLE-38: Remove unnecessary null check.

2018-06-03 Thread mjumper
GUACAMOLE-38: Remove unnecessary null check.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/8ed356a7
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/8ed356a7
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/8ed356a7

Branch: refs/heads/master
Commit: 8ed356a7f2d96675a8751cc87c0e5ec06f3c8653
Parents: add78b9
Author: Nick Couchman 
Authored: Sat Mar 24 22:06:21 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 .../apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java | 3 ---
 1 file changed, 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/8ed356a7/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
index 42e53a2..aef5ca3 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
@@ -91,9 +91,6 @@ public class QuickConnectREST {
 public String create(@FormParam("uri") String uri) 
 throws GuacamoleException {
 
-if (directory == null)
-throw new GuacamoleServerException("No connection directory 
available.");
-
 return directory.create(QCParser.getConfiguration(uri));
  
 }



[33/50] guacamole-client git commit: GUACAMOLE-38: Remove bundled aopalliance license.

2018-06-03 Thread mjumper
GUACAMOLE-38: Remove bundled aopalliance license.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/66294518
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/66294518
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/66294518

Branch: refs/heads/master
Commit: 6629451892f7ae160a0cfdea15b309b80da744fe
Parents: cfd1673
Author: Nick Couchman 
Authored: Sat Apr 28 08:28:03 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../src/licenses/LICENSE | 19 ---
 .../src/licenses/bundled/README  |  4 
 .../src/licenses/bundled/aopalliance-1.0/LICENSE |  4 
 3 files changed, 27 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/66294518/extensions/guacamole-auth-quickconnect/src/licenses/LICENSE
--
diff --git a/extensions/guacamole-auth-quickconnect/src/licenses/LICENSE 
b/extensions/guacamole-auth-quickconnect/src/licenses/LICENSE
index e8788bb..d645695 100644
--- a/extensions/guacamole-auth-quickconnect/src/licenses/LICENSE
+++ b/extensions/guacamole-auth-quickconnect/src/licenses/LICENSE
@@ -200,22 +200,3 @@
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-
-
-==
-
-APACHE GUACAMOLE SUBCOMPONENTS
-
-Apache Guacamole includes a number of subcomponents with separate copyright
-notices and license terms. Your use of these subcomponents is subject to the
-terms and conditions of the following licenses.
-
-
-AOP Alliance (http://aopalliance.sourceforge.net/)
---
-
-Version: 1.0
-From: 'AOP Alliance' (http://aopalliance.sourceforge.net/members.html)
-License(s):
-Public Domain (bundled/aopalliance-1.0/LICENSE)
-

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/66294518/extensions/guacamole-auth-quickconnect/src/licenses/bundled/README
--
diff --git a/extensions/guacamole-auth-quickconnect/src/licenses/bundled/README 
b/extensions/guacamole-auth-quickconnect/src/licenses/bundled/README
deleted file mode 100644
index 47ba19d..000
--- a/extensions/guacamole-auth-quickconnect/src/licenses/bundled/README
+++ /dev/null
@@ -1,4 +0,0 @@
-Apache Guacamole includes a number of subcomponents with separate copyright
-notices and license terms. Your use of these subcomponents is subject to the
-terms and conditions of their respective licenses, included within this
-directory for reference.

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/66294518/extensions/guacamole-auth-quickconnect/src/licenses/bundled/aopalliance-1.0/LICENSE
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/licenses/bundled/aopalliance-1.0/LICENSE
 
b/extensions/guacamole-auth-quickconnect/src/licenses/bundled/aopalliance-1.0/LICENSE
deleted file mode 100644
index 8e0e378..000
--- 
a/extensions/guacamole-auth-quickconnect/src/licenses/bundled/aopalliance-1.0/LICENSE
+++ /dev/null
@@ -1,4 +0,0 @@
-From http://aopalliance.sourceforge.net/:
-
-LICENCE: all the source code provided by AOP Alliance is Public Domain.
-



[07/50] guacamole-client git commit: GUACAMOLE-38: Make connection ID incrementing thread-safe.

2018-06-03 Thread mjumper
GUACAMOLE-38: Make connection ID incrementing thread-safe.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/8fa0cea7
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/8fa0cea7
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/8fa0cea7

Branch: refs/heads/master
Commit: 8fa0cea7936a5740cebf464902f8445dc30120c4
Parents: a3d8512
Author: Nick Couchman 
Authored: Sun Mar 18 20:42:37 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:50 2018 -0400

--
 .../auth/quickconnect/QuickConnectDirectory.java| 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/8fa0cea7/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
index 00c5044..2e19870 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
@@ -20,6 +20,7 @@
 package org.apache.guacamole.auth.quickconnect;
 
 import java.util.Collection;
+import java.util.concurrent.atomic.AtomicInteger;
 import org.apache.guacamole.GuacamoleException;
 import org.apache.guacamole.auth.quickconnect.utility.QCParser;
 import org.apache.guacamole.net.auth.ConnectionGroup;
@@ -46,7 +47,7 @@ public class QuickConnectDirectory extends 
SimpleConnectionDirectory {
 /**
  * The internal counter for connection IDs.
  */
-private int CONNECTION_ID = 0;
+private AtomicInteger connectionId;
 
 /**
  * Creates a new QuickConnectDirectory which provides access to the
@@ -61,6 +62,7 @@ public class QuickConnectDirectory extends 
SimpleConnectionDirectory {
 public QuickConnectDirectory(Collection connections, 
ConnectionGroup rootGroup) {
 super(connections);
 this.rootGroup = (QuickConnectConnectionGroup)rootGroup;
+this.connectionId = new AtomicInteger();
 }
 
 /**
@@ -70,8 +72,8 @@ public class QuickConnectDirectory extends 
SimpleConnectionDirectory {
  * An Integer representing the next available connection
  * ID to get used when adding connections.
  */
-private Integer getNextConnectionID() {
-return CONNECTION_ID++;
+private int getNextConnectionID() {
+return connectionId.getAndIncrement();
 }
 
 @Override
@@ -99,7 +101,7 @@ public class QuickConnectDirectory extends 
SimpleConnectionDirectory {
 public String put(QuickConnection connection) throws GuacamoleException {
 
 // Get the next connection ID.
-String connectionId = getNextConnectionID().toString();
+String connectionId = Integer.toString(getNextConnectionID());
 
 // Set up identifier and parent on object.
 connection.setIdentifier(connectionId);
@@ -132,7 +134,7 @@ public class QuickConnectDirectory extends 
SimpleConnectionDirectory {
 public String create(GuacamoleConfiguration config) throws 
GuacamoleException {
 
 // Get the next connection ID
-String connectionId = getNextConnectionID().toString();
+String connectionId = Integer.toString(getNextConnectionID());
 
 // Generate a name for the configuration
 String name = QCParser.getName(config);



[05/50] guacamole-client git commit: GUACAMOLE-38: Leave default port to individual protocols.

2018-06-03 Thread mjumper
GUACAMOLE-38: Leave default port to individual protocols.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/5c96cd63
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/5c96cd63
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/5c96cd63

Branch: refs/heads/master
Commit: 5c96cd63267abf184d9a689f694f0a1e4da453d5
Parents: 6c71f4d
Author: Nick Couchman 
Authored: Sat Mar 24 20:44:02 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:50 2018 -0400

--
 .../guacamole/auth/quickconnect/utility/QCParser.java   | 12 +++-
 1 file changed, 3 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/5c96cd63/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 3de9e80..30121df 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
@@ -45,11 +45,6 @@ public class QCParser {
 public static final String DEFAULT_URI_HOST = "localhost";
 
 /**
- * The default port to use if one is not defined.
- */
-public static final Integer DEFAULT_URI_PORT = 22;
-
-/**
  * Parse out a URI string and get a connection from that string,
  * or an exception if the parsing fails.
  *
@@ -89,9 +84,6 @@ public class QCParser {
 if (host == null || host.equals(""))
 host = DEFAULT_URI_HOST;
 
-if (port == -1 || port < 1)
-port = DEFAULT_URI_PORT;
-
 if (query != null && !query.equals(""))
 paramList = Arrays.asList(query.split("&"));
 
@@ -106,7 +98,9 @@ public class QCParser {
 GuacamoleConfiguration qcConfig = new GuacamoleConfiguration();
 qcConfig.setProtocol(protocol);
 qcConfig.setParameter("hostname",host);
-qcConfig.setParameter("port", Integer.toString(port));
+
+if (port > 0)
+qcConfig.setParameter("port", Integer.toString(port));
 
 if (username != null)
 qcConfig.setParameter("username", username);



[13/50] guacamole-client git commit: GUACAMOLE-38: Clean up lots of unnecessary code.

2018-06-03 Thread mjumper
GUACAMOLE-38: Clean up lots of unnecessary code.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/0cbf90a5
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/0cbf90a5
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/0cbf90a5

Branch: refs/heads/master
Commit: 0cbf90a55df8c14eb80391bb97c831f5bb910e71
Parents: c994c5a
Author: Nick Couchman 
Authored: Tue Apr 17 22:10:25 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 .../QuickConnectConnectionGroup.java| 113 ---
 .../quickconnect/QuickConnectDirectory.java |  11 +-
 .../quickconnect/QuickConnectUserContext.java   |  15 +--
 .../auth/quickconnect/QuickConnection.java  |  87 --
 .../auth/quickconnect/QuickConnectionGroup.java | 113 +++
 5 files changed, 120 insertions(+), 219 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/0cbf90a5/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
deleted file mode 100644
index 2f37e08..000
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.guacamole.auth.quickconnect;
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.GuacamoleSecurityException;
-import org.apache.guacamole.net.GuacamoleTunnel;
-import org.apache.guacamole.net.auth.AbstractConnectionGroup;
-import org.apache.guacamole.net.auth.ConnectionGroup;
-import org.apache.guacamole.protocol.GuacamoleClientInformation;
-
-/**
- * Provides a very simple, single-level connection group used
- * for temporarily storing the QuickConnections created by
- * users.
- */
-public class QuickConnectConnectionGroup extends AbstractConnectionGroup {
-
-/**
- * The connection identifiers for this group.
- */
-private Set connectionIdentifiers;
-
-/**
- * Set up a QuickConnectConnectionGroup with a name and identifier, and
- * an empty set of child connections.
- *
- * @param name
- * The name of the QuickConnectConnectionGroup.
- *
- * @param identifier
- * The identifier of the QuickConnectConnectionGroup.
- */
-public QuickConnectConnectionGroup(String name, String identifier) {
-
-setName(name);
-setIdentifier(identifier);
-setType(ConnectionGroup.Type.ORGANIZATIONAL);
-
-this.connectionIdentifiers = new 
HashSet(Collections.emptyList());
-
-}
-
-/**
- * Add a connection identifier to this connection group, and
- * return the identifier if the add succeeds, else return null.
- *
- * @param identifier
- * The identifier of the connection to add to the group.
- *
- * @return
- * The String identifier of the connection if the add
- * operation was successful; otherwise null.
- */
-public String addConnectionIdentifier(String identifier) {
-if (connectionIdentifiers.add(identifier))
-return identifier;
-return null;
-}
-
-@Override
-public int getActiveConnections() {
-return 0;
-}
-
-@Override
-public Set getConnectionIdentifiers() {
-return connectionIdentifiers;
-}
-
-@Override
-public Set getConnectionGroupIdentifiers() {
-return Collections.emptySet();
-}
-
- 

[09/50] guacamole-client git commit: GUACAMOLE-38: Remove unnecessary GUICE/Inject stuff.

2018-06-03 Thread mjumper
GUACAMOLE-38: Remove unnecessary GUICE/Inject stuff.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/c994c5a9
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/c994c5a9
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/c994c5a9

Branch: refs/heads/master
Commit: c994c5a9b429d6acec40d7f894b0a6a5749c50bd
Parents: b31b09a
Author: Nick Couchman 
Authored: Tue Apr 17 21:44:11 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 extensions/guacamole-auth-quickconnect/pom.xml  |  12 --
 .../src/licenses/LICENSE|  18 --
 .../src/licenses/bundled/guice-3.0/COPYING  | 202 ---
 .../bundled/javax.inject-1/LICENSE-2.0.txt  | 202 ---
 ...uickConnectAuthenticationProviderModule.java |  81 
 5 files changed, 515 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/c994c5a9/extensions/guacamole-auth-quickconnect/pom.xml
--
diff --git a/extensions/guacamole-auth-quickconnect/pom.xml 
b/extensions/guacamole-auth-quickconnect/pom.xml
index 717f42c..e8d0440 100644
--- a/extensions/guacamole-auth-quickconnect/pom.xml
+++ b/extensions/guacamole-auth-quickconnect/pom.xml
@@ -193,18 +193,6 @@
 provided
 
 
-
-
-com.google.inject
-guice
-3.0
-
-
-com.google.inject.extensions
-guice-multibindings
-3.0
-
-
 
 
 

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/c994c5a9/extensions/guacamole-auth-quickconnect/src/licenses/LICENSE
--
diff --git a/extensions/guacamole-auth-quickconnect/src/licenses/LICENSE 
b/extensions/guacamole-auth-quickconnect/src/licenses/LICENSE
index c6cbf77..e8788bb 100644
--- a/extensions/guacamole-auth-quickconnect/src/licenses/LICENSE
+++ b/extensions/guacamole-auth-quickconnect/src/licenses/LICENSE
@@ -219,21 +219,3 @@ AOP Alliance (http://aopalliance.sourceforge.net/)
 License(s):
 Public Domain (bundled/aopalliance-1.0/LICENSE)
 
-
-Google Guice (https://github.com/google/guice)
---
-
-Version: 3.0
-From: 'Google Inc.' (http://www.google.com/)
-License(s):
-Apache v2.0 (bundled/guice-3.0/COPYING)
-
-
-JSR-330 / Dependency Injection for Java (http://code.google.com/p/atinject/)
-
-
-Version: 1
-From: 'JSR-330 Expert Group' (https://jcp.org/en/jsr/detail?id=330)
-License(s):
-Apache v2.0 (bundled/javax.inject-1/LICENSE-2.0.txt)
-

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/c994c5a9/extensions/guacamole-auth-quickconnect/src/licenses/bundled/guice-3.0/COPYING
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/licenses/bundled/guice-3.0/COPYING 
b/extensions/guacamole-auth-quickconnect/src/licenses/bundled/guice-3.0/COPYING
deleted file mode 100644
index d645695..000
--- 
a/extensions/guacamole-auth-quickconnect/src/licenses/bundled/guice-3.0/COPYING
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
-   Version 2.0, January 2004
-http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-  "License" shall mean the terms and conditions for use, reproduction,
-  and distribution as defined by Sections 1 through 9 of this document.
-
-  "Licensor" shall mean the copyright owner or entity authorized by
-  the copyright owner that is granting the License.
-
-  "Legal Entity" shall mean the union of the acting entity and all
-  other entities that control, are controlled by, or are under common
-  control with that entity. For the purposes of this definition,
-  "control" means (i) the power, direct or indirect, to cause the
-  direction or management of such entity, whether by contract or
-  otherwise, or (ii) ownership of fifty percent (50%) or more of the
-  outstanding shares, or (iii) beneficial ownership of such entity.
-
-  "You" (or "Your") shall mean an individual or Legal Entity
-  exercising permissions granted by this License.
-
-  "Source" form shall mean the preferred form for making modifications,
-  including but not limited to software source code, documentation
-  source, and configuration files.
-
-  "Object" form shall mean any form resulting from mechanica

[01/50] guacamole-client git commit: GUACAMOLE-38: Implement the AuthenticationProvider instead of extending another.

2018-06-03 Thread mjumper
Repository: guacamole-client
Updated Branches:
  refs/heads/master 2fb377ac8 -> 2daf38b32


GUACAMOLE-38: Implement the AuthenticationProvider instead of extending another.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/fb5d2723
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/fb5d2723
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/fb5d2723

Branch: refs/heads/master
Commit: fb5d2723bcc7cad1585736e644e367d802082d29
Parents: 5c96cd6
Author: Nick Couchman 
Authored: Sat Mar 24 21:58:19 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:50 2018 -0400

--
 .../QuickConnectAuthenticationProvider.java | 53 +---
 1 file changed, 45 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/fb5d2723/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
index c809709..d638ff8 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
@@ -23,10 +23,10 @@ import java.util.Collections;
 import java.util.Map;
 import org.apache.guacamole.GuacamoleException;
 import org.apache.guacamole.net.auth.AuthenticatedUser;
+import org.apache.guacamole.net.auth.AuthenticationProvider;
 import org.apache.guacamole.net.auth.Credentials;
 import org.apache.guacamole.net.auth.credentials.CredentialsInfo;
 import 
org.apache.guacamole.net.auth.credentials.GuacamoleInvalidCredentialsException;
-import org.apache.guacamole.net.auth.simple.SimpleAuthenticationProvider;
 import org.apache.guacamole.net.auth.UserContext;
 import org.apache.guacamole.protocol.GuacamoleConfiguration;
 
@@ -35,7 +35,7 @@ import org.apache.guacamole.protocol.GuacamoleConfiguration;
  * process so that the QuickConnect functionality can be initialized and be 
used
  * throughout the web client.
  */
-public class QuickConnectAuthenticationProvider extends 
SimpleAuthenticationProvider {
+public class QuickConnectAuthenticationProvider implements 
AuthenticationProvider {
 
 /**
  * userContext for this authentication provider.
@@ -47,6 +47,11 @@ public class QuickConnectAuthenticationProvider extends 
SimpleAuthenticationProv
 return "quickconnect";
 }
 
+@Override
+public Object getResource() throws GuacamoleException {
+return null;
+}
+
 /**
  * For QuickConnect, authenticateUser simply returns null because this
  * extension is designed to provide only a connection directory to users
@@ -68,20 +73,52 @@ public class QuickConnectAuthenticationProvider extends 
SimpleAuthenticationProv
 }
 
 @Override
-public Map
-getAuthorizedConfigurations(Credentials credentials)
-throws GuacamoleException {
+public UserContext getUserContext(AuthenticatedUser authenticatedUser)
+throws GuacamoleException {
 
-return Collections.emptyMap();
+return new QuickConnectUserContext(this, 
authenticatedUser.getIdentifier());
 
 }
 
 @Override
-public UserContext getUserContext(AuthenticatedUser authenticatedUser)
+public AuthenticatedUser updateAuthenticatedUser(AuthenticatedUser 
authenticatedUser,
+Credentials credentials) throws GuacamoleException {
+
+// Simply return the given user, updating nothing
+return authenticatedUser;
+
+}
+
+@Override
+public UserContext updateUserContext(UserContext context,
+AuthenticatedUser authorizedUser, Credentials credentials)
 throws GuacamoleException {
 
-return new QuickConnectUserContext(this, 
authenticatedUser.getIdentifier());
+// Simply return the given context, updating nothing
+return context;
+
+}
+
+@Override
+public UserContext decorate(UserContext context,
+AuthenticatedUser authenticatedUser, Credentials credentials)
+throws GuacamoleException {
+
+// Simply return the given context, decorating nothing
+return context;
 
 }
 
+@Override
+public UserContext redecorate(UserContext decorated, UserContext context,
+AuthenticatedUser authenticatedUser, Credentials creden

[41/50] guacamole-client git commit: GUACAMOLE-38: Methods being tested need to be public.

2018-06-03 Thread mjumper
GUACAMOLE-38: Methods being tested need to be public.

Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/1438a511
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/1438a511
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/1438a511

Branch: refs/heads/master
Commit: 1438a5117b40b359e629f22aa04338560c3e4da7
Parents: 97d2d3a
Author: Nick Couchman 
Authored: Wed May 30 11:31:41 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:53 2018 -0400

--
 .../org/apache/guacamole/auth/quickconnect/utility/QCParser.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/1438a511/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 2924c0d..3e2e5e5 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
@@ -155,7 +155,7 @@ public class QCParser {
  * @throws UnsupportedEncodingException
  * If Java lacks UTF-8 support.
  */
-private static Map parseQueryString(String queryStr)
+public static Map parseQueryString(String queryStr)
 throws UnsupportedEncodingException {
 
 // Split the query string into the pairs
@@ -187,7 +187,7 @@ public class QCParser {
  * @throws UnsupportedEncodingException
  * If Java lacks UTF-8 support.
  */
-private static void parseUserInfo(String userInfo, 
+public static void parseUserInfo(String userInfo, 
 GuacamoleConfiguration config)
 throws UnsupportedEncodingException {
 



[45/50] guacamole-client git commit: GUACAMOLE-38: REST service should return proper JSON.

2018-06-03 Thread mjumper
GUACAMOLE-38: REST service should return proper JSON.

Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/b283adc7
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/b283adc7
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/b283adc7

Branch: refs/heads/master
Commit: b283adc73a8296ce53296ea1992c5e88af4ceb46
Parents: 7302013
Author: Nick Couchman 
Authored: Tue May 22 22:15:58 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:53 2018 -0400

--
 .../guacamole/auth/quickconnect/rest/QuickConnectREST.java| 7 +--
 .../src/main/resources/services/quickConnectService.js| 2 +-
 2 files changed, 6 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/b283adc7/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
index cee7591..275e1a4 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
@@ -19,6 +19,8 @@
 
 package org.apache.guacamole.auth.quickconnect.rest;
 
+import java.util.Collections;
+import java.util.Map;
 import javax.ws.rs.FormParam;
 import javax.ws.rs.Path;
 import javax.ws.rs.POST;
@@ -68,10 +70,11 @@ public class QuickConnectREST {
  */
 @POST
 @Path("create")
-public String create(@FormParam("uri") String uri) 
+public Map create(@FormParam("uri") String uri) 
 throws GuacamoleException {
 
-return directory.create(QCParser.getConfiguration(uri));
+return Collections.singletonMap("identifier",
+directory.create(QCParser.getConfiguration(uri)));
  
 }
 

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/b283adc7/extensions/guacamole-auth-quickconnect/src/main/resources/services/quickConnectService.js
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/resources/services/quickConnectService.js
 
b/extensions/guacamole-auth-quickconnect/src/main/resources/services/quickConnectService.js
index b5f9475..0da2980 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/resources/services/quickConnectService.js
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/resources/services/quickConnectService.js
@@ -60,7 +60,7 @@ 
angular.module('guacQuickConnect').factory('quickConnectService', ['$injector',
 cacheService.users.removeAll();
 
 // Pass on the connection identifier
-return connectionId;
+return connectionId.identifier;
 });
 
 };



[31/50] guacamole-client git commit: GUACAMOLE-38: Handle encoded query parameters.

2018-06-03 Thread mjumper
GUACAMOLE-38: Handle encoded query parameters.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/963593ea
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/963593ea
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/963593ea

Branch: refs/heads/master
Commit: 963593ea27831ae772f39d8f64b3d2d2a3ac5b8f
Parents: d4b7e2b
Author: Nick Couchman 
Authored: Thu Apr 19 06:01:37 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../auth/quickconnect/utility/QCParser.java  | 19 ++-
 1 file changed, 18 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/963593ea/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 7d5d7d4..650d561 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
@@ -19,16 +19,21 @@
 
 package org.apache.guacamole.auth.quickconnect.utility;
 
+import java.io.UnsupportedEncodingException;
 import java.lang.StringBuilder;
 import java.net.URI;
 import java.net.URISyntaxException;
+import java.net.URLDecoder;
 import java.util.Arrays;
 import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import org.apache.guacamole.GuacamoleClientException;
+import org.apache.guacamole.GuacamoleServerException;
 import org.apache.guacamole.GuacamoleException;
 import org.apache.guacamole.protocol.GuacamoleConfiguration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A utility class to parse out a URI into the settings necessary
@@ -37,6 +42,11 @@ import org.apache.guacamole.protocol.GuacamoleConfiguration;
 public class QCParser {
 
 /**
+ * Logger for this class.
+ */
+private final static Logger logger = 
LoggerFactory.getLogger(QCParser.class);
+
+/**
  * The default protocol to parse to if one is provided in
  * the incoming URI..
  */
@@ -131,7 +141,14 @@ public class QCParser {
 if (paramList != null) {
 for (String parameter : paramList) {
 String[] paramArray = parameter.split("=", 2);
-qcConfig.setParameter(paramArray[0],paramArray[1]);
+try {
+qcConfig.setParameter(URLDecoder.decode(paramArray[0], 
"UTF-8"),
+  URLDecoder.decode(paramArray[1], 
"UTF-8"));
+}
+catch (UnsupportedEncodingException e) {
+logger.error("Unexpected lack of UTF-8 encoding support.");
+throw new GuacamoleServerException("Unexpected lack of 
UTF-8 encoding support.", e);
+}
 }
 }
 



[24/50] guacamole-client git commit: GUACAMOLE-38: Use newly-implemented AbstractuserContext and AbstractAuthenticationProvider classes, remove deprecated classes.

2018-06-03 Thread mjumper
GUACAMOLE-38: Use newly-implemented AbstractuserContext and 
AbstractAuthenticationProvider classes, remove deprecated classes.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/3feb2c2d
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/3feb2c2d
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/3feb2c2d

Branch: refs/heads/master
Commit: 3feb2c2de1d1d1af96e422b2050e85cb499c39ef
Parents: 43919e5
Author: Nick Couchman 
Authored: Sat Apr 14 11:22:40 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 .../QuickConnectAuthenticationProvider.java | 70 +
 .../quickconnect/QuickConnectDirectory.java | 71 +
 .../quickconnect/QuickConnectUserContext.java   | 81 
 3 files changed, 34 insertions(+), 188 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/3feb2c2d/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
index d638ff8..6e6f2bc 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
@@ -23,7 +23,7 @@ import java.util.Collections;
 import java.util.Map;
 import org.apache.guacamole.GuacamoleException;
 import org.apache.guacamole.net.auth.AuthenticatedUser;
-import org.apache.guacamole.net.auth.AuthenticationProvider;
+import org.apache.guacamole.net.auth.AbstractAuthenticationProvider;
 import org.apache.guacamole.net.auth.Credentials;
 import org.apache.guacamole.net.auth.credentials.CredentialsInfo;
 import 
org.apache.guacamole.net.auth.credentials.GuacamoleInvalidCredentialsException;
@@ -35,7 +35,7 @@ import org.apache.guacamole.protocol.GuacamoleConfiguration;
  * process so that the QuickConnect functionality can be initialized and be 
used
  * throughout the web client.
  */
-public class QuickConnectAuthenticationProvider implements 
AuthenticationProvider {
+public class QuickConnectAuthenticationProvider extends 
AbstractAuthenticationProvider {
 
 /**
  * userContext for this authentication provider.
@@ -48,31 +48,6 @@ public class QuickConnectAuthenticationProvider implements 
AuthenticationProvide
 }
 
 @Override
-public Object getResource() throws GuacamoleException {
-return null;
-}
-
-/**
- * For QuickConnect, authenticateUser simply returns null because this
- * extension is designed to provide only a connection directory to users
- * that are already authenticated and not any actual authentication.
- *
- * @param credentials
- * Credentials object passed in from Guacamole login.
- *
- * @return
- * Returns null, which causes the client to move on to the next
- * module.
- */
-@Override
-public AuthenticatedUser authenticateUser(Credentials credentials)
-throws GuacamoleException {
-
-return null;
-
-}
-
-@Override
 public UserContext getUserContext(AuthenticatedUser authenticatedUser)
 throws GuacamoleException {
 
@@ -80,45 +55,4 @@ public class QuickConnectAuthenticationProvider implements 
AuthenticationProvide
 
 }
 
-@Override
-public AuthenticatedUser updateAuthenticatedUser(AuthenticatedUser 
authenticatedUser,
-Credentials credentials) throws GuacamoleException {
-
-// Simply return the given user, updating nothing
-return authenticatedUser;
-
-}
-
-@Override
-public UserContext updateUserContext(UserContext context,
-AuthenticatedUser authorizedUser, Credentials credentials)
-throws GuacamoleException {
-
-// Simply return the given context, updating nothing
-return context;
-
-}
-
-@Override
-public UserContext decorate(UserContext context,
-AuthenticatedUser authenticatedUser, Credentials credentials)
-throws GuacamoleException {
-
-// Simply return the given context, decorating nothing
-return context;
-
-}
-
-@Override
-public UserContext redecorate(UserContext decorated, UserContext context,
-AuthenticatedUser authenticatedUser, Credentials credentials)
-

[26/50] guacamole-client git commit: GUACAMOLE-38: Code cleanup; style, and grammar tweaks.

2018-06-03 Thread mjumper
GUACAMOLE-38: Code cleanup; style, and grammar tweaks.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/cfd16737
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/cfd16737
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/cfd16737

Branch: refs/heads/master
Commit: cfd16737916b18ac7e7b8f7cbc154e3a93cd2dad
Parents: aabc871
Author: Nick Couchman 
Authored: Fri Apr 20 21:21:15 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../QuickConnectAuthenticationProvider.java |  4 +--
 .../quickconnect/QuickConnectDirectory.java | 33 ++--
 .../quickconnect/QuickConnectUserContext.java   | 23 +++---
 .../auth/quickconnect/QuickConnectionGroup.java | 19 ++-
 .../quickconnect/rest/QuickConnectREST.java | 23 ++
 .../auth/quickconnect/utility/QCParser.java | 29 -
 6 files changed, 56 insertions(+), 75 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/cfd16737/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
index 35fa8b7..090c5e7 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
@@ -25,8 +25,8 @@ import 
org.apache.guacamole.net.auth.AbstractAuthenticationProvider;
 import org.apache.guacamole.net.auth.UserContext;
 
 /**
- * Class providing the necessary hooks into the Guacamole Client authentication
- * process so that the QuickConnect functionality can be initialized and be 
used
+ * This class provides the necessary hooks into the Guacamole Client 
authentication
+ * process so that the QuickConnect functionality can be initialized and used
  * throughout the web client.
  */
 public class QuickConnectAuthenticationProvider extends 
AbstractAuthenticationProvider {

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/cfd16737/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
index a321f87..30d8683 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
@@ -31,7 +31,7 @@ import org.apache.guacamole.net.auth.Connection;
 import org.apache.guacamole.protocol.GuacamoleConfiguration;
 
 /**
- * Implementation of the Connection Directory, stored
+ * Implementation of a directory to stored Connection objects
  * completely in-memory.
  */
 public class QuickConnectDirectory extends SimpleDirectory {
@@ -58,14 +58,12 @@ public class QuickConnectDirectory extends 
SimpleDirectory {
 private AtomicInteger connectionId;
 
 /**
- * Creates a new QuickConnectDirectory which provides access to the
- * connections contained within the given Map.
+ * Creates a new QuickConnectDirectory with the default
+ * empty Map for Connection objects, and the specified
+ * ConnectionGroup at the root of the directory.
  *
- * @param connections
- * A Map of all connections that should be present in this
- * connection directory.
  * @param rootGroup
- * A group that should be at the base of this directory.
+ * A group that should be at the root of this directory.
  */
 public QuickConnectDirectory(ConnectionGroup rootGroup) {
 this.rootGroup = (QuickConnectionGroup)rootGroup;
@@ -74,11 +72,12 @@ public class QuickConnectDirectory extends 
SimpleDirectory {
 }
 
 /**
- * Returns the current counter and then increments it.
+ * Returns the current connection identifier counter and
+ * then increments it.
  *
  * @return
- * An Integer representing the next available connection

[09/50] guacamole-client git commit: GUACAMOLE-38: Fix parameter name to sometihng more fitting to its function.

2018-06-03 Thread mjumper
GUACAMOLE-38: Fix parameter name to sometihng more fitting to its function.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/2113d1aa
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/2113d1aa
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/2113d1aa

Branch: refs/heads/staging/1.0.0
Commit: 2113d1aa96cc5595108adbd30f94b59c9c023825
Parents: 6c23556
Author: Nick Couchman 
Authored: Fri Mar 16 14:37:05 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:50 2018 -0400

--
 .../auth/quickconnect/QuickConnectDirectory.java  | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/2113d1aa/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
index ce1fd1f..00c5044 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
@@ -86,7 +86,7 @@ public class QuickConnectDirectory extends 
SimpleConnectionDirectory {
  * QuickConnection connection, after setting the identifier
  * and parent object.
  *
- * @param object
+ * @param connection
  * The QuickConnection object to add to the tree.
  *
  * @return
@@ -96,17 +96,17 @@ public class QuickConnectDirectory extends 
SimpleConnectionDirectory {
  * If an error is encountered adding the object to the
  * directory.
  */
-public String put(QuickConnection object) throws GuacamoleException {
+public String put(QuickConnection connection) throws GuacamoleException {
 
 // Get the next connection ID.
 String connectionId = getNextConnectionID().toString();
 
 // Set up identifier and parent on object.
-object.setIdentifier(connectionId);
-object.setParentIdentifier(ROOT_IDENTIFIER);
+connection.setIdentifier(connectionId);
+connection.setParentIdentifier(ROOT_IDENTIFIER);
 
 // Add connection to the directory
-putConnection(object);
+putConnection(connection);
 
 // Add connection to the tree
 this.rootGroup.addConnectionIdentifier(connectionId);



[19/50] guacamole-client git commit: GUACAMOLE-38: Remove unnecessary style element.

2018-06-03 Thread mjumper
GUACAMOLE-38: Remove unnecessary style element.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/add78b9c
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/add78b9c
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/add78b9c

Branch: refs/heads/staging/1.0.0
Commit: add78b9cdb29ecf6469dce303a7d9974a3a7e677
Parents: fb5d272
Author: Nick Couchman 
Authored: Sat Mar 24 22:02:03 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 .../src/main/resources/styles/quickconnect.css   | 4 
 1 file changed, 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/add78b9c/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
 
b/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
index 49a407b..ee0c2f5 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/resources/styles/quickconnect.css
@@ -38,10 +38,6 @@
 box-sizing: border-box;
 }
 
-.quickconnect-field input[type="submit"] {
-display: none !important;
-}
-
 .quickconnect-button {
 clear: both;
 float: right;



[15/50] guacamole-client git commit: GUACAMOLE-38: Make class public for consistency with other classes.

2018-06-03 Thread mjumper
GUACAMOLE-38: Make class public for consistency with other classes.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/da363f84
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/da363f84
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/da363f84

Branch: refs/heads/staging/1.0.0
Commit: da363f845e9d20be2d99c9b8355462570f0df7f9
Parents: 8ed356a
Author: Nick Couchman 
Authored: Sat Mar 24 22:11:24 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 .../guacamole/auth/quickconnect/QuickConnectConnectionGroup.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/da363f84/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
index 4faab1c..2f37e08 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
@@ -35,7 +35,7 @@ import 
org.apache.guacamole.protocol.GuacamoleClientInformation;
  * for temporarily storing the QuickConnections created by
  * users.
  */
-class QuickConnectConnectionGroup extends AbstractConnectionGroup {
+public class QuickConnectConnectionGroup extends AbstractConnectionGroup {
 
 /**
  * The connection identifiers for this group.



[49/50] guacamole-client git commit: GUACAMOLE-38: Remove default protocol and port, throw errors if not specified.

2018-06-03 Thread mjumper
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/staging/1.0.0
Commit: 8c130215f49c862819b3dfca219403db296a3a18
Parents: 84e71a0
Author: Nick Couchman 
Authored: Mon May 21 09:56:50 2018 -0400
Committer: Nick Couchman 
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()) {



[02/50] guacamole-client git commit: GUACAMOLE-38: Style and typo fix-ups.

2018-06-03 Thread mjumper
GUACAMOLE-38: Style and typo fix-ups.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/6c235565
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/6c235565
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/6c235565

Branch: refs/heads/staging/1.0.0
Commit: 6c235565b0d1c4c39576fad37de345669f118af8
Parents: 039c512
Author: Nick Couchman 
Authored: Sun Feb 18 21:10:49 2018 -0500
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:50 2018 -0400

--
 .../auth/quickconnect/QuickConnectAuthenticationProvider.java | 2 +-
 .../auth/quickconnect/QuickConnectConnectionGroup.java| 2 ++
 .../guacamole/auth/quickconnect/QuickConnectDirectory.java| 6 +++---
 .../guacamole/auth/quickconnect/QuickConnectUserContext.java  | 1 +
 .../apache/guacamole/auth/quickconnect/QuickConnection.java   | 2 ++
 .../guacamole/auth/quickconnect/rest/QuickConnectREST.java| 7 +++
 .../apache/guacamole/auth/quickconnect/utility/QCParser.java  | 2 +-
 7 files changed, 13 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/6c235565/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
index a94c7df..f725bdf 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
@@ -55,7 +55,7 @@ public class QuickConnectAuthenticationProvider extends 
SimpleAuthenticationProv
  * @param credentials
  * Credentials object passed in from Guacamole login.
  *
- * @returns
+ * @return
  * Returns null, which causes the client to move on to the next
  * module.
  */

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/6c235565/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
index 5abf0be..4faab1c 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectConnectionGroup.java
@@ -48,6 +48,7 @@ class QuickConnectConnectionGroup extends 
AbstractConnectionGroup {
  *
  * @param name
  * The name of the QuickConnectConnectionGroup.
+ *
  * @param identifier
  * The identifier of the QuickConnectConnectionGroup.
  */
@@ -67,6 +68,7 @@ class QuickConnectConnectionGroup extends 
AbstractConnectionGroup {
  *
  * @param identifier
  * The identifier of the connection to add to the group.
+ *
  * @return
  * The String identifier of the connection if the add
  * operation was successful; otherwise null.

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/6c235565/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
index 5c9606d..ce1fd1f 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
@@ -66,7 +66,7 @@ public class QuickConnectDirectory extends 
SimpleConnectionDirectory {
 /**
  * Returns the current counter and then increments it.
  *
- * @returns
+ * @return
  * An Integer representing the next available connection
  * ID to get used when addi

[06/50] guacamole-client git commit: GUACAMOLE-38: Brush up comments and removed some extra code.

2018-06-03 Thread mjumper
GUACAMOLE-38: Brush up comments and removed some extra code.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/6c71f4dd
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/6c71f4dd
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/6c71f4dd

Branch: refs/heads/staging/1.0.0
Commit: 6c71f4ddb3b7863864f1081b178acccbb7e9fe0d
Parents: 8fa0cea
Author: Nick Couchman 
Authored: Sat Mar 24 20:37:19 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:50 2018 -0400

--
 extensions/guacamole-auth-quickconnect/pom.xml   |  7 ---
 .../quickconnect/QuickConnectAuthenticationProvider.java |  4 
 .../guacamole/auth/quickconnect/utility/QCParser.java| 11 ---
 3 files changed, 12 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/6c71f4dd/extensions/guacamole-auth-quickconnect/pom.xml
--
diff --git a/extensions/guacamole-auth-quickconnect/pom.xml 
b/extensions/guacamole-auth-quickconnect/pom.xml
index 87ee7bd..717f42c 100644
--- a/extensions/guacamole-auth-quickconnect/pom.xml
+++ b/extensions/guacamole-auth-quickconnect/pom.xml
@@ -187,9 +187,10 @@
 
 
 
-com.sun.jersey
-jersey-server
-1.17.1
+javax.ws.rs
+jsr311-api
+1.1.1
+provided
 
 
 

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/6c71f4dd/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
index f725bdf..c809709 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
@@ -63,10 +63,6 @@ public class QuickConnectAuthenticationProvider extends 
SimpleAuthenticationProv
 public AuthenticatedUser authenticateUser(Credentials credentials)
 throws GuacamoleException {
 
-String username = credentials.getUsername();
-if (username == null || username.isEmpty())
-throw new GuacamoleInvalidCredentialsException("You must login.", 
CredentialsInfo.USERNAME_PASSWORD);
-
 return null;
 
 }

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/6c71f4dd/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 05b892f..3de9e80 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
@@ -27,10 +27,15 @@ import org.apache.guacamole.GuacamoleClientException;
 import org.apache.guacamole.GuacamoleException;
 import org.apache.guacamole.protocol.GuacamoleConfiguration;
 
+/**
+ * A utility class to parse out a URI into the settings necessary
+ * to create and establish a Guacamole connection.
+ */
 public class QCParser {
 
 /**
- * The default protocol to parse to if one is undefined.
+ * The default protocol to parse to if one is provided in
+ * the incoming URI..
  */
 public static final String DEFAULT_URI_PROTOCOL = "ssh";
 
@@ -71,7 +76,7 @@ public class QCParser {
 }
 String protocol = qcUri.getScheme();
 String host = qcUri.getHost();
-Integer port = qcUri.getPort();
+int port = qcUri.getPort();
 String userInfo = qcUri.getUserInfo();
 String query = qcUri.getQuery();
 String username = null;
@@ -101,7 +106,7 @@ public class QCParser {
 GuacamoleConfiguration qcConfig = new GuacamoleConfiguration();
 qcConfig.setProtocol(protocol);
 qcConfig.setParameter("hostname",host);
-qcConfig.setParameter("port", port.toString());
+qcConfig.setParameter("port", In

[25/50] guacamole-client git commit: GUACAMOLE-38: Tweak to regex and correct behavior of matcher.

2018-06-03 Thread mjumper
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/staging/1.0.0
Commit: 43919e56239bfad26908d4eb257b459fe5818121
Parents: 16130b3
Author: Nick Couchman 
Authored: Sun Mar 25 15:02:16 2018 -0400
Committer: Nick Couchman 
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);
+}
 
 }
 



[17/50] guacamole-client git commit: GUACAMOLE-38: Quick fix-up for userContext object in AuthenticationProvider

2018-06-03 Thread mjumper
GUACAMOLE-38: Quick fix-up for userContext object in AuthenticationProvider


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/bb127c55
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/bb127c55
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/bb127c55

Branch: refs/heads/staging/1.0.0
Commit: bb127c55d2226651622c9bb2b6e1b6fb623bec46
Parents: d608643
Author: Nick Couchman 
Authored: Sun Apr 15 22:58:19 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 .../auth/quickconnect/QuickConnectAuthenticationProvider.java  | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/bb127c55/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
index 66c42e7..5223793 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
@@ -45,7 +45,11 @@ public class QuickConnectAuthenticationProvider extends 
AbstractAuthenticationPr
 public UserContext getUserContext(AuthenticatedUser authenticatedUser)
 throws GuacamoleException {
 
-return new QuickConnectUserContext(this, 
authenticatedUser.getIdentifier());
+if (userContext == null)
+userContext = new QuickConnectUserContext(this,
+authenticatedUser.getIdentifier());
+
+return userContext;
 
 }
 



[45/50] guacamole-client git commit: GUACAMOLE-38: Add unit tests for the userInfo parser and the getConfiguration method.

2018-06-03 Thread mjumper
GUACAMOLE-38: Add unit tests for the userInfo parser and the getConfiguration 
method.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/27f4ad01
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/27f4ad01
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/27f4ad01

Branch: refs/heads/staging/1.0.0
Commit: 27f4ad01f5525b695ed9fbc651f04e8205b8d8b6
Parents: aafc435
Author: Nick Couchman 
Authored: Mon May 14 10:46:49 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:53 2018 -0400

--
 .../auth/quickconnect/utility/QCParserTest.java | 62 
 1 file changed, 62 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/27f4ad01/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java
 
b/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java
index 5567ea3..8a4ed1b 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java
@@ -22,8 +22,11 @@ package org.apache.guacamole.auth.quickconnect.utility;
 import java.io.UnsupportedEncodingException;
 import java.util.HashMap;
 import java.util.Map;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.protocol.GuacamoleConfiguration;
 import org.junit.Test;
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 
 /**
  * Class to test methods in the QCParser utility class.
@@ -46,4 +49,63 @@ public class QCParserTest {
 
 }
 
+/**
+ * Verify that the parseUserInfo() method functions as designed.
+ */
+@Test
+public void testParseUserInfo() throws UnsupportedEncodingException {
+
+Map userInfoMap;
+
+userInfoMap = QCParser.parseUserInfo("guacuser:secretpw");
+assertEquals("guacuser", userInfoMap.get("username"));
+assertEquals("secretpw", userInfoMap.get("password"));
+
+
+userInfoMap = QCParser.parseUserInfo("guacuser");
+assertEquals("guacuser", userInfoMap.get("username"));
+assertFalse(userInfoMap.containsKey("password"));
+
+userInfoMap = QCParser.parseUserInfo("guacuser:P%40ssw0rd%21");
+assertEquals("guacuser", userInfoMap.get("username"));
+assertEquals("P@ssw0rd!", userInfoMap.get("password"));
+
+userInfoMap = 
QCParser.parseUserInfo("domain%5cguacuser:domain%2fpassword");
+assertEquals("domain\\guacuser", userInfoMap.get("username"));
+assertEquals("domain/password", userInfoMap.get("password"));
+
+}
+
+/**
+ * Verify that the getConfiguration() method returns the expected
+ * GuacamoleConfiguration object.
+ */
+@Test
+public void testGetConfiguration() throws GuacamoleException {
+
+String uri1 = 
"ssh://guacuser:guacpassword@hostname1.domain.local/?param1=value1¶m2=value2";
+GuacamoleConfiguration config1 = QCParser.getConfiguration(uri1);
+assertEquals("ssh", config1.getProtocol());
+assertEquals("hostname1.domain.local", 
config1.getParameter("hostname"));
+assertEquals("guacuser", config1.getParameter("username"));
+assertEquals("guacpassword", config1.getParameter("password"));
+assertEquals("value1", config1.getParameter("param1"));
+assertEquals("value2", config1.getParameter("param2"));
+
+String uri2 = 
"rdp://domain%5cguacuser:adpassword...@windows1.domain.tld/?enable-sftp=true";
+GuacamoleConfiguration config2 = QCParser.getConfiguration(uri2);
+assertEquals("rdp", config2.getProtocol());
+assertEquals("windows1.domain.tld", config2.getParameter("hostname"));
+assertEquals("domain\\guacuser", config2.getParameter("username"));
+assertEquals("adPassword123", config2.getParameter("password"));
+assertEquals("true", config2.getParameter("enable-sftp"));
+
+String uri3 = "vnc://mirror1.example.com:5910/";
+GuacamoleConfiguration config3 = QCParser.getConfiguration(uri3);
+assertEquals("vnc", config3.getProtocol());
+assertEquals("mirror1.example.com", config3.getParameter("hostname"));
+assertEquals("5910", config3.getParameter("port"));
+
+}
+
 }



[10/50] guacamole-client git commit: GUACAMOLE-38: Remove unnecessary GUICE/Inject stuff.

2018-06-03 Thread mjumper
GUACAMOLE-38: Remove unnecessary GUICE/Inject stuff.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/c994c5a9
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/c994c5a9
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/c994c5a9

Branch: refs/heads/staging/1.0.0
Commit: c994c5a9b429d6acec40d7f894b0a6a5749c50bd
Parents: b31b09a
Author: Nick Couchman 
Authored: Tue Apr 17 21:44:11 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 extensions/guacamole-auth-quickconnect/pom.xml  |  12 --
 .../src/licenses/LICENSE|  18 --
 .../src/licenses/bundled/guice-3.0/COPYING  | 202 ---
 .../bundled/javax.inject-1/LICENSE-2.0.txt  | 202 ---
 ...uickConnectAuthenticationProviderModule.java |  81 
 5 files changed, 515 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/c994c5a9/extensions/guacamole-auth-quickconnect/pom.xml
--
diff --git a/extensions/guacamole-auth-quickconnect/pom.xml 
b/extensions/guacamole-auth-quickconnect/pom.xml
index 717f42c..e8d0440 100644
--- a/extensions/guacamole-auth-quickconnect/pom.xml
+++ b/extensions/guacamole-auth-quickconnect/pom.xml
@@ -193,18 +193,6 @@
 provided
 
 
-
-
-com.google.inject
-guice
-3.0
-
-
-com.google.inject.extensions
-guice-multibindings
-3.0
-
-
 
 
 

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/c994c5a9/extensions/guacamole-auth-quickconnect/src/licenses/LICENSE
--
diff --git a/extensions/guacamole-auth-quickconnect/src/licenses/LICENSE 
b/extensions/guacamole-auth-quickconnect/src/licenses/LICENSE
index c6cbf77..e8788bb 100644
--- a/extensions/guacamole-auth-quickconnect/src/licenses/LICENSE
+++ b/extensions/guacamole-auth-quickconnect/src/licenses/LICENSE
@@ -219,21 +219,3 @@ AOP Alliance (http://aopalliance.sourceforge.net/)
 License(s):
 Public Domain (bundled/aopalliance-1.0/LICENSE)
 
-
-Google Guice (https://github.com/google/guice)
---
-
-Version: 3.0
-From: 'Google Inc.' (http://www.google.com/)
-License(s):
-Apache v2.0 (bundled/guice-3.0/COPYING)
-
-
-JSR-330 / Dependency Injection for Java (http://code.google.com/p/atinject/)
-
-
-Version: 1
-From: 'JSR-330 Expert Group' (https://jcp.org/en/jsr/detail?id=330)
-License(s):
-Apache v2.0 (bundled/javax.inject-1/LICENSE-2.0.txt)
-

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/c994c5a9/extensions/guacamole-auth-quickconnect/src/licenses/bundled/guice-3.0/COPYING
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/licenses/bundled/guice-3.0/COPYING 
b/extensions/guacamole-auth-quickconnect/src/licenses/bundled/guice-3.0/COPYING
deleted file mode 100644
index d645695..000
--- 
a/extensions/guacamole-auth-quickconnect/src/licenses/bundled/guice-3.0/COPYING
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
-   Version 2.0, January 2004
-http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-  "License" shall mean the terms and conditions for use, reproduction,
-  and distribution as defined by Sections 1 through 9 of this document.
-
-  "Licensor" shall mean the copyright owner or entity authorized by
-  the copyright owner that is granting the License.
-
-  "Legal Entity" shall mean the union of the acting entity and all
-  other entities that control, are controlled by, or are under common
-  control with that entity. For the purposes of this definition,
-  "control" means (i) the power, direct or indirect, to cause the
-  direction or management of such entity, whether by contract or
-  otherwise, or (ii) ownership of fifty percent (50%) or more of the
-  outstanding shares, or (iii) beneficial ownership of such entity.
-
-  "You" (or "Your") shall mean an individual or Legal Entity
-  exercising permissions granted by this License.
-
-  "Source" form shall mean the preferred form for making modifications,
-  including but not limited to software source code, documentation
-  source, and configuration files.
-
-  "Object" form shall mean any form resulting from me

[23/50] guacamole-client git commit: GUACAMOLE-38: Avoid unnuecessary type-casting.

2018-06-03 Thread mjumper
GUACAMOLE-38: Avoid unnuecessary type-casting.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/9ab50a23
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/9ab50a23
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/9ab50a23

Branch: refs/heads/staging/1.0.0
Commit: 9ab50a239c818a21f3a39ddeb84576939d721fb3
Parents: c50d372
Author: Nick Couchman 
Authored: Sat Mar 24 22:34:56 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 .../guacamole/auth/quickconnect/QuickConnectUserContext.java | 4 ++--
 .../guacamole/auth/quickconnect/rest/QuickConnectREST.java   | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/9ab50a23/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
index d9eb389..06ef630 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
@@ -80,7 +80,7 @@ public class QuickConnectUserContext implements UserContext {
  * The Directory with access to all connections within the root group
  * associated with this UserContext.
  */
-private final Directory connectionDirectory;
+private final QuickConnectDirectory connectionDirectory;
 
 /**
  * The root connection group.
@@ -157,7 +157,7 @@ public class QuickConnectUserContext implements UserContext 
{
 }
 
 @Override
-public Directory getConnectionDirectory()
+public QuickConnectDirectory getConnectionDirectory()
 throws GuacamoleException {
 return connectionDirectory;
 }

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/9ab50a23/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
index aef5ca3..d11bd06 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
@@ -69,7 +69,7 @@ public class QuickConnectREST {
 public QuickConnectREST(QuickConnectUserContext userContext)
 throws GuacamoleException {
 this.userContext = userContext;
-this.directory = 
(QuickConnectDirectory)this.userContext.getConnectionDirectory();
+this.directory = this.userContext.getConnectionDirectory();
 }
 
 /**



[35/50] guacamole-client git commit: GUACAMOLE-38: REST class only needs directory, not entire userContext object.

2018-06-03 Thread mjumper
GUACAMOLE-38: REST class only needs directory, not entire userContext object.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/d9751f20
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/d9751f20
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/d9751f20

Branch: refs/heads/staging/1.0.0
Commit: d9751f20d0427379e247af803311081f0dcc27cd
Parents: 963593e
Author: Nick Couchman 
Authored: Thu Apr 19 06:29:06 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../auth/quickconnect/QuickConnectUserContext.java   |  2 +-
 .../auth/quickconnect/rest/QuickConnectREST.java | 15 ---
 2 files changed, 5 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/d9751f20/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
index 4382659..d2315e5 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
@@ -114,7 +114,7 @@ public class QuickConnectUserContext extends 
AbstractUserContext {
 
 @Override
 public Object getResource() throws GuacamoleException {
-return new QuickConnectREST(this);
+return new QuickConnectREST(connectionDirectory);
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/d9751f20/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
index 48dec4c..4b0b9fd 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/rest/QuickConnectREST.java
@@ -26,7 +26,6 @@ import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import org.apache.guacamole.GuacamoleException;
 import org.apache.guacamole.auth.quickconnect.QuickConnectDirectory;
-import org.apache.guacamole.auth.quickconnect.QuickConnectUserContext;
 import org.apache.guacamole.auth.quickconnect.utility.QCParser;
 
 /**
@@ -42,25 +41,19 @@ public class QuickConnectREST {
 private QuickConnectDirectory directory;
 
 /**
- * The UserContext object for this REST endpoint.
- */
-private QuickConnectUserContext userContext;
-
-/**
  * Construct a new QuickConnectREST class, taking in the UserContext
  * object that calls this constructor.
  *
- * @param userContext
- * The UserContext object associated with this REST endpoint
+ * @param directory
+ * The ConnectionDirectory object associated with this REST endpoint
  *
  * @throws GuacamoleException
  * If the UserContext is unavailable or the directory object
  * cannot be retrieved.
  */
-public QuickConnectREST(QuickConnectUserContext userContext)
+public QuickConnectREST(QuickConnectDirectory directory)
 throws GuacamoleException {
-this.userContext = userContext;
-this.directory = this.userContext.getConnectionDirectory();
+this.directory = directory;
 }
 
 /**



[38/50] guacamole-client git commit: GUACAMOLE-38: Code cleanup; style, and grammar tweaks.

2018-06-03 Thread mjumper
GUACAMOLE-38: Code cleanup; style, and grammar tweaks.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/cfd16737
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/cfd16737
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/cfd16737

Branch: refs/heads/staging/1.0.0
Commit: cfd16737916b18ac7e7b8f7cbc154e3a93cd2dad
Parents: aabc871
Author: Nick Couchman 
Authored: Fri Apr 20 21:21:15 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../QuickConnectAuthenticationProvider.java |  4 +--
 .../quickconnect/QuickConnectDirectory.java | 33 ++--
 .../quickconnect/QuickConnectUserContext.java   | 23 +++---
 .../auth/quickconnect/QuickConnectionGroup.java | 19 ++-
 .../quickconnect/rest/QuickConnectREST.java | 23 ++
 .../auth/quickconnect/utility/QCParser.java | 29 -
 6 files changed, 56 insertions(+), 75 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/cfd16737/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
index 35fa8b7..090c5e7 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
@@ -25,8 +25,8 @@ import 
org.apache.guacamole.net.auth.AbstractAuthenticationProvider;
 import org.apache.guacamole.net.auth.UserContext;
 
 /**
- * Class providing the necessary hooks into the Guacamole Client authentication
- * process so that the QuickConnect functionality can be initialized and be 
used
+ * This class provides the necessary hooks into the Guacamole Client 
authentication
+ * process so that the QuickConnect functionality can be initialized and used
  * throughout the web client.
  */
 public class QuickConnectAuthenticationProvider extends 
AbstractAuthenticationProvider {

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/cfd16737/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
index a321f87..30d8683 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
@@ -31,7 +31,7 @@ import org.apache.guacamole.net.auth.Connection;
 import org.apache.guacamole.protocol.GuacamoleConfiguration;
 
 /**
- * Implementation of the Connection Directory, stored
+ * Implementation of a directory to stored Connection objects
  * completely in-memory.
  */
 public class QuickConnectDirectory extends SimpleDirectory {
@@ -58,14 +58,12 @@ public class QuickConnectDirectory extends 
SimpleDirectory {
 private AtomicInteger connectionId;
 
 /**
- * Creates a new QuickConnectDirectory which provides access to the
- * connections contained within the given Map.
+ * Creates a new QuickConnectDirectory with the default
+ * empty Map for Connection objects, and the specified
+ * ConnectionGroup at the root of the directory.
  *
- * @param connections
- * A Map of all connections that should be present in this
- * connection directory.
  * @param rootGroup
- * A group that should be at the base of this directory.
+ * A group that should be at the root of this directory.
  */
 public QuickConnectDirectory(ConnectionGroup rootGroup) {
 this.rootGroup = (QuickConnectionGroup)rootGroup;
@@ -74,11 +72,12 @@ public class QuickConnectDirectory extends 
SimpleDirectory {
 }
 
 /**
- * Returns the current counter and then increments it.
+ * Returns the current connection identifier counter and
+ * then increments it.
  *
  * @return
- * An Integer representing the next available conn

[03/50] guacamole-client git commit: GUACAMOLE-38: Update to 0.9.14 and remove incubating references.

2018-06-03 Thread mjumper
GUACAMOLE-38: Update to 0.9.14 and remove incubating references.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/039c5120
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/039c5120
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/039c5120

Branch: refs/heads/staging/1.0.0
Commit: 039c5120dfcba506141b6be0a34c154e8537ce2a
Parents: fc63007
Author: Nick Couchman 
Authored: Mon Jan 1 16:53:31 2018 -0500
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:50 2018 -0400

--
 extensions/guacamole-auth-quickconnect/pom.xml| 6 +++---
 .../guacamole-auth-quickconnect/src/licenses/DISCLAIMER   | 7 ---
 .../src/main/resources/guac-manifest.json | 2 +-
 3 files changed, 4 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/039c5120/extensions/guacamole-auth-quickconnect/pom.xml
--
diff --git a/extensions/guacamole-auth-quickconnect/pom.xml 
b/extensions/guacamole-auth-quickconnect/pom.xml
index fdf04c7..87ee7bd 100644
--- a/extensions/guacamole-auth-quickconnect/pom.xml
+++ b/extensions/guacamole-auth-quickconnect/pom.xml
@@ -26,9 +26,9 @@
 org.apache.guacamole
 guacamole-auth-quickconnect
 jar
-0.9.13-incubating
+0.9.14
 guacamole-auth-quickconnect
-http://guacamole.incubator.apache.org/
+http://guacamole.apache.org/
 
 
 UTF-8
@@ -181,7 +181,7 @@
 
 org.apache.guacamole
 guacamole-ext
-0.9.13-incubating
+0.9.14
 provided
 
 

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/039c5120/extensions/guacamole-auth-quickconnect/src/licenses/DISCLAIMER
--
diff --git a/extensions/guacamole-auth-quickconnect/src/licenses/DISCLAIMER 
b/extensions/guacamole-auth-quickconnect/src/licenses/DISCLAIMER
deleted file mode 100644
index 1a9c3be..000
--- a/extensions/guacamole-auth-quickconnect/src/licenses/DISCLAIMER
+++ /dev/null
@@ -1,7 +0,0 @@
-Apache Guacamole is an effort undergoing incubation at The Apache Software
-Foundation (ASF). Incubation is required of all newly accepted projects until a
-further review indicates that the infrastructure, communications, and decision
-making process have stabilized in a manner consistent with other successful ASF
-projects. While incubation status is not necessarily a reflection of the
-completeness or stability of the code, it does indicate that the project has
-yet to be fully endorsed by the ASF.

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/039c5120/extensions/guacamole-auth-quickconnect/src/main/resources/guac-manifest.json
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/resources/guac-manifest.json 
b/extensions/guacamole-auth-quickconnect/src/main/resources/guac-manifest.json
index 46fad88..62dd3bb 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/resources/guac-manifest.json
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/resources/guac-manifest.json
@@ -1,5 +1,5 @@
 {
-"guacamoleVersion" : "0.9.13-incubating",
+"guacamoleVersion" : "0.9.14",
 
 "name" : "Adhoc Guacamole Connections",
 "namespace": "quickconnect",



[11/50] guacamole-client git commit: GUACAMOLE-38: Minor documentation tweaks.

2018-06-03 Thread mjumper
GUACAMOLE-38: Minor documentation tweaks.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/6a922a78
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/6a922a78
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/6a922a78

Branch: refs/heads/staging/1.0.0
Commit: 6a922a781139e157cfa7cf5889e6e2f1e688693a
Parents: 12d92d2
Author: Nick Couchman 
Authored: Tue Apr 17 17:30:52 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 extensions/guacamole-auth-quickconnect/src/licenses/NOTICE   | 2 +-
 .../org/apache/guacamole/auth/quickconnect/utility/QCParser.java | 3 +--
 .../src/main/resources/controllers/quickconnectController.js | 4 
 3 files changed, 6 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/6a922a78/extensions/guacamole-auth-quickconnect/src/licenses/NOTICE
--
diff --git a/extensions/guacamole-auth-quickconnect/src/licenses/NOTICE 
b/extensions/guacamole-auth-quickconnect/src/licenses/NOTICE
index 47f2b4c..97e6130 100644
--- a/extensions/guacamole-auth-quickconnect/src/licenses/NOTICE
+++ b/extensions/guacamole-auth-quickconnect/src/licenses/NOTICE
@@ -1,5 +1,5 @@
 Apache Guacamole
-Copyright 2017 The Apache Software Foundation
+Copyright 2018 The Apache Software Foundation
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/6a922a78/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 d67d7ef..be157dc 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
@@ -148,8 +148,7 @@ public class QCParser {
  * the name.
  *
  * @return
- * The String value of the name that is generated, or
- * null if no config is provided.
+ * The String value of the name that is generated.
  *
  * @throws GuacamoleException
  * If an error occurs getting items in the configuration.

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/6a922a78/extensions/guacamole-auth-quickconnect/src/main/resources/controllers/quickconnectController.js
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/resources/controllers/quickconnectController.js
 
b/extensions/guacamole-auth-quickconnect/src/main/resources/controllers/quickconnectController.js
index 0313730..640034f 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/resources/controllers/quickconnectController.js
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/resources/controllers/quickconnectController.js
@@ -43,6 +43,10 @@ 
angular.module('guacQuickConnect').controller('quickconnectController', ['$scope
 }
 };
 
+/**
+ * The URI that will be passed in to the extension to create
+ * the connection.
+ */
 $scope.uri = null;
 
 /**



[13/50] guacamole-client git commit: GUACAMOLE-38: Get rid of unnecessary userContext initialization.

2018-06-03 Thread mjumper
GUACAMOLE-38: Get rid of unnecessary userContext initialization.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/b31b09a2
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/b31b09a2
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/b31b09a2

Branch: refs/heads/staging/1.0.0
Commit: b31b09a2f5b0562cf6ed971660c319a833b735c7
Parents: 6a922a7
Author: Nick Couchman 
Authored: Tue Apr 17 21:36:38 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 .../QuickConnectAuthenticationProvider.java | 12 ++--
 1 file changed, 2 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/b31b09a2/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
index 5223793..35fa8b7 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
@@ -31,11 +31,6 @@ import org.apache.guacamole.net.auth.UserContext;
  */
 public class QuickConnectAuthenticationProvider extends 
AbstractAuthenticationProvider {
 
-/**
- * userContext for this authentication provider.
- */
-private UserContext userContext;
-
 @Override
 public String getIdentifier() {
 return "quickconnect";
@@ -45,11 +40,8 @@ public class QuickConnectAuthenticationProvider extends 
AbstractAuthenticationPr
 public UserContext getUserContext(AuthenticatedUser authenticatedUser)
 throws GuacamoleException {
 
-if (userContext == null)
-userContext = new QuickConnectUserContext(this,
-authenticatedUser.getIdentifier());
-
-return userContext;
+return new QuickConnectUserContext(this,
+authenticatedUser.getIdentifier());
 
 }
 



[37/50] guacamole-client git commit: GUACAMOLE-38: Remove bundled aopalliance license.

2018-06-03 Thread mjumper
GUACAMOLE-38: Remove bundled aopalliance license.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/66294518
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/66294518
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/66294518

Branch: refs/heads/staging/1.0.0
Commit: 6629451892f7ae160a0cfdea15b309b80da744fe
Parents: cfd1673
Author: Nick Couchman 
Authored: Sat Apr 28 08:28:03 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../src/licenses/LICENSE | 19 ---
 .../src/licenses/bundled/README  |  4 
 .../src/licenses/bundled/aopalliance-1.0/LICENSE |  4 
 3 files changed, 27 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/66294518/extensions/guacamole-auth-quickconnect/src/licenses/LICENSE
--
diff --git a/extensions/guacamole-auth-quickconnect/src/licenses/LICENSE 
b/extensions/guacamole-auth-quickconnect/src/licenses/LICENSE
index e8788bb..d645695 100644
--- a/extensions/guacamole-auth-quickconnect/src/licenses/LICENSE
+++ b/extensions/guacamole-auth-quickconnect/src/licenses/LICENSE
@@ -200,22 +200,3 @@
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-
-
-==
-
-APACHE GUACAMOLE SUBCOMPONENTS
-
-Apache Guacamole includes a number of subcomponents with separate copyright
-notices and license terms. Your use of these subcomponents is subject to the
-terms and conditions of the following licenses.
-
-
-AOP Alliance (http://aopalliance.sourceforge.net/)
---
-
-Version: 1.0
-From: 'AOP Alliance' (http://aopalliance.sourceforge.net/members.html)
-License(s):
-Public Domain (bundled/aopalliance-1.0/LICENSE)
-

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/66294518/extensions/guacamole-auth-quickconnect/src/licenses/bundled/README
--
diff --git a/extensions/guacamole-auth-quickconnect/src/licenses/bundled/README 
b/extensions/guacamole-auth-quickconnect/src/licenses/bundled/README
deleted file mode 100644
index 47ba19d..000
--- a/extensions/guacamole-auth-quickconnect/src/licenses/bundled/README
+++ /dev/null
@@ -1,4 +0,0 @@
-Apache Guacamole includes a number of subcomponents with separate copyright
-notices and license terms. Your use of these subcomponents is subject to the
-terms and conditions of their respective licenses, included within this
-directory for reference.

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/66294518/extensions/guacamole-auth-quickconnect/src/licenses/bundled/aopalliance-1.0/LICENSE
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/licenses/bundled/aopalliance-1.0/LICENSE
 
b/extensions/guacamole-auth-quickconnect/src/licenses/bundled/aopalliance-1.0/LICENSE
deleted file mode 100644
index 8e0e378..000
--- 
a/extensions/guacamole-auth-quickconnect/src/licenses/bundled/aopalliance-1.0/LICENSE
+++ /dev/null
@@ -1,4 +0,0 @@
-From http://aopalliance.sourceforge.net/:
-
-LICENCE: all the source code provided by AOP Alliance is Public Domain.
-



[41/50] guacamole-client git commit: GUACAMOLE-38: Implement QuickConnectException for providing exceptions to the user.

2018-06-03 Thread mjumper
GUACAMOLE-38: Implement QuickConnectException for providing exceptions to the 
user.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/73020135
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/73020135
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/73020135

Branch: refs/heads/staging/1.0.0
Commit: 730201358edb26ee27ab90f808fa72f146e0454b
Parents: 8c13021
Author: Nick Couchman 
Authored: Mon May 21 10:54:14 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:53 2018 -0400

--
 .../quickconnect/QuickConnectException.java | 86 
 .../auth/quickconnect/utility/QCParser.java | 13 ++-
 .../src/main/resources/translations/en.json |  6 ++
 3 files changed, 101 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/73020135/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectException.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectException.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectException.java
new file mode 100644
index 000..6e4d5b9
--- /dev/null
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectException.java
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.guacamole.auth.quickconnect;
+
+import org.apache.guacamole.GuacamoleClientException;
+import org.apache.guacamole.language.Translatable;
+import org.apache.guacamole.language.TranslatableMessage;
+
+/**
+ * An exception that is thrown by this extension when an error occurs
+ * attempting to create and establish a connection with a user-provided
+ * URI.
+ */
+public class QuickConnectException extends GuacamoleClientException
+implements Translatable {
+
+/**
+ * A message that can be passed through the translation service
+ * to provide information about the error that occurred.
+ */
+private final TranslatableMessage translatableMessage;
+
+/**
+ * Create a QuickConnectException with the given message and 
translationKey.
+ * The message will not be passed through the translation system; the
+ * translationKey will be passed through the translation system.  Both 
should
+ * describe the error.
+ * 
+ * @param message
+ * A string describing the error that occurred when trying to create
+ * or establish the connection.  This will not be passed through the
+ * translation system.
+ * 
+ * @param translationKey
+ * A key known to the translation system describing the error that 
+ * occurred when trying to create or establish the connection.
+ * This will be passed through the translation system to provide 
+ * a localized version of the message.
+ */
+public QuickConnectException(String message, String translationKey) {
+super(message);
+this.translatableMessage = new TranslatableMessage(translationKey);
+}
+
+/**
+ * Create a new QuickConnectException given the human-readable message,
+ * which will not be passed through the translation system, and the
+ * translatableMessage, which will be passed through the translation 
system.
+ * Both parameters should describe the error preventing the connection
+ * from being created or established.
+ * 
+ * @param message
+ * The human-readable message describing the error, which will not
+ * be passed through the translation system.
+ * 
+ * @param translatableMessage
+ * The human-readable message describing the error, which will be
+ * passed through the translation system.
+ */
+public QuickConnectExcepti

[08/50] guacamole-client git commit: GUACAMOLE-38: Extend SimpleConnection instead of copying code manually.

2018-06-03 Thread mjumper
GUACAMOLE-38: Extend SimpleConnection instead of copying code manually.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/a3d85122
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/a3d85122
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/a3d85122

Branch: refs/heads/staging/1.0.0
Commit: a3d851228eb523782ce20965be4391645d86f014
Parents: 2113d1a
Author: Nick Couchman 
Authored: Fri Mar 16 14:54:05 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:50 2018 -0400

--
 .../auth/quickconnect/QuickConnection.java  | 89 ++--
 1 file changed, 5 insertions(+), 84 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/a3d85122/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnection.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnection.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnection.java
index a2f3814..2603f17 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnection.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnection.java
@@ -36,6 +36,7 @@ import org.apache.guacamole.net.auth.AbstractConnection;
 import org.apache.guacamole.net.auth.Connection;
 import org.apache.guacamole.net.auth.ConnectionRecord;
 import org.apache.guacamole.net.auth.GuacamoleProxyConfiguration;
+import org.apache.guacamole.net.auth.simple.SimpleConnection;
 import org.apache.guacamole.protocol.ConfiguredGuacamoleSocket;
 import org.apache.guacamole.protocol.GuacamoleClientInformation;
 import org.apache.guacamole.protocol.GuacamoleConfiguration;
@@ -43,12 +44,7 @@ import org.apache.guacamole.protocol.GuacamoleConfiguration;
 /**
  * A type of Connection specific to this authentication extension.
  */
-public class QuickConnection extends AbstractConnection {
-
-/**
- * Backing configuration, containing all sensitive information.
- */
-private GuacamoleConfiguration config;
+public class QuickConnection extends SimpleConnection {
 
 /**
  * Number of active connections.
@@ -80,12 +76,7 @@ public class QuickConnection extends AbstractConnection {
 public QuickConnection(String name, String identifier,
 GuacamoleConfiguration config) {
 
-setName(name);
-
-setIdentifier(identifier);
-
-setConfiguration(config);
-this.config = config;
+super(name, identifier, config);
 
 this.activeConnections = 0;
 
@@ -101,81 +92,11 @@ public class QuickConnection extends AbstractConnection {
  */
 public QuickConnection(Connection object) {
 
-setName(object.getName());
-setIdentifier(object.getIdentifier());
+
super(object.getName(),object.getIdentifier(),object.getConfiguration());
+
 setParentIdentifier(object.getParentIdentifier());
-setConfiguration(object.getConfiguration());
-this.config = object.getConfiguration();
 this.activeConnections = 0;
 
 }
 
-@Override
-public int getActiveConnections() {
-return activeConnections;
-}
-
-@Override
-public Map getAttributes() {
-return Collections.emptyMap();
-}
-
-@Override
-public void setAttributes(Map attributes) {
-// Do nothing - there are no attributes
-}
-
-@Override
-public GuacamoleTunnel connect(GuacamoleClientInformation info)
-throws GuacamoleException {
-
-// Retrieve proxy configuration from environment
-Environment environment = new LocalEnvironment();
-GuacamoleProxyConfiguration proxyConfig = 
environment.getDefaultGuacamoleProxyConfiguration();
-
-// Get guacd connection parameters
-String hostname = proxyConfig.getHostname();
-int port = proxyConfig.getPort();
-
-GuacamoleSocket socket;
-
-// Determine socket type based on required encryption method
-switch (proxyConfig.getEncryptionMethod()) {
-
-// If guacd requires SSL, use it
-case SSL:
-socket = new ConfiguredGuacamoleSocket(
-new SSLGuacamoleSocket(hostname, port),
-config, info
-);
-break;
-
-// Connect directly via TCP if encryption is not enabled
-case NONE:
-socket = new ConfiguredGuacamoleSocket(
-new InetGuacamoleSocket(hostname, port),
-   

[01/50] guacamole-client git commit: GUACAMOLE-38: Implement the AuthenticationProvider instead of extending another.

2018-06-03 Thread mjumper
Repository: guacamole-client
Updated Branches:
  refs/heads/staging/1.0.0 2fb377ac8 -> 72bc8c01a


GUACAMOLE-38: Implement the AuthenticationProvider instead of extending another.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/fb5d2723
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/fb5d2723
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/fb5d2723

Branch: refs/heads/staging/1.0.0
Commit: fb5d2723bcc7cad1585736e644e367d802082d29
Parents: 5c96cd6
Author: Nick Couchman 
Authored: Sat Mar 24 21:58:19 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:50 2018 -0400

--
 .../QuickConnectAuthenticationProvider.java | 53 +---
 1 file changed, 45 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/fb5d2723/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
index c809709..d638ff8 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
@@ -23,10 +23,10 @@ import java.util.Collections;
 import java.util.Map;
 import org.apache.guacamole.GuacamoleException;
 import org.apache.guacamole.net.auth.AuthenticatedUser;
+import org.apache.guacamole.net.auth.AuthenticationProvider;
 import org.apache.guacamole.net.auth.Credentials;
 import org.apache.guacamole.net.auth.credentials.CredentialsInfo;
 import 
org.apache.guacamole.net.auth.credentials.GuacamoleInvalidCredentialsException;
-import org.apache.guacamole.net.auth.simple.SimpleAuthenticationProvider;
 import org.apache.guacamole.net.auth.UserContext;
 import org.apache.guacamole.protocol.GuacamoleConfiguration;
 
@@ -35,7 +35,7 @@ import org.apache.guacamole.protocol.GuacamoleConfiguration;
  * process so that the QuickConnect functionality can be initialized and be 
used
  * throughout the web client.
  */
-public class QuickConnectAuthenticationProvider extends 
SimpleAuthenticationProvider {
+public class QuickConnectAuthenticationProvider implements 
AuthenticationProvider {
 
 /**
  * userContext for this authentication provider.
@@ -47,6 +47,11 @@ public class QuickConnectAuthenticationProvider extends 
SimpleAuthenticationProv
 return "quickconnect";
 }
 
+@Override
+public Object getResource() throws GuacamoleException {
+return null;
+}
+
 /**
  * For QuickConnect, authenticateUser simply returns null because this
  * extension is designed to provide only a connection directory to users
@@ -68,20 +73,52 @@ public class QuickConnectAuthenticationProvider extends 
SimpleAuthenticationProv
 }
 
 @Override
-public Map
-getAuthorizedConfigurations(Credentials credentials)
-throws GuacamoleException {
+public UserContext getUserContext(AuthenticatedUser authenticatedUser)
+throws GuacamoleException {
 
-return Collections.emptyMap();
+return new QuickConnectUserContext(this, 
authenticatedUser.getIdentifier());
 
 }
 
 @Override
-public UserContext getUserContext(AuthenticatedUser authenticatedUser)
+public AuthenticatedUser updateAuthenticatedUser(AuthenticatedUser 
authenticatedUser,
+Credentials credentials) throws GuacamoleException {
+
+// Simply return the given user, updating nothing
+return authenticatedUser;
+
+}
+
+@Override
+public UserContext updateUserContext(UserContext context,
+AuthenticatedUser authorizedUser, Credentials credentials)
 throws GuacamoleException {
 
-return new QuickConnectUserContext(this, 
authenticatedUser.getIdentifier());
+// Simply return the given context, updating nothing
+return context;
+
+}
+
+@Override
+public UserContext decorate(UserContext context,
+AuthenticatedUser authenticatedUser, Credentials credentials)
+throws GuacamoleException {
+
+// Simply return the given context, decorating nothing
+return context;
 
 }
 
+@Override
+public UserContext redecorate(UserContext decorated, UserContext context,
+AuthenticatedUser authenticatedUser, Cred

[20/50] guacamole-client git commit: GUACAMOLE-38: Remove lots of extra imports.

2018-06-03 Thread mjumper
GUACAMOLE-38: Remove lots of extra imports.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/d608643b
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/d608643b
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/d608643b

Branch: refs/heads/staging/1.0.0
Commit: d608643bb6c890d91edfac5fb70838c264180dde
Parents: 3feb2c2
Author: Nick Couchman 
Authored: Sun Apr 15 22:44:46 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:51 2018 -0400

--
 .../QuickConnectAuthenticationProvider.java|  6 --
 .../auth/quickconnect/QuickConnectUserContext.java | 10 --
 .../auth/quickconnect/QuickConnection.java | 17 -
 .../auth/quickconnect/rest/QuickConnectREST.java   |  9 -
 4 files changed, 42 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/d608643b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
index 6e6f2bc..66c42e7 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectAuthenticationProvider.java
@@ -19,16 +19,10 @@
 
 package org.apache.guacamole.auth.quickconnect;
 
-import java.util.Collections;
-import java.util.Map;
 import org.apache.guacamole.GuacamoleException;
 import org.apache.guacamole.net.auth.AuthenticatedUser;
 import org.apache.guacamole.net.auth.AbstractAuthenticationProvider;
-import org.apache.guacamole.net.auth.Credentials;
-import org.apache.guacamole.net.auth.credentials.CredentialsInfo;
-import 
org.apache.guacamole.net.auth.credentials.GuacamoleInvalidCredentialsException;
 import org.apache.guacamole.net.auth.UserContext;
-import org.apache.guacamole.protocol.GuacamoleConfiguration;
 
 /**
  * Class providing the necessary hooks into the Guacamole Client authentication

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/d608643b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
index 60f6ded..60a05e5 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java
@@ -19,24 +19,14 @@
 
 package org.apache.guacamole.auth.quickconnect;
 
-import java.util.Collection;
 import java.util.Collections;
 import org.apache.guacamole.auth.quickconnect.rest.QuickConnectREST;
 import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.form.Form;
 import org.apache.guacamole.net.auth.AbstractUserContext;
-import org.apache.guacamole.net.auth.ActiveConnection;
-import org.apache.guacamole.net.auth.ActivityRecord;
-import org.apache.guacamole.net.auth.ActivityRecordSet;
 import org.apache.guacamole.net.auth.AuthenticationProvider;
-import org.apache.guacamole.net.auth.Connection;
 import org.apache.guacamole.net.auth.ConnectionGroup;
-import org.apache.guacamole.net.auth.ConnectionRecord;
 import org.apache.guacamole.net.auth.Directory;
-import org.apache.guacamole.net.auth.SharingProfile;
 import org.apache.guacamole.net.auth.User;
-import org.apache.guacamole.net.auth.UserContext;
-import org.apache.guacamole.net.auth.simple.SimpleActivityRecordSet;
 import org.apache.guacamole.net.auth.simple.SimpleDirectory;
 import org.apache.guacamole.net.auth.simple.SimpleUser;
 

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/d608643b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnection.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnection.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/gua

[07/50] guacamole-client git commit: GUACAMOLE-38: Make connection ID incrementing thread-safe.

2018-06-03 Thread mjumper
GUACAMOLE-38: Make connection ID incrementing thread-safe.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/8fa0cea7
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/8fa0cea7
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/8fa0cea7

Branch: refs/heads/staging/1.0.0
Commit: 8fa0cea7936a5740cebf464902f8445dc30120c4
Parents: a3d8512
Author: Nick Couchman 
Authored: Sun Mar 18 20:42:37 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:50 2018 -0400

--
 .../auth/quickconnect/QuickConnectDirectory.java| 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/8fa0cea7/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
index 00c5044..2e19870 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
@@ -20,6 +20,7 @@
 package org.apache.guacamole.auth.quickconnect;
 
 import java.util.Collection;
+import java.util.concurrent.atomic.AtomicInteger;
 import org.apache.guacamole.GuacamoleException;
 import org.apache.guacamole.auth.quickconnect.utility.QCParser;
 import org.apache.guacamole.net.auth.ConnectionGroup;
@@ -46,7 +47,7 @@ public class QuickConnectDirectory extends 
SimpleConnectionDirectory {
 /**
  * The internal counter for connection IDs.
  */
-private int CONNECTION_ID = 0;
+private AtomicInteger connectionId;
 
 /**
  * Creates a new QuickConnectDirectory which provides access to the
@@ -61,6 +62,7 @@ public class QuickConnectDirectory extends 
SimpleConnectionDirectory {
 public QuickConnectDirectory(Collection connections, 
ConnectionGroup rootGroup) {
 super(connections);
 this.rootGroup = (QuickConnectConnectionGroup)rootGroup;
+this.connectionId = new AtomicInteger();
 }
 
 /**
@@ -70,8 +72,8 @@ public class QuickConnectDirectory extends 
SimpleConnectionDirectory {
  * An Integer representing the next available connection
  * ID to get used when adding connections.
  */
-private Integer getNextConnectionID() {
-return CONNECTION_ID++;
+private int getNextConnectionID() {
+return connectionId.getAndIncrement();
 }
 
 @Override
@@ -99,7 +101,7 @@ public class QuickConnectDirectory extends 
SimpleConnectionDirectory {
 public String put(QuickConnection connection) throws GuacamoleException {
 
 // Get the next connection ID.
-String connectionId = getNextConnectionID().toString();
+String connectionId = Integer.toString(getNextConnectionID());
 
 // Set up identifier and parent on object.
 connection.setIdentifier(connectionId);
@@ -132,7 +134,7 @@ public class QuickConnectDirectory extends 
SimpleConnectionDirectory {
 public String create(GuacamoleConfiguration config) throws 
GuacamoleException {
 
 // Get the next connection ID
-String connectionId = getNextConnectionID().toString();
+String connectionId = Integer.toString(getNextConnectionID());
 
 // Generate a name for the configuration
 String name = QCParser.getName(config);



[05/50] guacamole-client git commit: GUACAMOLE-38: Leave default port to individual protocols.

2018-06-03 Thread mjumper
GUACAMOLE-38: Leave default port to individual protocols.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/5c96cd63
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/5c96cd63
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/5c96cd63

Branch: refs/heads/staging/1.0.0
Commit: 5c96cd63267abf184d9a689f694f0a1e4da453d5
Parents: 6c71f4d
Author: Nick Couchman 
Authored: Sat Mar 24 20:44:02 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:50 2018 -0400

--
 .../guacamole/auth/quickconnect/utility/QCParser.java   | 12 +++-
 1 file changed, 3 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/5c96cd63/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 3de9e80..30121df 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
@@ -45,11 +45,6 @@ public class QCParser {
 public static final String DEFAULT_URI_HOST = "localhost";
 
 /**
- * The default port to use if one is not defined.
- */
-public static final Integer DEFAULT_URI_PORT = 22;
-
-/**
  * Parse out a URI string and get a connection from that string,
  * or an exception if the parsing fails.
  *
@@ -89,9 +84,6 @@ public class QCParser {
 if (host == null || host.equals(""))
 host = DEFAULT_URI_HOST;
 
-if (port == -1 || port < 1)
-port = DEFAULT_URI_PORT;
-
 if (query != null && !query.equals(""))
 paramList = Arrays.asList(query.split("&"));
 
@@ -106,7 +98,9 @@ public class QCParser {
 GuacamoleConfiguration qcConfig = new GuacamoleConfiguration();
 qcConfig.setProtocol(protocol);
 qcConfig.setParameter("hostname",host);
-qcConfig.setParameter("port", Integer.toString(port));
+
+if (port > 0)
+qcConfig.setParameter("port", Integer.toString(port));
 
 if (username != null)
 qcConfig.setParameter("username", username);



[04/50] guacamole-client git commit: GUACAMOLE-38: Remove unnecessary code.

2018-06-03 Thread mjumper
GUACAMOLE-38: Remove unnecessary code.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/fc63007e
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/fc63007e
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/fc63007e

Branch: refs/heads/staging/1.0.0
Commit: fc63007e59120712ed7c3a96d17ad73b2ce8c3c0
Parents: 74ab18b
Author: Nick Couchman 
Authored: Sat Oct 28 14:40:03 2017 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:50 2018 -0400

--
 .../auth/quickconnect/QuickConnectDirectory.java| 12 +---
 1 file changed, 1 insertion(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/fc63007e/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
--
diff --git 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
index d56df95..5c9606d 100644
--- 
a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
+++ 
b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java
@@ -77,18 +77,8 @@ public class QuickConnectDirectory extends 
SimpleConnectionDirectory {
 @Override
 public void add(Connection object) throws GuacamoleException {
 
-// Get the next connection ID.
-String connectionId = getNextConnectionID().toString();
-
-// Set up identifier and parent on original object.
-object.setIdentifier(connectionId);
-object.setParentIdentifier(ROOT_IDENTIFIER);
+put(new QuickConnection(object));
 
-// Add connection to the directory
-putConnection(new QuickConnection(object));
-
-// Add connection to the tree
-this.rootGroup.addConnectionIdentifier(connectionId);
 }
 
 /**



[33/50] guacamole-client git commit: GUACAMOLE-38: Use StringBuilder to gather up name.

2018-06-03 Thread mjumper
GUACAMOLE-38: Use StringBuilder to gather up name.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/d4b7e2b8
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/d4b7e2b8
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/d4b7e2b8

Branch: refs/heads/staging/1.0.0
Commit: d4b7e2b8b608eaa8ad8e5a21eed8cd3bd92964e7
Parents: cf241f0
Author: Nick Couchman 
Authored: Thu Apr 19 05:30:51 2018 -0400
Committer: Nick Couchman 
Committed: Fri Jun 1 13:40:52 2018 -0400

--
 .../auth/quickconnect/utility/QCParser.java  | 15 ---
 1 file changed, 8 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/d4b7e2b8/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 ba6e3fd..7d5d7d4 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
@@ -19,6 +19,7 @@
 
 package org.apache.guacamole.auth.quickconnect.utility;
 
+import java.lang.StringBuilder;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.Arrays;
@@ -164,23 +165,23 @@ public class QCParser {
 String port = config.getParameter("port");
 String user = config.getParameter("username");
 
-String name = "";
+StringBuilder name = new StringBuilder("");
 
 if (protocol != null && !protocol.isEmpty())
-name += protocol + "://";
+name.append(protocol).append("://");
 
 if (user != null && !user.isEmpty())
-name += user + "@";
+name.append(user).append("@");
 
 if (host != null && !host.isEmpty())
-name += host;
+name.append(host);
 
 if (port != null && !port.isEmpty())
-name += ":" + port;
+name.append(":").append(port);
 
-name += "/";
+name.append("/");
 
-return name;
+return name.toString();
 }
 
 }



  1   2   >