diff options
author | Morris Jobke <hey@morrisjobke.de> | 2015-10-22 17:04:36 +0200 |
---|---|---|
committer | Morris Jobke <hey@morrisjobke.de> | 2015-10-22 17:04:36 +0200 |
commit | db25f41da89425f608d4040f2c75be9efd8cd13f (patch) | |
tree | f2421a69a730e5338bcbd2de16d702383eab0671 | |
parent | dc32bf459446bdbce327dcf7bb9e07ca0a7a2bf4 (diff) | |
download | nextcloud-server-db25f41da89425f608d4040f2c75be9efd8cd13f.tar.gz nextcloud-server-db25f41da89425f608d4040f2c75be9efd8cd13f.zip |
handle NoUserException in sharing code
* setup LDAP users
* share from an LDAP user
* delete that LDAP user
* log in as share recipient
* before: unhandled NoUserException
* after: NoUserEception is logged and share is not shown anymore
-rw-r--r-- | apps/files_sharing/lib/cache.php | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/apps/files_sharing/lib/cache.php b/apps/files_sharing/lib/cache.php index fa6c2d4c4f5..9f3bf6508b1 100644 --- a/apps/files_sharing/lib/cache.php +++ b/apps/files_sharing/lib/cache.php @@ -32,6 +32,7 @@ namespace OC\Files\Cache; +use OC\User\NoUserException; use OCP\Share_Backend_Collection; /** @@ -64,7 +65,12 @@ class Shared_Cache extends Cache { } $source = \OC_Share_Backend_File::getSource($target, $this->storage->getShare()); if (isset($source['path']) && isset($source['fileOwner'])) { - \OC\Files\Filesystem::initMountPoints($source['fileOwner']); + try { + \OC\Files\Filesystem::initMountPoints($source['fileOwner']); + } catch(NoUserException $e) { + \OC::$server->getLogger()->logException($e, ['app' => 'files_sharing']); + return false; + } $mounts = \OC\Files\Filesystem::getMountByNumericId($source['storage']); if (is_array($mounts) and !empty($mounts)) { $fullPath = $mounts[0]->getMountPoint() . $source['path']; |