From 534f4f45c1d3fad7fe353717825d005b08e9b1b0 Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Sun, 23 Nov 2014 12:57:19 -0800 Subject: [PATCH] GUAC-340: Add support for "username" parameter type. --- .../guacamole/net/basic/ProtocolParameter.java | 14 +++++++++++++- .../guacamole/net/basic/crud/protocols/List.java | 5 +++++ .../net/basic/xml/protocol/ParamTagHandler.java | 4 ++++ .../sourceforge/guacamole/net/protocols/rdp.xml | 2 +- .../sourceforge/guacamole/net/protocols/ssh.xml | 2 +- .../sourceforge/guacamole/net/protocols/telnet.xml | 2 +- guacamole/src/main/webapp/scripts/admin-ui.js | 3 ++- guacamole/src/main/webapp/scripts/service.js | 10 ++++++++++ 8 files changed, 37 insertions(+), 5 deletions(-) diff --git a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/ProtocolParameter.java b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/ProtocolParameter.java index c3b6e3ee2..48307387a 100644 --- a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/ProtocolParameter.java +++ b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/ProtocolParameter.java @@ -43,7 +43,19 @@ public class ProtocolParameter { TEXT, /** - * A password parameter, whose value is sensitive and must be hidden. + * A username parameter. This parameter type generally behaves + * identically to arbitrary text parameters, but has semantic + * differences. If credential pass-through is in use, the value for this + * parameter may be automatically provided using the credentials + * originally used by the user to authenticate. + */ + USERNAME, + + /** + * A password parameter, whose value is sensitive and must be hidden. If + * credential pass-through is in use, the value for this parameter may + * be automatically provided using the credentials originally used by + * the user to authenticate. */ PASSWORD, diff --git a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/crud/protocols/List.java b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/crud/protocols/List.java index f8eda88e9..7efcf6b06 100644 --- a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/crud/protocols/List.java +++ b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/crud/protocols/List.java @@ -149,6 +149,11 @@ public class List extends RestrictedHttpServlet { xml.writeAttribute("type", "text"); break; + // Username parameter + case USERNAME: + xml.writeAttribute("type", "username"); + break; + // Password parameter case PASSWORD: xml.writeAttribute("type", "password"); diff --git a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/xml/protocol/ParamTagHandler.java b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/xml/protocol/ParamTagHandler.java index c4d4170c9..26336432e 100644 --- a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/xml/protocol/ParamTagHandler.java +++ b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/xml/protocol/ParamTagHandler.java @@ -57,6 +57,10 @@ public class ParamTagHandler implements TagHandler { else if ("numeric".equals(type)) protocolParameter.setType(ProtocolParameter.Type.NUMERIC); + // Username field + else if ("username".equals(type)) + protocolParameter.setType(ProtocolParameter.Type.USERNAME); + // Password field else if ("password".equals(type)) protocolParameter.setType(ProtocolParameter.Type.PASSWORD); diff --git a/guacamole/src/main/resources/net/sourceforge/guacamole/net/protocols/rdp.xml b/guacamole/src/main/resources/net/sourceforge/guacamole/net/protocols/rdp.xml index ebe82ae8f..7bd39404f 100644 --- a/guacamole/src/main/resources/net/sourceforge/guacamole/net/protocols/rdp.xml +++ b/guacamole/src/main/resources/net/sourceforge/guacamole/net/protocols/rdp.xml @@ -3,7 +3,7 @@ - + diff --git a/guacamole/src/main/resources/net/sourceforge/guacamole/net/protocols/ssh.xml b/guacamole/src/main/resources/net/sourceforge/guacamole/net/protocols/ssh.xml index a04327b1e..8239e7160 100644 --- a/guacamole/src/main/resources/net/sourceforge/guacamole/net/protocols/ssh.xml +++ b/guacamole/src/main/resources/net/sourceforge/guacamole/net/protocols/ssh.xml @@ -3,7 +3,7 @@ - + diff --git a/guacamole/src/main/resources/net/sourceforge/guacamole/net/protocols/telnet.xml b/guacamole/src/main/resources/net/sourceforge/guacamole/net/protocols/telnet.xml index 09e1f2443..fe797436b 100644 --- a/guacamole/src/main/resources/net/sourceforge/guacamole/net/protocols/telnet.xml +++ b/guacamole/src/main/resources/net/sourceforge/guacamole/net/protocols/telnet.xml @@ -3,7 +3,7 @@ - +