GUACAMOLE-593: Add documentation to new methods, properly escape attribute.

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

Branch: refs/heads/master
Commit: 735b22bcf08b8d775fc815aba0cd80f3183a3a33
Parents: 343b21a
Author: Nick Couchman <[email protected]>
Authored: Tue Jul 31 07:57:54 2018 -0400
Committer: Nick Couchman <[email protected]>
Committed: Tue Jul 31 07:57:54 2018 -0400

----------------------------------------------------------------------
 .../apache/guacamole/auth/ldap/ConfigurationService.java | 11 +++++++++++
 .../guacamole/auth/ldap/LDAPGuacamoleProperties.java     |  3 +++
 .../auth/ldap/connection/ConnectionService.java          |  6 ++++--
 3 files changed, 18 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/735b22bc/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/ConfigurationService.java
----------------------------------------------------------------------
diff --git 
a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/ConfigurationService.java
 
b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/ConfigurationService.java
index 361af03..b52ad50 100644
--- 
a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/ConfigurationService.java
+++ 
b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/ConfigurationService.java
@@ -359,6 +359,17 @@ public class ConfigurationService {
         );
     }
     
+    /**
+     * Returns the name of the LDAP attribute used to enumerate
+     * members in a group, or "member" by default.
+     * 
+     * @return
+     *     The name of the LDAP attribute to use to enumerate
+     *     members in a group.
+     * 
+     * @throws GuacamoleException
+     *     If guacamole.properties connect be parsed.
+     */
     public String getMemberAttribute() throws GuacamoleException {
         return environment.getProperty(
             LDAPGuacamoleProperties.LDAP_MEMBER_ATTRIBUTE,

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/735b22bc/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/LDAPGuacamoleProperties.java
----------------------------------------------------------------------
diff --git 
a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/LDAPGuacamoleProperties.java
 
b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/LDAPGuacamoleProperties.java
index e96145f..120b09e 100644
--- 
a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/LDAPGuacamoleProperties.java
+++ 
b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/LDAPGuacamoleProperties.java
@@ -216,6 +216,9 @@ public class LDAPGuacamoleProperties {
 
     };
     
+    /**
+     * LDAP attribute used to enumerate members of a group in the LDAP 
directory.
+     */
     public static final StringGuacamoleProperty LDAP_MEMBER_ATTRIBUTE = new 
StringGuacamoleProperty() {
       
         @Override

http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/735b22bc/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
----------------------------------------------------------------------
diff --git 
a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
 
b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
index 5533ff0..984e772 100644
--- 
a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
+++ 
b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
@@ -247,7 +247,8 @@ public class ConnectionService {
         // Add the prefix to the search filter, prefix filter searches for 
guacConfigGroups with the userDN as the member attribute value
         connectionSearchFilter.append("(&(objectClass=guacConfigGroup)");
         connectionSearchFilter.append("(|(");
-        connectionSearchFilter.append(confService.getMemberAttribute());
+        connectionSearchFilter.append(escapingService.escapeLDAPSearchFilter(
+                confService.getMemberAttribute()));
         connectionSearchFilter.append("=");
         
connectionSearchFilter.append(escapingService.escapeLDAPSearchFilter(userDN));
         connectionSearchFilter.append(")");
@@ -261,7 +262,8 @@ public class ConnectionService {
                 groupBaseDN,
                 LDAPConnection.SCOPE_SUB,
                 "(&(!(objectClass=guacConfigGroup))(" 
-                        + confService.getMemberAttribute() 
+                        + escapingService.escapeLDAPSearchFilter(
+                                confService.getMemberAttribute()) 
                         + "=" + escapingService.escapeLDAPSearchFilter(userDN) 
                         + "))",
                 null,

Reply via email to