diff --git a/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/ProtocolParameter.java b/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/ProtocolParameter.java
index 69b3729a7..0b08bd747 100644
--- a/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/ProtocolParameter.java
+++ b/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/ProtocolParameter.java
@@ -75,7 +75,12 @@ public class ProtocolParameter {
* The type of this field.
*/
private Type type;
-
+
+ /**
+ * The value of this parameter, for boolean parameters.
+ */
+ private String value;
+
/**
* A collection of all associated parameter options.
*/
@@ -119,6 +124,24 @@ public class ProtocolParameter {
this.title = title;
}
+ /**
+ * Returns the value associated with this protocol parameter.
+ * @return The value associated with this protocol parameter.
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value associated with this protocol parameter. The value must
+ * be a human-readable string which describes accurately this parameter.
+ *
+ * @param value A human-readable string describing this parameter.
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
/**
* Returns the type of this parameter.
* @return The type of this parameter.
diff --git a/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/crud/protocols/List.java b/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/crud/protocols/List.java
index 55cddf210..32136540c 100644
--- a/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/crud/protocols/List.java
+++ b/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/crud/protocols/List.java
@@ -158,6 +158,7 @@ public class List extends AuthenticatingHttpServlet {
// Boolean parameter
case BOOLEAN:
xml.writeAttribute("type", "boolean");
+ xml.writeAttribute("value", param.getValue());
break;
// Enumerated parameter
diff --git a/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/xml/protocol/ParamTagHandler.java b/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/xml/protocol/ParamTagHandler.java
index 627e26038..4e5fb4c5d 100644
--- a/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/xml/protocol/ParamTagHandler.java
+++ b/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/xml/protocol/ParamTagHandler.java
@@ -40,6 +40,7 @@ public class ParamTagHandler implements TagHandler {
protocolParameter.setName(attributes.getValue("name"));
protocolParameter.setTitle(attributes.getValue("title"));
+ protocolParameter.setValue(attributes.getValue("value"));
// Parse type
String type = attributes.getValue("type");
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 b9c16440f..5bb4b39ad 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
@@ -17,8 +17,8 @@
-
-
-
+
+
+
diff --git a/guacamole/src/main/resources/net/sourceforge/guacamole/net/protocols/vnc.xml b/guacamole/src/main/resources/net/sourceforge/guacamole/net/protocols/vnc.xml
index d7a5c6e5f..844f19611 100644
--- a/guacamole/src/main/resources/net/sourceforge/guacamole/net/protocols/vnc.xml
+++ b/guacamole/src/main/resources/net/sourceforge/guacamole/net/protocols/vnc.xml
@@ -4,8 +4,8 @@
-
-
+
+
diff --git a/guacamole/src/main/webapp/META-INF/context.xml b/guacamole/src/main/webapp/META-INF/context.xml
index 5bee3dc30..26f2130eb 100644
--- a/guacamole/src/main/webapp/META-INF/context.xml
+++ b/guacamole/src/main/webapp/META-INF/context.xml
@@ -1,2 +1,2 @@
-
+
diff --git a/guacamole/src/main/webapp/scripts/service.js b/guacamole/src/main/webapp/scripts/service.js
index 5e590c250..df99f6cf0 100644
--- a/guacamole/src/main/webapp/scripts/service.js
+++ b/guacamole/src/main/webapp/scripts/service.js
@@ -767,10 +767,11 @@ GuacamoleService.Protocol = function(name, title, parameters) {
/**
* A parameter belonging to a protocol. Each parameter has a name which
- * identifies the parameter to the protocol, a human-readable title, and a type
- * which dictates its presentation to the user.
+ * identifies the parameter to the protocol, a human-readable title,
+ * a value for boolean parameters, and a type which dictates
+ * its presentation to the user.
*/
-GuacamoleService.Protocol.Parameter = function(name, title, type, options) {
+GuacamoleService.Protocol.Parameter = function(name, title, type, value, options) {
/**
* The name of this parameter.
@@ -787,6 +788,11 @@ GuacamoleService.Protocol.Parameter = function(name, title, type, options) {
*/
this.type = type;
+ /**
+ * The value of this parameter.
+ */
+ this.value = value;
+
/**
* All available options, if applicable, in desired order of presentation.
* @type GuacamoleService.Protocol.Parameter.Option[]
@@ -924,6 +930,7 @@ GuacamoleService.Protocols = {
// Boolean parameter
case "boolean":
parameter.type = GuacamoleService.Protocol.Parameter.BOOLEAN;
+ parameter.value = paramElement.getAttribute("value");
break;
// Enumerated parameter