summaryrefslogtreecommitdiffstats
path: root/apps/dav
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@users.noreply.github.com>2017-12-06 09:13:53 +0100
committerGitHub <noreply@github.com>2017-12-06 09:13:53 +0100
commit1287da8a381845c44b740b0ad150bb3d67cfb7da (patch)
tree77d79e853c4dbe6b0a6676ce31ecb4fbcc40752c /apps/dav
parent6e45034745e1a6c63564bd4c0782cacc2d6e8d5a (diff)
parentd2fe30d464adac9b3a4dc300aad135d1cf682017 (diff)
downloadnextcloud-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.php5
-rw-r--r--apps/dav/tests/unit/Connector/Sabre/ObjectTreeTest.php2
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')