summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@users.noreply.github.com>2020-06-24 21:05:07 +0200
committerGitHub <noreply@github.com>2020-06-24 21:05:07 +0200
commitb6ce75066d8b87024f4782b95278f35882bcda59 (patch)
tree65de342a72e9b6e27a77fb928fcf7b1315f6daac /lib
parentb4b7de5a95f16712c28cf73b62114e93ee3dfec8 (diff)
parent35d75dbb384dcaa032cddf30c5f53dcea293e507 (diff)
downloadnextcloud-server-b6ce75066d8b87024f4782b95278f35882bcda59.tar.gz
nextcloud-server-b6ce75066d8b87024f4782b95278f35882bcda59.zip
Merge pull request #21558 from nextcloud/part-file-rename-mask
relax permissions mask check for detecting part file rename
Diffstat (limited to 'lib')
-rw-r--r--lib/private/Files/Storage/Wrapper/PermissionsMask.php10
1 files changed, 3 insertions, 7 deletions
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);
}