]> source.dussan.org Git - nextcloud-server.git/commitdiff
Avoid PHP errors when the LDAP attribute is not found
authorCôme Chilliet <come.chilliet@nextcloud.com>
Tue, 12 Oct 2021 10:38:00 +0000 (12:38 +0200)
committerbackportbot[bot] <backportbot[bot]@users.noreply.github.com>
Tue, 19 Oct 2021 09:24:54 +0000 (09:24 +0000)
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
apps/user_ldap/lib/Access.php

index 862089e9d30f46922a83c1750de2cf3053fbdb39..370a4440501fa55721ea3f3f778edc137cd2e042 100644 (file)
@@ -552,7 +552,7 @@ class Access extends LDAPUtility {
 
                if (is_null($ldapName)) {
                        $ldapName = $this->readAttribute($fdn, $nameAttribute, $filter);
-                       if (!isset($ldapName[0]) && empty($ldapName[0])) {
+                       if (!isset($ldapName[0]) || empty($ldapName[0])) {
                                \OCP\Util::writeLog('user_ldap', 'No or empty name for ' . $fdn . ' with filter ' . $filter . '.', ILogger::DEBUG);
                                return false;
                        }
@@ -563,6 +563,10 @@ class Access extends LDAPUtility {
                        $usernameAttribute = (string)$this->connection->ldapExpertUsernameAttr;
                        if ($usernameAttribute !== '') {
                                $username = $this->readAttribute($fdn, $usernameAttribute);
+                               if (!isset($username[0]) || empty($username[0])) {
+                                       \OCP\Util::writeLog('user_ldap', 'No or empty username (' . $usernameAttribute . ') for ' . $fdn . '.', ILogger::DEBUG);
+                                       return false;
+                               }
                                $username = $username[0];
                        } else {
                                $username = $uuid;