diff options
author | Vincent Petry <pvince81@owncloud.com> | 2016-04-20 10:42:59 +0200 |
---|---|---|
committer | Vincent Petry <pvince81@owncloud.com> | 2016-04-20 10:42:59 +0200 |
commit | aa408deef91521cff20031711ab495ad36b8fdfc (patch) | |
tree | f15dce9858314846eacea8ddf33b8663216d4efa /apps/user_ldap/lib/connection.php | |
parent | 36c43bad53d97ea0db5ded5c7f4dca0942a51300 (diff) | |
parent | 01d12ec74e97d2657baaf3e27b448b763fee1a0f (diff) | |
download | nextcloud-server-aa408deef91521cff20031711ab495ad36b8fdfc.tar.gz nextcloud-server-aa408deef91521cff20031711ab495ad36b8fdfc.zip |
Merge pull request #23402 from owncloud/backport-23282-stable8.2
[stable8.2] fix writing to cache when fallback server should be used immediately
Diffstat (limited to 'apps/user_ldap/lib/connection.php')
-rw-r--r-- | apps/user_ldap/lib/connection.php | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/apps/user_ldap/lib/connection.php b/apps/user_ldap/lib/connection.php index e0ee4d5780b..2ab1a0fc6c2 100644 --- a/apps/user_ldap/lib/connection.php +++ b/apps/user_ldap/lib/connection.php @@ -179,6 +179,16 @@ class Connection extends LDAPUtility { } /** + * resets the connection resource + */ + public function resetConnectionResource() { + if(!is_null($this->ldapConnectionRes)) { + @$this->ldap->unbind($this->ldapConnectionRes); + $this->ldapConnectionRes = null; + } + } + + /** * @param string|null $key * @return string */ @@ -529,7 +539,7 @@ class Connection extends LDAPUtility { } $bindStatus = false; - $error = null; + $error = -1; try { if (!$this->configuration->ldapOverrideMainServer && !$this->getFromCache('overrideMainServer') @@ -557,7 +567,7 @@ class Connection extends LDAPUtility { $this->doConnect($this->configuration->ldapBackupHost, $this->configuration->ldapBackupPort); $bindStatus = $this->bind(); - if($bindStatus && $error === -1) { + if($bindStatus && $error === -1 && !$this->getFromCache('overrideMainServer')) { //when bind to backup server succeeded and failed to main server, //skip contacting him until next cache refresh $this->writeToCache('overrideMainServer', true); |