aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2016-04-25 12:38:09 +0200
committerVincent Petry <pvince81@owncloud.com>2016-04-25 12:38:09 +0200
commit7a22e3f083af7a7c64a022af6e6e5aa9e478cc6a (patch)
treeda99833181650db98d36333f251e6814e3dd7031
parent74de72e75e68cb3aaffa2ab90fbd685e755b4262 (diff)
parent203b0e9cbad07caf581708ae1e384922b662fa90 (diff)
downloadnextcloud-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.php4
-rw-r--r--apps/user_ldap/lib/connection.php10
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;
}
/**