summaryrefslogtreecommitdiffstats
path: root/apps/user_ldap/lib
diff options
context:
space:
mode:
Diffstat (limited to 'apps/user_ldap/lib')
-rw-r--r--apps/user_ldap/lib/Command/Search.php5
-rw-r--r--apps/user_ldap/lib/Group_LDAP.php4
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) {