From 050408c9de2431c2eafc026b9ba5226cd49ae0a2 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 17 Apr 2024 16:29:07 +0200 Subject: [PATCH 1/2] fix(files): Also skip cross storage move with access control Signed-off-by: Joas Schilling --- lib/private/Files/Storage/Local.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/private/Files/Storage/Local.php b/lib/private/Files/Storage/Local.php index 909b124ff64..e5764f68405 100644 --- a/lib/private/Files/Storage/Local.php +++ b/lib/private/Files/Storage/Local.php @@ -589,6 +589,8 @@ class Local extends \OC\Files\Storage\Common { // 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); } From 64d32abb4857f51476488e8946c6e9a6af0d2f89 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Thu, 18 Apr 2024 09:24:11 +0200 Subject: [PATCH 2/2] fix(CI): Suppress psalm UndefinedClass Signed-off-by: Joas Schilling --- lib/private/Files/Storage/Local.php | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/private/Files/Storage/Local.php b/lib/private/Files/Storage/Local.php index e5764f68405..2c90a28fe3b 100644 --- a/lib/private/Files/Storage/Local.php +++ b/lib/private/Files/Storage/Local.php @@ -584,6 +584,7 @@ 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