diff options
author | John Molakvoæ <skjnldsv@users.noreply.github.com> | 2019-11-21 07:08:33 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-21 07:08:33 +0100 |
commit | b9dccf592963aa84d5c145367d5402d6ef114fd7 (patch) | |
tree | 4f134ef57756a6f3892264c2a8d94d035e5913fc /apps/user_ldap | |
parent | 37ef64d24e0b9fadc44b56061b13623866170858 (diff) | |
parent | 213016f7589e6eec75f3c5f4d234fce5c7e83203 (diff) | |
download | nextcloud-server-b9dccf592963aa84d5c145367d5402d6ef114fd7.tar.gz nextcloud-server-b9dccf592963aa84d5c145367d5402d6ef114fd7.zip |
uid can be false when the user record does not exit (#18030)
uid can be false when the user record does not exit
Diffstat (limited to 'apps/user_ldap')
-rw-r--r-- | apps/user_ldap/lib/Group_LDAP.php | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/apps/user_ldap/lib/Group_LDAP.php b/apps/user_ldap/lib/Group_LDAP.php index 0b55f8a4e92..0a348c2ee64 100644 --- a/apps/user_ldap/lib/Group_LDAP.php +++ b/apps/user_ldap/lib/Group_LDAP.php @@ -739,20 +739,24 @@ class Group_LDAP extends BackendUtility implements \OCP\GroupInterface, IGroupLD if ($result === false) { \OCP\Util::writeLog('user_ldap', 'No uid attribute found for DN ' . $userDN . ' on '. $this->access->connection->ldapHost, ILogger::DEBUG); + $uid = false; + } else { + $uid = $result[0]; } - $uid = $result[0]; } else { // just in case $uid = $userDN; } - if(isset($this->cachedGroupsByMember[$uid])) { - $groups = array_merge($groups, $this->cachedGroupsByMember[$uid]); - } else { - $groupsByMember = array_values($this->getGroupsByMember($uid)); - $groupsByMember = $this->access->nextcloudGroupNames($groupsByMember); - $this->cachedGroupsByMember[$uid] = $groupsByMember; - $groups = array_merge($groups, $groupsByMember); + if($uid !== false) { + if (isset($this->cachedGroupsByMember[$uid])) { + $groups = array_merge($groups, $this->cachedGroupsByMember[$uid]); + } else { + $groupsByMember = array_values($this->getGroupsByMember($uid)); + $groupsByMember = $this->access->nextcloudGroupNames($groupsByMember); + $this->cachedGroupsByMember[$uid] = $groupsByMember; + $groups = array_merge($groups, $groupsByMember); + } } if($primaryGroup !== false) { |