diff options
author | Arthur Schiwon <blizzz@owncloud.com> | 2015-06-11 18:24:45 +0200 |
---|---|---|
committer | Arthur Schiwon <blizzz@owncloud.com> | 2015-06-18 22:14:59 +0200 |
commit | 0766a679b40615ce831b903f898647379e6a3c79 (patch) | |
tree | dbd4eb75046b228ca8e3101c175da64df439d56e | |
parent | f2b7eb85c8215566d5e1fb8012b6d860d547ddd5 (diff) | |
download | nextcloud-server-0766a679b40615ce831b903f898647379e6a3c79.tar.gz nextcloud-server-0766a679b40615ce831b903f898647379e6a3c79.zip |
Backport of #16890 to stable7
the user is gone, userExists will not bring him back. But the user's folder needs to be deleted anyway
delete user test to take getHome into account to ensure it is also deleted subsequently
Conflicts:
apps/user_ldap/tests/user_ldap.php
-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); |