Merge pull request #7717 from nextcloud/stable12-7662

[stable12] throw ServerNotAvailableException when LDAP is caught shutting down
This commit is contained in:
Roeland Jago Douma 2018-01-07 11:40:18 +01:00 committed by GitHub
commit 116e4e415e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 7 deletions

View File

@ -63,8 +63,8 @@ class LDAP implements ILDAPWrapper {
}
/**
* @param LDAP $link
* @param LDAP $result
* @param resource $link
* @param resource $result
* @param string $cookie
* @return bool|LDAP
*/
@ -331,6 +331,8 @@ class LDAP implements ILDAPWrapper {
//referrals, we switch them off, but then there is AD :)
} else if ($errorCode === -1) {
throw new ServerNotAvailableException('Lost connection to LDAP server.');
} else if ($errorCode === 52) {
throw new ServerNotAvailableException('LDAP server is shutting down.');
} else if ($errorCode === 48) {
throw new \Exception('LDAP authentication method rejected', $errorCode);
} else if ($errorCode === 1) {
@ -339,11 +341,12 @@ class LDAP implements ILDAPWrapper {
ldap_get_option($this->curArgs[0], LDAP_OPT_ERROR_STRING, $extended_error);
throw new ConstraintViolationException(!empty($extended_error)?$extended_error:$errorMsg, $errorCode);
} else {
\OCP\Util::writeLog('user_ldap',
'LDAP error '.$errorMsg.' (' .
$errorCode.') after calling '.
$this->curFunc,
\OCP\Util::DEBUG);
\OC::$server->getLogger()->debug('LDAP error {message} ({code}) after calling {func}', [
'app' => 'user_ldap',
'message' => $errorMsg,
'code' => $errorCode,
'func' => $this->curFunc,
]);
}
}