Merge pull request #25860 from nextcloud/fix/noid/ldap-bind-expired

do not die after LDAP auth failed with expired acc
This commit is contained in:
blizzz 2021-03-02 21:34:03 +01:00 committed by GitHub
commit ef5389603c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 3 deletions

View File

@ -676,9 +676,12 @@ class Connection extends LDAPUtility {
'Bind failed: ' . $errno . ': ' . $this->ldap->error($cr),
ILogger::WARN);
// Set to failure mode, if LDAP error code is not LDAP_SUCCESS or LDAP_INVALID_CREDENTIALS
// or (needed for Apple Open Directory:) LDAP_INSUFFICIENT_ACCESS
if ($errno !== 0 && $errno !== 49 && $errno !== 50) {
// Set to failure mode, if LDAP error code is not one of
// - LDAP_SUCCESS (0)
// - LDAP_INVALID_CREDENTIALS (49)
// - LDAP_INSUFFICIENT_ACCESS (50, spotted Apple Open Directory)
// - LDAP_UNWILLING_TO_PERFORM (53, spotted eDirectory)
if (!in_array($errno, [0, 49, 50, 53], true)) {
$this->ldapConnectionRes = null;
}