From cca1fb792b67b013e70c4d98ce98669fa5dbaa32 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Fri, 27 Nov 2020 18:44:27 +0100 Subject: [PATCH] check number of members after potential resolving of rdns - the type check is not necessary anymore for the return type of _groupMembers() Signed-off-by: Arthur Schiwon --- apps/user_ldap/lib/Group_LDAP.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/apps/user_ldap/lib/Group_LDAP.php b/apps/user_ldap/lib/Group_LDAP.php index 9cedbbadf5..be2fbecad8 100644 --- a/apps/user_ldap/lib/Group_LDAP.php +++ b/apps/user_ldap/lib/Group_LDAP.php @@ -136,10 +136,6 @@ class Group_LDAP extends BackendUtility implements GroupInterface, IGroupLDAP, I //usually, LDAP attributes are said to be case insensitive. But there are exceptions of course. $members = $this->_groupMembers($groupDN); - if (!is_array($members) || count($members) === 0) { - $this->access->connection->writeToCache($cacheKey, false); - return false; - } //extra work if we don't get back user DNs switch ($this->ldapGroupMemberAssocAttr) { @@ -186,6 +182,11 @@ class Group_LDAP extends BackendUtility implements GroupInterface, IGroupLDAP, I break; } + if (count($members) === 0) { + $this->access->connection->writeToCache($cacheKey, false); + return false; + } + $isInGroup = in_array($userDN, $members); $this->access->connection->writeToCache($cacheKey, $isInGroup); $this->access->connection->writeToCache($cacheKeyMembers, $members);