diff options
author | Vincent Petry <pvince81@owncloud.com> | 2016-04-25 12:38:09 +0200 |
---|---|---|
committer | Vincent Petry <pvince81@owncloud.com> | 2016-04-25 12:38:09 +0200 |
commit | 7a22e3f083af7a7c64a022af6e6e5aa9e478cc6a (patch) | |
tree | da99833181650db98d36333f251e6814e3dd7031 | |
parent | 74de72e75e68cb3aaffa2ab90fbd685e755b4262 (diff) | |
parent | 203b0e9cbad07caf581708ae1e384922b662fa90 (diff) | |
download | nextcloud-server-7a22e3f083af7a7c64a022af6e6e5aa9e478cc6a.tar.gz nextcloud-server-7a22e3f083af7a7c64a022af6e6e5aa9e478cc6a.zip |
Merge pull request #24214 from owncloud/fix-ldap-connection-unbind-on-login
on clone Connection, do not take over the existing LDAP resource
-rw-r--r-- | apps/user_ldap/lib/access.php | 4 | ||||
-rw-r--r-- | apps/user_ldap/lib/connection.php | 10 |
2 files changed, 3 insertions, 11 deletions
diff --git a/apps/user_ldap/lib/access.php b/apps/user_ldap/lib/access.php index 135eca1e625..ad273845509 100644 --- a/apps/user_ldap/lib/access.php +++ b/apps/user_ldap/lib/access.php @@ -1295,9 +1295,7 @@ class Access extends LDAPUtility implements user\IUserTools { if(!$testConnection->setConfiguration($credentials)) { return false; } - $result=$testConnection->bind(); - $this->ldap->unbind($this->connection->getConnectionResource()); - return $result; + return $testConnection->bind(); } /** diff --git a/apps/user_ldap/lib/connection.php b/apps/user_ldap/lib/connection.php index 53c9b3790a7..8b55e2598f4 100644 --- a/apps/user_ldap/lib/connection.php +++ b/apps/user_ldap/lib/connection.php @@ -49,9 +49,6 @@ class Connection extends LDAPUtility { private $configPrefix; private $configID; private $configured = false; - - //whether connection should be kept on __destruct - private $dontDestruct = false; private $hasPagedResultSupport = true; /** @@ -94,8 +91,7 @@ class Connection extends LDAPUtility { } public function __destruct() { - if(!$this->dontDestruct && - $this->ldap->isResource($this->ldapConnectionRes)) { + if($this->ldap->isResource($this->ldapConnectionRes)) { @$this->ldap->unbind($this->ldapConnectionRes); }; } @@ -104,11 +100,9 @@ class Connection extends LDAPUtility { * defines behaviour when the instance is cloned */ public function __clone() { - //a cloned instance inherits the connection resource. It may use it, - //but it may not disconnect it - $this->dontDestruct = true; $this->configuration = new Configuration($this->configPrefix, !is_null($this->configID)); + $this->ldapConnectionRes = null; } /** |