From: Robin Appelman Date: Thu, 11 Jun 2020 12:22:59 +0000 (+0200) Subject: relax permissions mask check for detecting part file rename X-Git-Tag: v20.0.0beta1~366^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=refs%2Fpull%2F21558%2Fhead;p=nextcloud-server.git relax permissions mask check for detecting part file rename with files drop uploads the original file name isn't always used for the '.ocTransferId' source path Signed-off-by: Robin Appelman --- diff --git a/lib/private/Files/Storage/Wrapper/PermissionsMask.php b/lib/private/Files/Storage/Wrapper/PermissionsMask.php index 6b453b4380a..9c2d123b7bf 100644 --- a/lib/private/Files/Storage/Wrapper/PermissionsMask.php +++ b/lib/private/Files/Storage/Wrapper/PermissionsMask.php @@ -80,13 +80,9 @@ class PermissionsMask extends Wrapper { } public function rename($path1, $path2) { - $p = strpos($path1, $path2); - if ($p === 0) { - $part = substr($path1, strlen($path2)); - //This is a rename of the transfer file to the original file - if (strpos($part, '.ocTransferId') === 0) { - return $this->checkMask(Constants::PERMISSION_CREATE) and parent::rename($path1, $path2); - } + //This is a rename of the transfer file to the original file + if (dirname($path1) === dirname($path2) && strpos($path1, '.ocTransferId') > 0) { + return $this->checkMask(Constants::PERMISSION_CREATE) and parent::rename($path1, $path2); } return $this->checkMask(Constants::PERMISSION_UPDATE) and parent::rename($path1, $path2); }