diff options
author | Roeland Jago Douma <rullzer@users.noreply.github.com> | 2017-12-06 09:13:53 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-06 09:13:53 +0100 |
commit | 1287da8a381845c44b740b0ad150bb3d67cfb7da (patch) | |
tree | 77d79e853c4dbe6b0a6676ce31ecb4fbcc40752c /apps/dav | |
parent | 6e45034745e1a6c63564bd4c0782cacc2d6e8d5a (diff) | |
parent | d2fe30d464adac9b3a4dc300aad135d1cf682017 (diff) | |
download | nextcloud-server-1287da8a381845c44b740b0ad150bb3d67cfb7da.tar.gz nextcloud-server-1287da8a381845c44b740b0ad150bb3d67cfb7da.zip |
Merge pull request #7348 from nextcloud/filterout_shares_of_nonexisting_users
Check if the owner of a share exists
Diffstat (limited to 'apps/dav')
-rw-r--r-- | apps/dav/lib/Connector/Sabre/ObjectTree.php | 5 | ||||
-rw-r--r-- | apps/dav/tests/unit/Connector/Sabre/ObjectTreeTest.php | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/apps/dav/lib/Connector/Sabre/ObjectTree.php b/apps/dav/lib/Connector/Sabre/ObjectTree.php index 41bfceeab96..25db1d5028c 100644 --- a/apps/dav/lib/Connector/Sabre/ObjectTree.php +++ b/apps/dav/lib/Connector/Sabre/ObjectTree.php @@ -29,6 +29,7 @@ namespace OCA\DAV\Connector\Sabre; +use OC\Files\Storage\FailedStorage; use OCA\DAV\Connector\Sabre\Exception\Forbidden; use OCA\DAV\Connector\Sabre\Exception\InvalidPath; use OCA\DAV\Connector\Sabre\Exception\FileLocked; @@ -154,6 +155,10 @@ class ObjectTree extends CachingTree { // read from cache try { $info = $this->fileView->getFileInfo($path); + + if ($info instanceof \OCP\Files\FileInfo && $info->getStorage()->instanceOfStorage(FailedStorage::class)) { + throw new StorageNotAvailableException(); + } } catch (StorageNotAvailableException $e) { throw new \Sabre\DAV\Exception\ServiceUnavailable('Storage is temporarily not available'); } catch (StorageInvalidException $e) { diff --git a/apps/dav/tests/unit/Connector/Sabre/ObjectTreeTest.php b/apps/dav/tests/unit/Connector/Sabre/ObjectTreeTest.php index a8fbcb39a85..cd575e4ff3c 100644 --- a/apps/dav/tests/unit/Connector/Sabre/ObjectTreeTest.php +++ b/apps/dav/tests/unit/Connector/Sabre/ObjectTreeTest.php @@ -174,6 +174,8 @@ class ObjectTreeTest extends \Test\TestCase { $fileInfo->expects($this->once()) ->method('getName') ->will($this->returnValue($outputFileName)); + $fileInfo->method('getStorage') + ->willReturn($this->createMock(\OC\Files\Storage\Common::class)); $view->expects($this->once()) ->method('getFileInfo') |