guacamole-website git commit: GUACAMOLE-436: Deploy updated links to renamed repositories and dist area.

2017-11-29 Thread mjumper
Repository: guacamole-website
Updated Branches:
  refs/heads/asf-site 063e1423a -> b0b9ca016


GUACAMOLE-436: Deploy updated links to renamed repositories and dist area.


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

Branch: refs/heads/asf-site
Commit: b0b9ca016355bbfde19b3e5452ae8e6ab2c719be
Parents: 063e142
Author: Michael Jumper 
Authored: Wed Nov 29 06:21:42 2017 -0800
Committer: Michael Jumper 
Committed: Wed Nov 29 06:21:42 2017 -0800

--
 content/api-documentation/index.html  |  2 +-
 content/guac-style/index.html |  2 +-
 content/index.html|  2 +-
 content/maturity-evaluation/index.html|  2 +-
 content/open-source/index.html|  4 +-
 content/pull-requests/index.html  | 10 +--
 content/release-procedures-part1/index.html   | 34 +-
 content/release-procedures-part2/index.html   | 36 +-
 content/release-procedures-part3/index.html   | 11 ++--
 content/release-procedures-part4/index.html   |  4 +-
 content/releases/0.8.3/index.html |  2 +-
 content/releases/0.8.4/index.html |  2 +-
 content/releases/0.9.0/index.html |  2 +-
 content/releases/0.9.1/index.html |  2 +-
 content/releases/0.9.10-incubating/index.html |  2 +-
 content/releases/0.9.11-incubating/index.html |  2 +-
 content/releases/0.9.12-incubating/index.html | 66 +--
 content/releases/0.9.13-incubating/index.html | 76 +++---
 content/releases/0.9.2/index.html |  2 +-
 content/releases/0.9.3/index.html |  2 +-
 content/releases/0.9.4/index.html |  2 +-
 content/releases/0.9.5/index.html |  2 +-
 content/releases/0.9.6/index.html |  2 +-
 content/releases/0.9.7/index.html |  2 +-
 content/releases/0.9.8/index.html |  2 +-
 content/releases/0.9.9/index.html |  2 +-
 content/releases/index.html   |  2 +-
 content/support/index.html|  2 +-
 28 files changed, 140 insertions(+), 141 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-website/blob/b0b9ca01/content/api-documentation/index.html
--
diff --git a/content/api-documentation/index.html 
b/content/api-documentation/index.html
index d41df3f..44f31a7 100644
--- a/content/api-documentation/index.html
+++ b/content/api-documentation/index.html
@@ -147,7 +147,7 @@
 
 
 
-https://github.com/search?utf8=%E2%9C%93=repo%3Aapache%2Fincubator-guacamole-server+repo%3Aapache%2Fincubator-guacamole-client+repo%3Aapache%2Fincubator-guacamole-website=Repositories=searchresults;
+https://github.com/search?utf8=%E2%9C%93=repo%3Aapache%2Fguacamole-server+repo%3Aapache%2Fguacamole-client+repo%3Aapache%2Fguacamole-website=Repositories=searchresults;
 >GitHub
 
 

http://git-wip-us.apache.org/repos/asf/guacamole-website/blob/b0b9ca01/content/guac-style/index.html
--
diff --git a/content/guac-style/index.html b/content/guac-style/index.html
index 4fdc6dd..c48df42 100644
--- a/content/guac-style/index.html
+++ b/content/guac-style/index.html
@@ -147,7 +147,7 @@
 
 
 
-https://github.com/search?utf8=%E2%9C%93=repo%3Aapache%2Fincubator-guacamole-server+repo%3Aapache%2Fincubator-guacamole-client+repo%3Aapache%2Fincubator-guacamole-website=Repositories=searchresults;
+https://github.com/search?utf8=%E2%9C%93=repo%3Aapache%2Fguacamole-server+repo%3Aapache%2Fguacamole-client+repo%3Aapache%2Fguacamole-website=Repositories=searchresults;
 >GitHub
 
 

http://git-wip-us.apache.org/repos/asf/guacamole-website/blob/b0b9ca01/content/index.html
--
diff --git a/content/index.html b/content/index.html
index f3beaaa..94928ad 100644
--- a/content/index.html
+++ b/content/index.html
@@ -147,7 +147,7 @@
 
 
 
-https://github.com/search?utf8=%E2%9C%93=repo%3Aapache%2Fincubator-guacamole-server+repo%3Aapache%2Fincubator-guacamole-client+repo%3Aapache%2Fincubator-guacamole-website=Repositories=searchresults;
+

[incubator-guacamole-client] Git Push Summary

2017-11-17 Thread mjumper
Repository: incubator-guacamole-client
Updated Branches:
  refs/heads/staging/0.9.14-incubating [deleted] 442fd3daa


[2/2] incubator-guacamole-client git commit: GUACAMOLE-437: Merge support for including custom headers within HTTP tunnel requests.

2017-11-19 Thread mjumper
GUACAMOLE-437: Merge support for including custom headers within HTTP tunnel 
requests.


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

Branch: refs/heads/master
Commit: ff2bd3d4f8c24dda68ada899ea52288cb432e15d
Parents: e2c8594 948b4e8
Author: Michael Jumper 
Authored: Sun Nov 19 14:25:17 2017 -0800
Committer: Michael Jumper 
Committed: Sun Nov 19 14:25:17 2017 -0800

--
 .../src/main/webapp/modules/Tunnel.js   | 34 +++-
 1 file changed, 33 insertions(+), 1 deletion(-)
--




[1/2] incubator-guacamole-client git commit: GUACAMOLE-437: Custom headers for Guacamole tunnel

2017-11-19 Thread mjumper
Repository: incubator-guacamole-client
Updated Branches:
  refs/heads/master e2c8594b3 -> ff2bd3d4f


GUACAMOLE-437: Custom headers for Guacamole tunnel


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

Branch: refs/heads/master
Commit: 948b4e804cd58bcaf1f2f01914ef1f90950f43e6
Parents: e2c8594
Author: Ignasi Barrera 
Authored: Thu Nov 16 13:03:17 2017 +0100
Committer: Ignasi Barrera 
Committed: Sun Nov 19 03:45:39 2017 +0100

--
 .../src/main/webapp/modules/Tunnel.js   | 34 +++-
 1 file changed, 33 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/948b4e80/guacamole-common-js/src/main/webapp/modules/Tunnel.js
--
diff --git a/guacamole-common-js/src/main/webapp/modules/Tunnel.js 
b/guacamole-common-js/src/main/webapp/modules/Tunnel.js
index 2b1826d..a4e399d 100644
--- a/guacamole-common-js/src/main/webapp/modules/Tunnel.js
+++ b/guacamole-common-js/src/main/webapp/modules/Tunnel.js
@@ -182,8 +182,13 @@ Guacamole.Tunnel.State = {
  * Whether tunnel requests will be cross-domain, and thus must use CORS
  * mechanisms and headers. By default, it is assumed that tunnel requests
  * will be made to the same domain.
+ *
+ * @param {Object} [extraTunnelHeaders={}]
+ * Key value pairs containing the header names and values of any additional
+ * headers to be sent in tunnel requests. By default, no extra headers will
+ * be added.
  */
-Guacamole.HTTPTunnel = function(tunnelURL, crossDomain) {
+Guacamole.HTTPTunnel = function(tunnelURL, crossDomain, extraTunnelHeaders) {
 
 /**
  * Reference to this HTTP tunnel.
@@ -215,6 +220,29 @@ Guacamole.HTTPTunnel = function(tunnelURL, crossDomain) {
 var receive_timeout = null;
 
 /**
+ * Additional headers to be sent in tunnel requests. This dictionary can be
+ * populated with key/value header pairs to pass information such as 
authentication
+ * tokens, etc.
+ *
+ * @private
+ */
+var extraHeaders = extraTunnelHeaders || {}
+
+/**
+ * Adds the configured additional headers to the given request.
+ *
+ * @params {XMLHttpRequest} request
+ * The request where the configured extra headers will be added.
+ *
+ * @private
+ */
+function addExtraHeaders(request) {
+for (var name in tunnel.extraHeaders) {
+request.setRequestHeader(name, tunnel.extraHeaders[name]);
+}
+}
+
+/**
  * Initiates a timeout which, if data is not received, causes the tunnel
  * to close with an error.
  * 
@@ -322,6 +350,7 @@ Guacamole.HTTPTunnel = function(tunnelURL, crossDomain) {
 var message_xmlhttprequest = new XMLHttpRequest();
 message_xmlhttprequest.open("POST", TUNNEL_WRITE + tunnel.uuid);
 message_xmlhttprequest.withCredentials = withCredentials;
+addExtraHeaders(message_xmlhttprequest);
 message_xmlhttprequest.setRequestHeader("Content-type", 
"application/octet-stream");
 
 // Once response received, send next queued event.
@@ -553,6 +582,7 @@ Guacamole.HTTPTunnel = function(tunnelURL, crossDomain) {
 var xmlhttprequest = new XMLHttpRequest();
 xmlhttprequest.open("GET", TUNNEL_READ + tunnel.uuid + ":" + 
(request_id++));
 xmlhttprequest.withCredentials = withCredentials;
+addExtraHeaders(xmlhttprequest);
 xmlhttprequest.send(null);
 
 return xmlhttprequest;
@@ -595,6 +625,7 @@ Guacamole.HTTPTunnel = function(tunnelURL, crossDomain) {
 
 connect_xmlhttprequest.open("POST", TUNNEL_CONNECT, true);
 connect_xmlhttprequest.withCredentials = withCredentials;
+addExtraHeaders(connect_xmlhttprequest);
 connect_xmlhttprequest.setRequestHeader("Content-type", 
"application/x-www-form-urlencoded; charset=UTF-8");
 connect_xmlhttprequest.send(data);
 
@@ -1137,6 +1168,7 @@ Guacamole.StaticHTTPTunnel = function 
StaticHTTPTunnel(url, crossDomain) {
 xhr = new XMLHttpRequest();
 xhr.open('GET', url);
 xhr.withCredentials = !!crossDomain;
+addExtraHeaders(xhr);
 xhr.responseType = 'text';
 xhr.send(null);
 



[2/3] guacamole-manual git commit: GUACAMOLE-243: Minor tweaks to language and style.

2017-12-11 Thread mjumper
GUACAMOLE-243: Minor tweaks to language and style.


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

Branch: refs/heads/staging/0.9.14
Commit: 86a0afce2c57f6479cb201ca0f61acfe57c104a3
Parents: eab8ae3
Author: Nick Couchman 
Authored: Thu Nov 30 08:44:24 2017 -0500
Committer: Nick Couchman 
Committed: Thu Nov 30 08:44:24 2017 -0500

--
 src/chapters/ldap-auth.xml | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-manual/blob/86a0afce/src/chapters/ldap-auth.xml
--
diff --git a/src/chapters/ldap-auth.xml b/src/chapters/ldap-auth.xml
index 5c38113..bc3bc5e 100644
--- a/src/chapters/ldap-auth.xml
+++ b/src/chapters/ldap-auth.xml
@@ -407,8 +407,8 @@ dn: cn={4}guacConfigGroup,cn=schema,cn=config
 
 ldap-follow-referrals
 
-This option controls whether or not the LDAP 
connection follows referrals when
-processing search results from a LDAP operation.  
Referrals can be pointers to other
+This option controls whether or not the LDAP 
module follow referrals when
+processing search results from a LDAP search.  
Referrals can be pointers to other
 parts of an LDAP tree, or to a different 
server/connection altogether.  This is a boolean
 parameter, with valid options of "true" or 
"false."  The default is false.  When disabled,
 LDAP referrals will be ignored when encounterd by 
the Guacamole LDAP client and the client
@@ -428,8 +428,7 @@ dn: cn={4}guacConfigGroup,cn=schema,cn=config
 
 ldap-operation-timeout
 This option sets the timeout, in seconds, of any 
single LDAP operation.  The default is 30 seconds.
-When this timeout is reached LDAP operations will be 
aborted.
-
+When this timeout is reached LDAP operations will be 
aborted.
 
 
 



[2/4] guacamole-manual git commit: GUACAMOLE-243: Minor tweaks to language and style.

2017-12-11 Thread mjumper
GUACAMOLE-243: Minor tweaks to language and style.


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

Branch: refs/heads/master
Commit: 86a0afce2c57f6479cb201ca0f61acfe57c104a3
Parents: eab8ae3
Author: Nick Couchman 
Authored: Thu Nov 30 08:44:24 2017 -0500
Committer: Nick Couchman 
Committed: Thu Nov 30 08:44:24 2017 -0500

--
 src/chapters/ldap-auth.xml | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-manual/blob/86a0afce/src/chapters/ldap-auth.xml
--
diff --git a/src/chapters/ldap-auth.xml b/src/chapters/ldap-auth.xml
index 5c38113..bc3bc5e 100644
--- a/src/chapters/ldap-auth.xml
+++ b/src/chapters/ldap-auth.xml
@@ -407,8 +407,8 @@ dn: cn={4}guacConfigGroup,cn=schema,cn=config
 
 ldap-follow-referrals
 
-This option controls whether or not the LDAP 
connection follows referrals when
-processing search results from a LDAP operation.  
Referrals can be pointers to other
+This option controls whether or not the LDAP 
module follow referrals when
+processing search results from a LDAP search.  
Referrals can be pointers to other
 parts of an LDAP tree, or to a different 
server/connection altogether.  This is a boolean
 parameter, with valid options of "true" or 
"false."  The default is false.  When disabled,
 LDAP referrals will be ignored when encounterd by 
the Guacamole LDAP client and the client
@@ -428,8 +428,7 @@ dn: cn={4}guacConfigGroup,cn=schema,cn=config
 
 ldap-operation-timeout
 This option sets the timeout, in seconds, of any 
single LDAP operation.  The default is 30 seconds.
-When this timeout is reached LDAP operations will be 
aborted.
-
+When this timeout is reached LDAP operations will be 
aborted.
 
 
 



[1/3] guacamole-manual git commit: GUACAMOLE-243: Add documentation for referral parameters.

2017-12-11 Thread mjumper
Repository: guacamole-manual
Updated Branches:
  refs/heads/staging/0.9.14 7cd86517a -> da3aa5e66


GUACAMOLE-243: Add documentation for referral parameters.


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

Branch: refs/heads/staging/0.9.14
Commit: eab8ae3da4655e6677d44a81ddad982feb28d03f
Parents: 4e18295
Author: Nick Couchman 
Authored: Mon Oct 23 20:41:42 2017 -0400
Committer: Nick Couchman 
Committed: Mon Oct 23 20:41:42 2017 -0400

--
 src/chapters/ldap-auth.xml | 29 +
 1 file changed, 29 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/guacamole-manual/blob/eab8ae3d/src/chapters/ldap-auth.xml
--
diff --git a/src/chapters/ldap-auth.xml b/src/chapters/ldap-auth.xml
index b08cc5e..5c38113 100644
--- a/src/chapters/ldap-auth.xml
+++ b/src/chapters/ldap-auth.xml
@@ -404,6 +404,35 @@ dn: cn={4}guacConfigGroup,cn=schema,cn=config
 aliases.
 
 
+
+ldap-follow-referrals
+
+This option controls whether or not the LDAP 
connection follows referrals when
+processing search results from a LDAP operation.  
Referrals can be pointers to other
+parts of an LDAP tree, or to a different 
server/connection altogether.  This is a boolean
+parameter, with valid options of "true" or 
"false."  The default is false.  When disabled,
+LDAP referrals will be ignored when encounterd by 
the Guacamole LDAP client and the client
+will move on to the next result.  When enabled, 
the LDAP client will follow the referral and
+process results within the referral, subject to 
the maximum hops parameter below.
+
+
+
+ldap-max-referral-hops
+
+This option controls the maximum number of 
referrals that will be processed before the
+LDAP client refuses to follow any more referrals.  The 
default is 5.  If the ldap-follow-referrals
+property is set to false (the default), this option 
has no effect.  If the ldap-follow-referrals option
+is set to true, this will limit the depth of referrals 
followed to the number specified.
+
+
+
+ldap-operation-timeout
+This option sets the timeout, in seconds, of any 
single LDAP operation.  The default is 30 seconds.
+When this timeout is reached LDAP operations will be 
aborted.
+
+
+
+
 
 Again, even if the defaults are sufficient for the other 
properties, you
 must still specify the 
ldap-user-base-dn



[4/4] guacamole-manual git commit: Merge 0.9.14 changes back to master.

2017-12-11 Thread mjumper
Merge 0.9.14 changes back to master.


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

Branch: refs/heads/master
Commit: 96a27966af65f976ba5707ad25d48c2e02b4f7cb
Parents: 9dc0b1d da3aa5e
Author: Michael Jumper 
Authored: Mon Dec 11 14:43:48 2017 -0800
Committer: Michael Jumper 
Committed: Mon Dec 11 14:43:48 2017 -0800

--
 src/chapters/ldap-auth.xml | 28 
 1 file changed, 28 insertions(+)
--




guacamole-website git commit: GUACAMOLE-559: Deploy update to FAQ describing support for async clipboard API.

2018-05-04 Thread mjumper
Repository: guacamole-website
Updated Branches:
  refs/heads/asf-site 4b6407b6f -> 45181cc21


GUACAMOLE-559: Deploy update to FAQ describing support for async clipboard API.


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

Branch: refs/heads/asf-site
Commit: 45181cc21a87acdd714db039f9b1992ac7e4b4af
Parents: 4b6407b
Author: Michael Jumper 
Authored: Fri May 4 09:27:56 2018 -0700
Committer: Michael Jumper 
Committed: Fri May 4 09:27:56 2018 -0700

--
 content/faq/index.html | 26 --
 1 file changed, 16 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-website/blob/45181cc2/content/faq/index.html
--
diff --git a/content/faq/index.html b/content/faq/index.html
index 685a495..c9653e1 100644
--- a/content/faq/index.html
+++ b/content/faq/index.html
@@ -559,16 +559,22 @@ the “xrandr” utility.
 Why don’t you just use the clipboard directly 
instead of the box in the menu?
 
 Guacamole actually already attempts to do this leveraging the https://www.w3.org/TR/clipboard-apis/;>Clipboard
-API defined by the W3C. Browsers only
-provide access to the clipboard under very strict circumstances, so these
-attempts will fail unless the browser itself provides some means of explicitly
-granting clipboard access.
-
-IE10 and IE11 will both prompt the user to grant clipboard access, and 
there is
-a https://chrome.google.com/webstore/detail/clipboard-permission-mana/ipbhneeanpgkaleihlknhjiaamobkceh;>third-party
 extension for
-Chrome
-which provides similar functionality. Until a generic mechanism for granting
-clipboard access exists across all browsers, these are really the only 
options.
+API defined by the W3C, with support
+for the asynchronous version of this API added via
+https://issues.apache.org/jira/browse/GUACAMOLE-559;>GUACAMOLE-559. 
Browsers
+vary in their level of support for this API, and some only provide access to
+the clipboard under very strict circumstances.
+
+The following browsers are known to support clipboard access:
+
+
+  Google Chrome version 66 and later (via the https://www.w3.org/TR/clipboard-apis/#async-clipboard-api;>Asynchronous 
Clipboard API)
+  Older versions of Google Chrome using the third-party https://chrome.google.com/webstore/detail/clipboard-permission-mana/ipbhneeanpgkaleihlknhjiaamobkceh;>Clipboard
 Permission Manager extension
+  IE10 and IE11 (via the older, synchronous version of the API)
+
+
+This can be expected to change as the asynchronous version of the clipboard 
API
+gains wider adoption.
 
 I see the browser has “copy” and “paste” 
events. Why don’t you handle these events so clipboard works?
 



[5/7] guacamole-client git commit: GUACAMOLE-152: Handle zoom changes with autoFit correctly.

2018-05-17 Thread mjumper
GUACAMOLE-152: Handle zoom changes with autoFit correctly.


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

Branch: refs/heads/master
Commit: b34d97f82dc5a9b28a89e2072b3ec477fda17464
Parents: b4c8bc8
Author: Nick Couchman 
Authored: Sat May 12 08:13:15 2018 -0400
Committer: Nick Couchman 
Committed: Sat May 12 08:13:15 2018 -0400

--
 .../webapp/app/client/controllers/clientController.js | 10 ++
 .../src/main/webapp/app/client/directives/guacZoomCtrl.js |  8 +++-
 .../src/main/webapp/app/client/templates/client.html  |  3 ++-
 3 files changed, 19 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/b34d97f8/guacamole/src/main/webapp/app/client/controllers/clientController.js
--
diff --git 
a/guacamole/src/main/webapp/app/client/controllers/clientController.js 
b/guacamole/src/main/webapp/app/client/controllers/clientController.js
index 4fce87b..af1d726 100644
--- a/guacamole/src/main/webapp/app/client/controllers/clientController.js
+++ b/guacamole/src/main/webapp/app/client/controllers/clientController.js
@@ -741,6 +741,16 @@ angular.module('client').controller('clientController', 
['$scope', '$routeParams
 $scope.client.clientProperties.autoFit = false;
 $scope.client.clientProperties.scale -= 0.1;
 };
+
+/**
+ * When zoom is manually set by entering a value
+ * into the controller, this method turns off autoFit,
+ * both in the menu and the clientProperties.
+ */
+$scope.zoomSet = function zoomSet() {
+$scope.menu.autoFit = false;
+$scope.client.clientProperties.autoFit = false;
+};
 
 $scope.changeAutoFit = function changeAutoFit() {
 if ($scope.menu.autoFit && $scope.client.clientProperties.minScale) {

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/b34d97f8/guacamole/src/main/webapp/app/client/directives/guacZoomCtrl.js
--
diff --git a/guacamole/src/main/webapp/app/client/directives/guacZoomCtrl.js 
b/guacamole/src/main/webapp/app/client/directives/guacZoomCtrl.js
index 5971439..3e5b468 100644
--- a/guacamole/src/main/webapp/app/client/directives/guacZoomCtrl.js
+++ b/guacamole/src/main/webapp/app/client/directives/guacZoomCtrl.js
@@ -26,7 +26,13 @@ angular.module('client').directive('guacZoomCtrl', function 
guacZoomCtrl() {
 restrict: 'A',
 require: 'ngModel',
 priority: 101,
-link: function(scope, element, attr, ngModel) {
+link: function(scope, element, attrs, ngModel) {
+
+// Evaluate the ngChange attribute when the model
+// changes.
+ngModel.$viewChangeListeners.push(function() {
+scope.$eval(attrs.ngChange);
+});
 
 // When pushing to the menu, mutiply by 100.
 ngModel.$formatters.push(function(value) {

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/b34d97f8/guacamole/src/main/webapp/app/client/templates/client.html
--
diff --git a/guacamole/src/main/webapp/app/client/templates/client.html 
b/guacamole/src/main/webapp/app/client/templates/client.html
index 5abea64..6fda594 100644
--- a/guacamole/src/main/webapp/app/client/templates/client.html
+++ b/guacamole/src/main/webapp/app/client/templates/client.html
@@ -154,7 +154,8 @@
 
 %
+ng-model-options="{ updateOn: 'blur 
submit' }"
+ng-change="zoomSet();" />%
 
 
 



[2/7] guacamole-client git commit: GUACAMOLE-152: Allow zoom/scale to be manually entered.

2018-05-17 Thread mjumper
GUACAMOLE-152: Allow zoom/scale to be manually entered.


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

Branch: refs/heads/master
Commit: 242e0b7cf0e1e762cfed3c9b117c3528a27436c0
Parents: 9b99b18
Author: Nick Couchman 
Authored: Mon Apr 30 13:35:08 2018 -0400
Committer: Nick Couchman 
Committed: Fri May 4 17:44:15 2018 -0400

--
 .../app/client/directives/guacZoomCtrl.js   | 42 
 .../src/main/webapp/app/client/styles/menu.css  | 10 +
 .../webapp/app/client/templates/client.html |  2 +-
 3 files changed, 53 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/242e0b7c/guacamole/src/main/webapp/app/client/directives/guacZoomCtrl.js
--
diff --git a/guacamole/src/main/webapp/app/client/directives/guacZoomCtrl.js 
b/guacamole/src/main/webapp/app/client/directives/guacZoomCtrl.js
new file mode 100644
index 000..5971439
--- /dev/null
+++ b/guacamole/src/main/webapp/app/client/directives/guacZoomCtrl.js
@@ -0,0 +1,42 @@
+/*
+ * 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.
+ */
+
+/**
+ * A directive which converts between human-readable zoom
+ * percentage and display scale.
+ */
+angular.module('client').directive('guacZoomCtrl', function guacZoomCtrl() {
+return {
+restrict: 'A',
+require: 'ngModel',
+priority: 101,
+link: function(scope, element, attr, ngModel) {
+
+// When pushing to the menu, mutiply by 100.
+ngModel.$formatters.push(function(value) {
+return Math.round(value * 100);
+});
+   
+// When parsing value from menu, divide by 100.
+ngModel.$parsers.push(function(value) {
+return Math.round(value) / 100;
+});
+}
+}
+});

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/242e0b7c/guacamole/src/main/webapp/app/client/styles/menu.css
--
diff --git a/guacamole/src/main/webapp/app/client/styles/menu.css 
b/guacamole/src/main/webapp/app/client/styles/menu.css
index a7980bf..3fb6f57 100644
--- a/guacamole/src/main/webapp/app/client/styles/menu.css
+++ b/guacamole/src/main/webapp/app/client/styles/menu.css
@@ -134,6 +134,16 @@
 padding-top: 1em;
 }
 
+.menu-section .zoom-ctrl {
+width: 4em;
+}
+
+.menu-section .zoom-ctrl::-webkit-inner-spin-button,
+.menu-section .zoom-ctrl::-webkit-outer-spin-button {
+-webkit-appearance: none;
+margin: 0;
+}
+
 .menu,
 .menu.closed {
 left: -480px;

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/242e0b7c/guacamole/src/main/webapp/app/client/templates/client.html
--
diff --git a/guacamole/src/main/webapp/app/client/templates/client.html 
b/guacamole/src/main/webapp/app/client/templates/client.html
index 8468218..d152d80 100644
--- a/guacamole/src/main/webapp/app/client/templates/client.html
+++ b/guacamole/src/main/webapp/app/client/templates/client.html
@@ -151,7 +151,7 @@
 
 
 
-{{formattedScale()}}%
+%
 
 
  {{'CLIENT.TEXT_ZOOM_AUTO_FIT' | translate}}



[7/7] guacamole-client git commit: GUACAMOLE-152: Merge changes adding support for explicitly specifying the zoom level.

2018-05-17 Thread mjumper
GUACAMOLE-152: Merge changes adding support for explicitly specifying the zoom 
level.


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

Branch: refs/heads/master
Commit: 1710c31fc2c0c8f56326e4175d13b21640d477ba
Parents: fed5133 a020082
Author: Michael Jumper 
Authored: Thu May 17 12:49:01 2018 -0700
Committer: Michael Jumper 
Committed: Thu May 17 12:49:01 2018 -0700

--
 .../app/client/controllers/clientController.js  | 14 --
 .../app/client/directives/guacZoomCtrl.js   | 48 
 .../src/main/webapp/app/client/styles/menu.css  | 21 +
 .../webapp/app/client/templates/client.html |  7 ++-
 4 files changed, 85 insertions(+), 5 deletions(-)
--




[3/7] guacamole-client git commit: GUACAMOLE-152: Update zoom level on blur and submit, remove debounce.

2018-05-17 Thread mjumper
GUACAMOLE-152: Update zoom level on blur and submit, remove debounce.


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

Branch: refs/heads/master
Commit: 10b0afe0cb4a7a3e47b270cf7dd7f7236a5364ac
Parents: 64589f2
Author: Nick Couchman 
Authored: Fri May 4 18:05:10 2018 -0400
Committer: Nick Couchman 
Committed: Fri May 4 18:05:10 2018 -0400

--
 guacamole/src/main/webapp/app/client/templates/client.html | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/10b0afe0/guacamole/src/main/webapp/app/client/templates/client.html
--
diff --git a/guacamole/src/main/webapp/app/client/templates/client.html 
b/guacamole/src/main/webapp/app/client/templates/client.html
index d152d80..f79163b 100644
--- a/guacamole/src/main/webapp/app/client/templates/client.html
+++ b/guacamole/src/main/webapp/app/client/templates/client.html
@@ -151,7 +151,9 @@
 
 
 
-%
+%
 
 
  {{'CLIENT.TEXT_ZOOM_AUTO_FIT' | translate}}



[6/7] guacamole-client git commit: GUACAMOLE-152: Remove superfluous semicolon.

2018-05-17 Thread mjumper
GUACAMOLE-152: Remove superfluous semicolon.


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

Branch: refs/heads/master
Commit: a0200824afb66154d2635e82d6e05b3715064f4b
Parents: b34d97f
Author: Nick Couchman 
Authored: Wed May 16 10:43:07 2018 -0400
Committer: Nick Couchman 
Committed: Wed May 16 10:43:07 2018 -0400

--
 guacamole/src/main/webapp/app/client/templates/client.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/a0200824/guacamole/src/main/webapp/app/client/templates/client.html
--
diff --git a/guacamole/src/main/webapp/app/client/templates/client.html 
b/guacamole/src/main/webapp/app/client/templates/client.html
index 6fda594..054cbcf 100644
--- a/guacamole/src/main/webapp/app/client/templates/client.html
+++ b/guacamole/src/main/webapp/app/client/templates/client.html
@@ -155,7 +155,7 @@
 %
+ng-change="zoomSet()" />%
 
 
 



[1/7] guacamole-client git commit: GUACAMOLE-152: Remove unneeded formattedScale method.

2018-05-17 Thread mjumper
Repository: guacamole-client
Updated Branches:
  refs/heads/master fed513329 -> 1710c31fc


GUACAMOLE-152: Remove unneeded formattedScale 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/64589f27
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/64589f27
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/64589f27

Branch: refs/heads/master
Commit: 64589f27f468447fb26c7d748b57cbf6657e081f
Parents: 242e0b7
Author: Nick Couchman 
Authored: Fri May 4 03:56:39 2018 -0400
Committer: Nick Couchman 
Committed: Fri May 4 17:44:15 2018 -0400

--
 .../src/main/webapp/app/client/controllers/clientController.js   | 4 
 1 file changed, 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/64589f27/guacamole/src/main/webapp/app/client/controllers/clientController.js
--
diff --git 
a/guacamole/src/main/webapp/app/client/controllers/clientController.js 
b/guacamole/src/main/webapp/app/client/controllers/clientController.js
index cf4ba5b..4fce87b 100644
--- a/guacamole/src/main/webapp/app/client/controllers/clientController.js
+++ b/guacamole/src/main/webapp/app/client/controllers/clientController.js
@@ -731,10 +731,6 @@ angular.module('client').controller('clientController', 
['$scope', '$routeParams
 
 });
 
-$scope.formattedScale = function formattedScale() {
-return Math.round($scope.client.clientProperties.scale * 100);
-};
-
 $scope.zoomIn = function zoomIn() {
 $scope.menu.autoFit = false;
 $scope.client.clientProperties.autoFit = false;



[1/2] guacamole-client git commit: GUACAMOLE-571: Fix rootConnectionGroup typo in homeController.

2018-06-08 Thread mjumper
Repository: guacamole-client
Updated Branches:
  refs/heads/master b0dffbc05 -> 7e6df7c13


GUACAMOLE-571: Fix rootConnectionGroup typo in homeController.


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

Branch: refs/heads/master
Commit: 3a0b9e15508710f2cfe351a9401ceea159080727
Parents: b0dffbc
Author: Nick Couchman 
Authored: Thu Jun 7 16:58:45 2018 -0400
Committer: Nick Couchman 
Committed: Thu Jun 7 16:58:45 2018 -0400

--
 guacamole/src/main/webapp/app/home/controllers/homeController.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/3a0b9e15/guacamole/src/main/webapp/app/home/controllers/homeController.js
--
diff --git a/guacamole/src/main/webapp/app/home/controllers/homeController.js 
b/guacamole/src/main/webapp/app/home/controllers/homeController.js
index f0e753d..1cedead 100644
--- a/guacamole/src/main/webapp/app/home/controllers/homeController.js
+++ b/guacamole/src/main/webapp/app/home/controllers/homeController.js
@@ -70,7 +70,7 @@ angular.module('home').controller('homeController', 
['$scope', '$injector',
  */
 $scope.isLoaded = function isLoaded() {
 
-return $scope.rootConnectionGroup !== null;
+return $scope.rootConnectionGroups !== null;
 
 };
 



[2/2] guacamole-client git commit: GUACAMOLE-571: Merge correction to "rootConnectionGroups" typo in home controller.

2018-06-08 Thread mjumper
GUACAMOLE-571: Merge correction to "rootConnectionGroups" typo in home 
controller.


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

Branch: refs/heads/master
Commit: 7e6df7c1393be2df7c72f77d530a545edb473623
Parents: b0dffbc 3a0b9e1
Author: Michael Jumper 
Authored: Fri Jun 8 00:03:57 2018 -0700
Committer: Michael Jumper 
Committed: Fri Jun 8 00:03:57 2018 -0700

--
 guacamole/src/main/webapp/app/home/controllers/homeController.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--




[2/2] guacamole-client git commit: GUACAMOLE-146: Merge changes allowing webapp context path to be overridden.

2018-06-11 Thread mjumper
GUACAMOLE-146: Merge changes allowing webapp context path to be overridden.


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

Branch: refs/heads/master
Commit: bf3d27611db6df6549c337ddc6063ad6a195d9ad
Parents: 164e608 65b03df
Author: Michael Jumper 
Authored: Mon Jun 11 14:19:45 2018 -0700
Committer: Michael Jumper 
Committed: Mon Jun 11 14:19:45 2018 -0700

--
 guacamole-docker/bin/start.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--




[1/2] guacamole-client git commit: GUACAMOLE-146: Allow webapp context to be specified in Docker with environment variable.

2018-06-11 Thread mjumper
Repository: guacamole-client
Updated Branches:
  refs/heads/master 164e6086a -> bf3d27611


GUACAMOLE-146: Allow webapp context to be specified in Docker with environment 
variable.


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

Branch: refs/heads/master
Commit: 65b03df3bd7088fb7ef115a0d4c2a73c5e4d2293
Parents: 2daf38b
Author: Nick Couchman 
Authored: Mon Jun 11 13:07:43 2018 -0400
Committer: Nick Couchman 
Committed: Mon Jun 11 13:07:43 2018 -0400

--
 guacamole-docker/bin/start.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/65b03df3/guacamole-docker/bin/start.sh
--
diff --git a/guacamole-docker/bin/start.sh b/guacamole-docker/bin/start.sh
index 6309265..9054a08 100755
--- a/guacamole-docker/bin/start.sh
+++ b/guacamole-docker/bin/start.sh
@@ -329,7 +329,7 @@ END
 start_guacamole() {
 
 # Install webapp
-ln -sf /opt/guacamole/guacamole.war /usr/local/tomcat/webapps/
+ln -sf /opt/guacamole/guacamole.war 
/usr/local/tomcat/webapps/${WEBAPP_CONTEXT:-guacamole}.war
 
 # Start tomcat
 cd /usr/local/tomcat



[5/6] guacamole-server git commit: GUACAMOLE-470: Set palette index for parsed RGB colors.

2018-05-27 Thread mjumper
GUACAMOLE-470: Set palette index for parsed RGB colors.

Parsed RGB colors do not correspond to any palette entry, so set the
palette index to -1.


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

Branch: refs/heads/master
Commit: 7e68901cebac639f615fc87449cfc5a34e1c582f
Parents: 1bd537c
Author: Jim Chen 
Authored: Tue Jan 9 22:08:13 2018 -0500
Committer: Jim Chen 
Committed: Sat May 26 23:18:27 2018 -0400

--
 src/terminal/xparsecolor.c | 4 
 1 file changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/7e68901c/src/terminal/xparsecolor.c
--
diff --git a/src/terminal/xparsecolor.c b/src/terminal/xparsecolor.c
index 5aa1fd4..779374d 100644
--- a/src/terminal/xparsecolor.c
+++ b/src/terminal/xparsecolor.c
@@ -33,6 +33,7 @@ int guac_terminal_xparsecolor(const char* spec,
 
 /* 12-bit RGB ("rgb:h/h/h"), zero-padded to 24-bit */
 if (sscanf(spec, "rgb:%1x/%1x/%1x", , , ) == 3) {
+color->palette_index = -1; /* Not from palette. */
 color->red   = red   << 4;
 color->green = green << 4;
 color->blue  = blue  << 4;
@@ -41,6 +42,7 @@ int guac_terminal_xparsecolor(const char* spec,
 
 /* 24-bit RGB ("rgb:hh/hh/hh") */
 if (sscanf(spec, "rgb:%2x/%2x/%2x", , , ) == 3) {
+color->palette_index = -1; /* Not from palette. */
 color->red   = red;
 color->green = green;
 color->blue  = blue;
@@ -49,6 +51,7 @@ int guac_terminal_xparsecolor(const char* spec,
 
 /* 36-bit RGB ("rgb:hhh/hhh/hhh"), truncated to 24-bit */
 if (sscanf(spec, "rgb:%3x/%3x/%3x", , , ) == 3) {
+color->palette_index = -1; /* Not from palette. */
 color->red   = red   >> 4;
 color->green = green >> 4;
 color->blue  = blue  >> 4;
@@ -57,6 +60,7 @@ int guac_terminal_xparsecolor(const char* spec,
 
 /* 48-bit RGB ("rgb://"), truncated to 24-bit */
 if (sscanf(spec, "rgb:%4x/%4x/%4x", , , ) == 3) {
+color->palette_index = -1; /* Not from palette. */
 color->red   = red   >> 8;
 color->green = green >> 8;
 color->blue  = blue  >> 8;



[4/6] guacamole-server git commit: GUACAMOLE-470: Support configurable colors in color-scheme parameter.

2018-05-27 Thread mjumper
GUACAMOLE-470: Support configurable colors in color-scheme parameter.

Add support for configuring individual colors in the color-scheme
parameter, by parsing the parameter content into name-value pairs.
Backward compatibility is preserved by translating previously supported
values into corresponding new values.


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

Branch: refs/heads/master
Commit: 1bd537c350303b0de41f666bc795561dc04beb6c
Parents: f8b3507
Author: Jim Chen 
Authored: Wed May 16 00:23:15 2018 -0400
Committer: Jim Chen 
Committed: Sat May 26 23:18:27 2018 -0400

--
 src/protocols/ssh/settings.c |  10 +-
 src/protocols/telnet/settings.c  |  10 +-
 src/terminal/terminal.c  | 299 ++
 src/terminal/terminal/terminal.h |  15 ++
 4 files changed, 292 insertions(+), 42 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/1bd537c3/src/protocols/ssh/settings.c
--
diff --git a/src/protocols/ssh/settings.c b/src/protocols/ssh/settings.c
index 983f7f0..923c9e1 100644
--- a/src/protocols/ssh/settings.c
+++ b/src/protocols/ssh/settings.c
@@ -121,10 +121,12 @@ enum SSH_ARGS_IDX {
 #endif
 
 /**
- * The name of the color scheme to use. Currently valid color schemes are:
- * "black-white", "white-black", "gray-black", and "green-black", each
- * following the "foreground-background" pattern. By default, this will be
- * "gray-black".
+ * The color scheme to use, as a series of semicolon-separated color-value
+ * pairs: "background: ", "foreground: ", or
+ * "color: ", where  is a number from 0 to 255, and  is
+ * "color" or an X11 color code (e.g. "aqua" or "rgb:12/34/56").
+ * The color scheme can also be one of the special values: "black-white",
+ * "white-black", "gray-black", or "green-black".
  */
 IDX_COLOR_SCHEME,
 

http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/1bd537c3/src/protocols/telnet/settings.c
--
diff --git a/src/protocols/telnet/settings.c b/src/protocols/telnet/settings.c
index 8f80291..45d6290 100644
--- a/src/protocols/telnet/settings.c
+++ b/src/protocols/telnet/settings.c
@@ -99,10 +99,12 @@ enum TELNET_ARGS_IDX {
 IDX_FONT_SIZE,
 
 /**
- * The name of the color scheme to use. Currently valid color schemes are:
- * "black-white", "white-black", "gray-black", and "green-black", each
- * following the "foreground-background" pattern. By default, this will be
- * "gray-black".
+ * The color scheme to use, as a series of semicolon-separated color-value
+ * pairs: "background: ", "foreground: ", or
+ * "color: ", where  is a number from 0 to 255, and  is
+ * "color" or an X11 color code (e.g. "aqua" or "rgb:12/34/56").
+ * The color scheme can also be one of the special values: "black-white",
+ * "white-black", "gray-black", or "green-black".
  */
 IDX_COLOR_SCHEME,
 

http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/1bd537c3/src/terminal/terminal.c
--
diff --git a/src/terminal/terminal.c b/src/terminal/terminal.c
index a9f5ae5..50d24be 100644
--- a/src/terminal/terminal.c
+++ b/src/terminal/terminal.c
@@ -29,7 +29,9 @@
 #include "terminal/terminal_handlers.h"
 #include "terminal/types.h"
 #include "terminal/typescript.h"
+#include "terminal/xparsecolor.h"
 
+#include 
 #include 
 #include 
 #include 
@@ -255,53 +257,255 @@ void* guac_terminal_thread(void* data) {
 
 }
 
-guac_terminal* guac_terminal_create(guac_client* client,
-const char* font_name, int font_size, int dpi,
-int width, int height, const char* color_scheme,
-const int backspace) {
+/**
+ * Compare a non-null-terminated string to a null-terminated literal, in the
+ * same manner as strcmp().
+ *
+ * @param str_start
+ * Start of the non-null-terminated string.
+ *
+ * @param str_end
+ * End of the non-null-terminated string, after the last character.
+ *
+ * @param literal
+ * The null-terminated literal to compare against.
+ *
+ * @return
+ * Zero if the two strings are equal and non-zero otherwise.
+ */
+static int guac_terminal_color_scheme_compare_token(const char* str_start,
+const char* str_end, const char* literal) {
 
-int default_foreground;
-int default_background;
+const int result = strncmp(literal, str_start, str_end - str_start);
+

[1/6] guacamole-server git commit: GUACAMOLE-470: Add support for configurable default palette.

2018-05-27 Thread mjumper
Repository: guacamole-server
Updated Branches:
  refs/heads/master 4eae5d2e6 -> 81bba1b58


GUACAMOLE-470: Add support for configurable default palette.

Add support for configuring a default palette for a terminal display.
When the default palette is specified during display creation, that
palette is used instead of GUAC_TERMINAL_INITIAL_PALETTE when resetting
the display palette.


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

Branch: refs/heads/master
Commit: f8b35078fc2eab22a982f43100f6c07d55931a05
Parents: b61a6ab
Author: Jim Chen 
Authored: Tue Jan 9 22:14:56 2018 -0500
Committer: Jim Chen 
Committed: Tue May 15 22:05:59 2018 -0400

--
 src/terminal/display.c  | 13 -
 src/terminal/terminal.c |  2 +-
 src/terminal/terminal/display.h | 11 +--
 3 files changed, 22 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/f8b35078/src/terminal/display.c
--
diff --git a/src/terminal/display.c b/src/terminal/display.c
index 3ad1cba..9391ec1 100644
--- a/src/terminal/display.c
+++ b/src/terminal/display.c
@@ -246,7 +246,8 @@ int __guac_terminal_set(guac_terminal_display* display, int 
row, int col, int co
 
 guac_terminal_display* guac_terminal_display_alloc(guac_client* client,
 const char* font_name, int font_size, int dpi,
-guac_terminal_color* foreground, guac_terminal_color* background) {
+guac_terminal_color* foreground, guac_terminal_color* background,
+const guac_terminal_color (*palette)[256]) {
 
 PangoFontMap* font_map;
 PangoFont* font;
@@ -294,6 +295,7 @@ guac_terminal_display* 
guac_terminal_display_alloc(guac_client* client,
 
 display->default_foreground = display->glyph_foreground = *foreground;
 display->default_background = display->glyph_background = *background;
+display->default_palette = palette;
 
 /* Calculate character dimensions */
 display->char_width =
@@ -317,6 +319,9 @@ guac_terminal_display* 
guac_terminal_display_alloc(guac_client* client,
 
 void guac_terminal_display_free(guac_terminal_display* display) {
 
+/* Free default palette. */
+free((void*) display->default_palette);
+
 /* Free operations buffers */
 free(display->operations);
 
@@ -328,6 +333,12 @@ void guac_terminal_display_free(guac_terminal_display* 
display) {
 void guac_terminal_display_reset_palette(guac_terminal_display* display) {
 
 /* Reinitialize palette with default values */
+if (display->default_palette) {
+memcpy(display->palette, *display->default_palette,
+   sizeof(GUAC_TERMINAL_INITIAL_PALETTE));
+return;
+}
+
 memcpy(display->palette, GUAC_TERMINAL_INITIAL_PALETTE,
 sizeof(GUAC_TERMINAL_INITIAL_PALETTE));
 

http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/f8b35078/src/terminal/terminal.c
--
diff --git a/src/terminal/terminal.c b/src/terminal/terminal.c
index 076305a..a9f5ae5 100644
--- a/src/terminal/terminal.c
+++ b/src/terminal/terminal.c
@@ -332,7 +332,7 @@ guac_terminal* guac_terminal_create(guac_client* client,
 term->display = guac_terminal_display_alloc(client,
 font_name, font_size, dpi,
 _char.attributes.foreground,
-_char.attributes.background);
+_char.attributes.background, NULL);
 
 /* Fail if display init failed */
 if (term->display == NULL) {

http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/f8b35078/src/terminal/terminal/display.h
--
diff --git a/src/terminal/terminal/display.h b/src/terminal/terminal/display.h
index e51b07f..98337fd 100644
--- a/src/terminal/terminal/display.h
+++ b/src/terminal/terminal/display.h
@@ -139,6 +139,12 @@ typedef struct guac_terminal_display {
 guac_terminal_color palette[256];
 
 /**
+ * The default palette. Use GUAC_TERMINAL_INITIAL_PALETTE if null.
+ * Must free on destruction if not null.
+ */
+const guac_terminal_color (*default_palette)[256];
+
+/**
  * Default foreground color for all glyphs.
  */
 guac_terminal_color default_foreground;
@@ -215,7 +221,8 @@ typedef struct guac_terminal_display {
  */
 guac_terminal_display* guac_terminal_display_alloc(guac_client* client,
 const char* font_name, int font_size, int dpi,
-guac_terminal_color* foreground, guac_terminal_color* 

[3/6] guacamole-server git commit: GUACAMOLE-470: Fix crash when X11 color is not found.

2018-05-27 Thread mjumper
GUACAMOLE-470: Fix crash when X11 color is not found.

Fix a crash when an X11 color name is not found. The variable to
null-check should be `found`, not `color`.


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

Branch: refs/heads/master
Commit: 03d9c51b5d3e15cac7148e8cc733af7ae8c9f6cc
Parents: 7e68901
Author: Jim Chen 
Authored: Wed May 16 00:11:30 2018 -0400
Committer: Jim Chen 
Committed: Sat May 26 23:18:27 2018 -0400

--
 src/terminal/named-colors.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/03d9c51b/src/terminal/named-colors.c
--
diff --git a/src/terminal/named-colors.c b/src/terminal/named-colors.c
index 89deee8..b0e579b 100644
--- a/src/terminal/named-colors.c
+++ b/src/terminal/named-colors.c
@@ -786,7 +786,7 @@ int guac_terminal_find_color(const char* name, 
guac_terminal_color* color) {
 guac_terminal_named_color_search);
 
 /* Fail if no such color is found */
-if (color == NULL)
+if (found == NULL)
 return 1;
 
 /* Otherwise copy the found color */



[2/6] guacamole-server git commit: GUACAMOLE-470: Reset character attributes on terminal reset.

2018-05-27 Thread mjumper
GUACAMOLE-470: Reset character attributes on terminal reset.

The character attributes such as foreground/background colors should be
reset as well when performing a terminal reset.


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

Branch: refs/heads/master
Commit: 6da9236ffdd0fce61a08fc2e0f86ba4642215993
Parents: 03d9c51
Author: Jim Chen 
Authored: Wed May 16 00:13:07 2018 -0400
Committer: Jim Chen 
Committed: Sat May 26 23:18:27 2018 -0400

--
 src/terminal/terminal.c | 3 +++
 1 file changed, 3 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/6da9236f/src/terminal/terminal.c
--
diff --git a/src/terminal/terminal.c b/src/terminal/terminal.c
index 50d24be..7096add 100644
--- a/src/terminal/terminal.c
+++ b/src/terminal/terminal.c
@@ -180,6 +180,9 @@ void guac_terminal_reset(guac_terminal* term) {
 term->tab_interval = 8;
 memset(term->custom_tabs, 0, sizeof(term->custom_tabs));
 
+/* Reset character attributes */
+term->current_attributes = term->default_char.attributes;
+
 /* Reset display palette */
 guac_terminal_display_reset_palette(term->display);
 



[6/6] guacamole-server git commit: GUACAMOLE-470: Merge support for fully configurable terminal color palette.

2018-05-27 Thread mjumper
GUACAMOLE-470: Merge support for fully configurable terminal color palette.


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

Branch: refs/heads/master
Commit: 81bba1b587ebfcb1e403ffc3a187a3d5315623bd
Parents: 4eae5d2 6da9236
Author: Michael Jumper 
Authored: Sun May 27 08:49:18 2018 -0700
Committer: Michael Jumper 
Committed: Sun May 27 08:49:18 2018 -0700

--
 src/protocols/ssh/settings.c |  10 +-
 src/protocols/telnet/settings.c  |  10 +-
 src/terminal/display.c   |  13 +-
 src/terminal/named-colors.c  |   2 +-
 src/terminal/terminal.c  | 302 ++
 src/terminal/terminal/display.h  |  11 +-
 src/terminal/terminal/terminal.h |  15 ++
 src/terminal/xparsecolor.c   |   4 +
 8 files changed, 321 insertions(+), 46 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/81bba1b5/src/protocols/ssh/settings.c
--

http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/81bba1b5/src/protocols/telnet/settings.c
--



[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);
 }
 
 /**



[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", 

[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=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 

[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 

[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();
 }
 
 }



[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 

[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 

[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

[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
--- 

[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),
-

[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);



[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 

[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",



[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);



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



[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=value2=3=value%3D3=value%264";
+Map queryMap = QCParser.parseQueryString(queryString);
+
+assertEquals("value1", queryMap.get("param1"));
+assertEquals("value2=3", 

[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 @@
-
-
+
+
 
 
 



[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.



[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 = 

[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"
 }
 
 }



[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();
-   

[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 && 

[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(+)
--




[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"
 }
 



[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", 

[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 && 

[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=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
 

[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;
 
 }



[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 

[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 = 

[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 

[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(+)
--




[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 

[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 

[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)
 );
 
-// 

[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 

[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()) {



[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.



  1   2   3   4   5   6   7   8   >