GUACAMOLE-580: Return an empty map instead of null when nothing is specified or found.

This commit is contained in:
Nick Couchman
2018-06-22 20:21:43 -04:00
parent 50baf1c947
commit 2da0405798

View File

@@ -250,7 +250,8 @@ public class AuthenticationProviderService {
/** /**
* Returns all custom LDAP attributes on the user currently bound under * Returns all custom LDAP attributes on the user currently bound under
* the given LDAP connection. The custom attributes are specified in * the given LDAP connection. The custom attributes are specified in
* guacamole.properties. * guacamole.properties. If no attributes are specified or none are
* found on the LDAP user object, an empty map is returned.
* *
* @param ldapConnection * @param ldapConnection
* LDAP connection to find the custom LDAP attributes. * LDAP connection to find the custom LDAP attributes.
@@ -261,7 +262,9 @@ public class AuthenticationProviderService {
* @return * @return
* All attributes on the user currently bound under the * All attributes on the user currently bound under the
* given LDAP connection, as a map of attribute name to * given LDAP connection, as a map of attribute name to
* corresponding attribute value. * corresponding attribute value, or an empty map if no
* attributes are specified or none are found on the user
* object.
* *
* @throws GuacamoleException * @throws GuacamoleException
* If an error occurs retrieving the user DN or the attributes. * If an error occurs retrieving the user DN or the attributes.
@@ -274,7 +277,7 @@ public class AuthenticationProviderService {
// If there are no attributes there is no reason to search LDAP // If there are no attributes there is no reason to search LDAP
if (attrList == null || attrList.isEmpty()) if (attrList == null || attrList.isEmpty())
return null; return Collections.<String, String>emptyMap();
// Build LDAP query parameters // Build LDAP query parameters
String[] attrArray = attrList.toArray(new String[attrList.size()]); String[] attrArray = attrList.toArray(new String[attrList.size()]);
@@ -285,11 +288,11 @@ public class AuthenticationProviderService {
// Get LDAP attributes by querying LDAP // Get LDAP attributes by querying LDAP
LDAPEntry userEntry = ldapConnection.read(userDN, attrArray); LDAPEntry userEntry = ldapConnection.read(userDN, attrArray);
if (userEntry == null) if (userEntry == null)
return null; return Collections.<String, String>emptyMap();
LDAPAttributeSet attrSet = userEntry.getAttributeSet(); LDAPAttributeSet attrSet = userEntry.getAttributeSet();
if (attrSet == null) if (attrSet == null)
return null; return Collections.<String, String>emptyMap();
// Add each attribute into Map // Add each attribute into Map
for (Object attrObj : attrSet) { for (Object attrObj : attrSet) {