aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArthur Schiwon <blizzz@owncloud.com>2015-06-11 18:24:45 +0200
committerArthur Schiwon <blizzz@owncloud.com>2015-06-18 22:14:59 +0200
commit0766a679b40615ce831b903f898647379e6a3c79 (patch)
treedbd4eb75046b228ca8e3101c175da64df439d56e
parentf2b7eb85c8215566d5e1fb8012b6d860d547ddd5 (diff)
downloadnextcloud-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.php4
-rw-r--r--apps/user_ldap/user_ldap.php11
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);