mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
make sure port is used as backup port if not specified. documentation. determine connection error earlier.
This commit is contained in:
parent
59a6068246
commit
d8be83029b
1 changed files with 9 additions and 1 deletions
|
|
@ -279,6 +279,10 @@ class Connection {
|
|||
\OCP\Config::setAppValue($this->configID, $this->configPrefix.'ldap_uuid_attribute', 'auto');
|
||||
\OCP\Util::writeLog('user_ldap', 'Illegal value for the UUID Attribute, reset to autodetect.', \OCP\Util::INFO);
|
||||
}
|
||||
if(empty($this->config['ldapBackupPort'])) {
|
||||
//force default
|
||||
$this->config['ldapBackupPort'] = $this->config['ldapPort'];
|
||||
}
|
||||
|
||||
|
||||
//second step: critical checks. If left empty or filled wrong, set as unconfigured and give a warning.
|
||||
|
|
@ -351,18 +355,22 @@ class Connection {
|
|||
if(!$this->config['ldapOverrideMainServer'] && !$this->getFromCache('overrideMainServer')) {
|
||||
$this->doConnect($this->config['ldapHost'], $this->config['ldapPort']);
|
||||
$bindStatus = $this->bind();
|
||||
$error = ldap_errno($this->ldapConnectionRes);
|
||||
} else {
|
||||
$bindStatus = false;
|
||||
$error = null;
|
||||
}
|
||||
|
||||
$error = null;
|
||||
//if LDAP server is not reachable, try the Backup (Replica!) Server
|
||||
if((!$bindStatus && ($error = ldap_errno($this->ldapConnectionRes)) == -1)
|
||||
if((!$bindStatus && ($error == -1))
|
||||
|| $this->config['ldapOverrideMainServer']
|
||||
|| $this->getFromCache('overrideMainServer')) {
|
||||
$this->doConnect($this->config['ldapBackupHost'], $this->config['ldapBackupPort']);
|
||||
$bindStatus = $this->bind();
|
||||
if($bindStatus && $error == -1) {
|
||||
//when bind to backup server succeeded and failed to main server,
|
||||
//skip contacting him until next cache refresh
|
||||
$this->writeToCache('overrideMainServer', true);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue