Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/user_ldap/tests/user_ldap.php5
-rw-r--r--apps/user_ldap/user_ldap.php11
2 files changed, 10 insertions, 6 deletions
diff --git a/apps/user_ldap/tests/user_ldap.php b/apps/user_ldap/tests/user_ldap.php
index 119b0b186d4..f8ac4a11c6a 100644
--- a/apps/user_ldap/tests/user_ldap.php
+++ b/apps/user_ldap/tests/user_ldap.php
@@ -253,12 +253,15 @@ class Test_User_Ldap_Direct extends \Test\TestCase {
$config = $this->getMock('\OCP\IConfig');
$config->expects($this->exactly(2))
->method('getUserValue')
- ->will($this->returnValue(1));
+ ->will($this->onConsecutiveCalls('1', '/var/vhome/jdings/'));
$backend = new UserLDAP($access, $config);
$result = $backend->deleteUser('jeremy');
$this->assertTrue($result);
+
+ $home = $backend->getHome('jeremy');
+ $this->assertSame($home, '/var/vhome/jdings/');
}
/**
diff --git a/apps/user_ldap/user_ldap.php b/apps/user_ldap/user_ldap.php
index c65c68d609c..69c4af0ebbf 100644
--- a/apps/user_ldap/user_ldap.php
+++ b/apps/user_ldap/user_ldap.php
@@ -196,6 +196,7 @@ class USER_LDAP extends BackendUtility implements \OCP\IUserBackend, \OCP\UserIn
}
//getting dn, if false the user does not exist. If dn, he may be mapped only, requires more checking.
$user = $this->access->userManager->get($uid);
+
if(is_null($user)) {
\OCP\Util::writeLog('user_ldap', 'No DN found for '.$uid.' on '.
$this->access->connection->ldapHost, \OCP\Util::DEBUG);
@@ -247,16 +248,16 @@ class USER_LDAP extends BackendUtility implements \OCP\IUserBackend, \OCP\UserIn
* @return string|bool
*/
public function getHome($uid) {
- // user Exists check required as it is not done in user proxy!
- if(!$this->userExists($uid)) {
- return false;
- }
-
if(isset($this->homesToKill[$uid]) && !empty($this->homesToKill[$uid])) {
//a deleted user who needs some clean up
return $this->homesToKill[$uid];
}
+ // user Exists check required as it is not done in user proxy!
+ if(!$this->userExists($uid)) {
+ return false;
+ }
+
$cacheKey = 'getHome'.$uid;
if($this->access->connection->isCached($cacheKey)) {
return $this->access->connection->getFromCache($cacheKey);