From 80e6d357a2d0e42331208553a2bccb191ce4e41d Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Fri, 20 Jun 2014 14:29:13 +0200 Subject: [PATCH 1/2] Fix permissions check when moving a file to a different directory over webdav --- lib/private/connector/sabre/objecttree.php | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/lib/private/connector/sabre/objecttree.php b/lib/private/connector/sabre/objecttree.php index f2578e3c09..54596db3c4 100644 --- a/lib/private/connector/sabre/objecttree.php +++ b/lib/private/connector/sabre/objecttree.php @@ -135,10 +135,7 @@ class ObjectTree extends \Sabre\DAV\ObjectTree { throw new \Sabre\DAV\Exception\Forbidden(); } if ($sourceDir !== $destinationDir) { - if (!$this->fileView->isUpdatable($sourceDir)) { - throw new \Sabre\DAV\Exception\Forbidden(); - } - if (!$this->fileView->isUpdatable($destinationDir)) { + if (!$this->fileView->isCreatable($destinationDir)) { throw new \Sabre\DAV\Exception\Forbidden(); } if (!$this->fileView->isDeletable($sourcePath) && !$isMovableMount) { From 24f15fca6429f741ec060086770ba9961035cc02 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Fri, 20 Jun 2014 15:40:38 +0200 Subject: [PATCH 2/2] Fix unit tests --- tests/lib/connector/sabre/objecttree.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/lib/connector/sabre/objecttree.php b/tests/lib/connector/sabre/objecttree.php index a88e23bbe2..fc9f802066 100644 --- a/tests/lib/connector/sabre/objecttree.php +++ b/tests/lib/connector/sabre/objecttree.php @@ -25,6 +25,10 @@ class TestDoubleFileView extends \OC\Files\View{ return $this->updatables[$path]; } + public function isCreatable($path) { + return $this->updatables[$path]; + } + public function isDeletable($path) { return $this->deletables[$path]; }