Merge pull request #21572 from nextcloud/backport/21558/stable18

[stable18] relax permissions mask check for detecting part file rename
This commit is contained in:
Morris Jobke 2020-07-02 23:50:50 +02:00 committed by GitHub
commit f9cc07feef
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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);
}