diff options
Diffstat (limited to 'apps/user_ldap/lib')
-rw-r--r-- | apps/user_ldap/lib/Command/Search.php | 5 | ||||
-rw-r--r-- | apps/user_ldap/lib/Group_LDAP.php | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/apps/user_ldap/lib/Command/Search.php b/apps/user_ldap/lib/Command/Search.php index 17e506855b2..57970b1ac5d 100644 --- a/apps/user_ldap/lib/Command/Search.php +++ b/apps/user_ldap/lib/Command/Search.php @@ -114,6 +114,11 @@ class Search extends Command { $proxy = new Group_Proxy($configPrefixes, $ldapWrapper); $getMethod = 'getGroups'; $printID = false; + // convert the limit of groups to null. This will show all the groups available instead of + // nothing, and will match the same behaviour the search for users has. + if ($limit === 0) { + $limit = null; + } } else { $proxy = new User_Proxy($configPrefixes, $ldapWrapper, $this->ocConfig); $getMethod = 'getDisplayNames'; diff --git a/apps/user_ldap/lib/Group_LDAP.php b/apps/user_ldap/lib/Group_LDAP.php index d620a00f849..fb9920d3cc2 100644 --- a/apps/user_ldap/lib/Group_LDAP.php +++ b/apps/user_ldap/lib/Group_LDAP.php @@ -496,9 +496,11 @@ class Group_LDAP extends BackendUtility implements \OCP\GroupInterface { // if possible, read out membership via memberOf. It's far faster than // performing a search, which still is a fallback later. + // memberof doesn't support memberuid, so skip it here. if(intval($this->access->connection->hasMemberOfFilterSupport) === 1 && intval($this->access->connection->useMemberOfToDetectMembership) === 1 - ) { + && strtolower($this->access->connection->ldapGroupMemberAssocAttr) !== 'memberuid' + ) { $groupDNs = $this->_getGroupDNsFromMemberOf($userDN); if (is_array($groupDNs)) { foreach ($groupDNs as $dn) { |