From a4ce4403926fd314a68ec6cd099cfecc54b5ddfc Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Wed, 25 Jan 2017 12:22:09 +0100 Subject: Ignore NoUserException for shares from ghosts Add unit tests for FailedStorage init from SharedStorage Signed-off-by: Morris Jobke --- apps/files_sharing/lib/SharedStorage.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'apps/files_sharing/lib') diff --git a/apps/files_sharing/lib/SharedStorage.php b/apps/files_sharing/lib/SharedStorage.php index 888cbfda143..560c195d8ba 100644 --- a/apps/files_sharing/lib/SharedStorage.php +++ b/apps/files_sharing/lib/SharedStorage.php @@ -32,15 +32,14 @@ namespace OCA\Files_Sharing; use OC\Files\Filesystem; -use OC\Files\Cache\FailedCache; use OC\Files\Storage\Wrapper\PermissionsMask; -use OCA\Files_Sharing\ISharedStorage; use OC\Files\Storage\FailedStorage; use OCP\Constants; use OCP\Files\Cache\ICacheEntry; use OCP\Files\NotFoundException; use OCP\Files\Storage\IStorage; use OCP\Lock\ILockingProvider; +use OC\User\NoUserException; /** * Convert target path to source path and pass the function call to the correct storage provider @@ -121,6 +120,11 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto 'mask' => $this->superShare->getPermissions() ]); } catch (NotFoundException $e) { + // original file not accessible or deleted, set FailedStorage + $this->storage = new FailedStorage(['exception' => $e]); + $this->rootPath = ''; + } catch (NoUserException $e) { + // sharer user deleted, set FailedStorage $this->storage = new FailedStorage(['exception' => $e]); $this->rootPath = ''; } catch (\Exception $e) { -- cgit v1.2.3