Merge pull request #11383 from nextcloud/fix/noid/files-unavailable-deleted-user

do not explode when getting permissions from a FailedStorage
This commit is contained in:
Morris Jobke 2018-09-26 12:18:07 +02:00 committed by GitHub
commit 89fdd088c7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 1 deletions

View File

@ -32,6 +32,7 @@ use OC\Files\Cache\FailedCache;
use OC\Files\Cache\Wrapper\CacheJail; use OC\Files\Cache\Wrapper\CacheJail;
use OC\Files\Storage\Wrapper\Jail; use OC\Files\Storage\Wrapper\Jail;
use OCP\Files\Cache\ICacheEntry; use OCP\Files\Cache\ICacheEntry;
use OCP\Files\StorageNotAvailableException;
/** /**
* Metadata cache for shared files * Metadata cache for shared files
@ -142,7 +143,14 @@ class Cache extends CacheJail {
} else { } else {
$entry['path'] = $path; $entry['path'] = $path;
} }
try {
$sharePermissions = $this->storage->getPermissions($entry['path']); $sharePermissions = $this->storage->getPermissions($entry['path']);
} catch (StorageNotAvailableException $e) {
// thrown by FailedStorage e.g. when the sharer does not exist anymore
// (IDE may say the exception is never thrown false negative)
$sharePermissions = 0;
}
if (isset($entry['permissions'])) { if (isset($entry['permissions'])) {
$entry['permissions'] &= $sharePermissions; $entry['permissions'] &= $sharePermissions;
} else { } else {