throw ServerNotAvailableException when LDAP is caught shutting down

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
This commit is contained in:
Arthur Schiwon 2018-01-02 12:20:44 +01:00
parent 28d77efe80
commit 37c0352249
No known key found for this signature in database
GPG Key ID: 7424F1874854DF23
1 changed files with 10 additions and 7 deletions

View File

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