summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJoas Schilling <213943+nickvergessen@users.noreply.github.com>2024-04-18 10:48:16 +0200
committerGitHub <noreply@github.com>2024-04-18 10:48:16 +0200
commit1f1ad02c0ed70cad6ae085e820c4fe1b4c2af328 (patch)
treef7a418312a77cd371a09be04f16060258ef389a6 /lib
parent0e6ac5f6d66550d598885f8adfa6ed4d175dcef6 (diff)
parent0a429e0f80d70fd0e5080ceee47afe7724f1458a (diff)
downloadnextcloud-server-1f1ad02c0ed70cad6ae085e820c4fe1b4c2af328.tar.gz
nextcloud-server-1f1ad02c0ed70cad6ae085e820c4fe1b4c2af328.zip
Merge pull request #44890 from nextcloud/backport/44889/stable29
[stable29] fix(files): Also skip cross storage move with access control
Diffstat (limited to 'lib')
-rw-r--r--lib/private/Files/Storage/Local.php3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/private/Files/Storage/Local.php b/lib/private/Files/Storage/Local.php
index 909b124ff64..2c90a28fe3b 100644
--- a/lib/private/Files/Storage/Local.php
+++ b/lib/private/Files/Storage/Local.php
@@ -584,11 +584,14 @@ class Local extends \OC\Files\Storage\Common {
}
private function canDoCrossStorageMove(IStorage $sourceStorage) {
+ /** @psalm-suppress UndefinedClass */
return $sourceStorage->instanceOfStorage(Local::class)
// Don't treat ACLStorageWrapper like local storage where copy can be done directly.
// Instead, use the slower recursive copying in php from Common::copyFromStorage with
// more permissions checks.
&& !$sourceStorage->instanceOfStorage('OCA\GroupFolders\ACL\ACLStorageWrapper')
+ // Same for access control
+ && !$sourceStorage->instanceOfStorage(\OCA\FilesAccessControl\StorageWrapper::class)
// when moving encrypted files we have to handle keys and the target might not be encrypted
&& !$sourceStorage->instanceOfStorage(Encryption::class);
}