diff options
-rw-r--r-- | apps/user_ldap/tests/user_ldap.php | 5 | ||||
-rw-r--r-- | apps/user_ldap/user_ldap.php | 11 |
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 53229e2d64a..2f15a5acc6d 100644 --- a/apps/user_ldap/tests/user_ldap.php +++ b/apps/user_ldap/tests/user_ldap.php @@ -259,12 +259,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 cc5d5f5226f..014d60c7316 100644 --- a/apps/user_ldap/user_ldap.php +++ b/apps/user_ldap/user_ldap.php @@ -198,6 +198,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); @@ -249,16 +250,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); |