diff options
author | Morris Jobke <hey@morrisjobke.de> | 2015-06-23 17:32:21 +0300 |
---|---|---|
committer | Morris Jobke <hey@morrisjobke.de> | 2015-06-23 17:32:21 +0300 |
commit | e2b486eab6e6e77b73d405853e19136b82ea83d0 (patch) | |
tree | 5652fa6da9bd05b9352d0018c0d8c88e8460fa22 | |
parent | b1fc1b2e4cbdce06b7e1caae6bb80a1f923e359e (diff) | |
parent | 0766a679b40615ce831b903f898647379e6a3c79 (diff) |
Merge pull request #17034 from owncloud/backport-16890-stable7
Backport of #16890 to stable7
-rw-r--r-- | apps/user_ldap/tests/user_ldap.php | 4 | ||||
-rw-r--r-- | apps/user_ldap/user_ldap.php | 11 |
2 files changed, 10 insertions, 5 deletions
diff --git a/apps/user_ldap/tests/user_ldap.php b/apps/user_ldap/tests/user_ldap.php index 0309bc6108e..26d48ed1dd4 100644 --- a/apps/user_ldap/tests/user_ldap.php +++ b/apps/user_ldap/tests/user_ldap.php @@ -241,9 +241,13 @@ class Test_User_Ldap_Direct extends \PHPUnit_Framework_TestCase { $pref = \OC::$server->getConfig(); $pref->setUserValue('jeremy', 'user_ldap', 'isDeleted', 1); + $pref->setUserValue('jeremy', 'user_ldap', 'homePath', '/var/vhome/jdings/'); $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 3188a46ffa3..e2b295f617f 100644 --- a/apps/user_ldap/user_ldap.php +++ b/apps/user_ldap/user_ldap.php @@ -184,6 +184,7 @@ class USER_LDAP extends BackendUtility implements \OCP\UserInterface { } //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); @@ -236,16 +237,16 @@ class USER_LDAP extends BackendUtility implements \OCP\UserInterface { * @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); |