From 2a33e941318b0a63faa5287e4f70563ab74c4586 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 661ae68d44eec..12e7e67c09784 100644 --- a/lib/private/Files/Storage/Local.php +++ b/lib/private/Files/Storage/Local.php @@ -593,6 +593,8 @@ private function canDoCrossStorageMove(IStorage $sourceStorage) { // 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 7203ce22ac27c2a2393f4c8737c6f25b6680bc8a 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 12e7e67c09784..a23879607c2df 100644 --- a/lib/private/Files/Storage/Local.php +++ b/lib/private/Files/Storage/Local.php @@ -588,6 +588,7 @@ private function calculateEtag(string $path, array $stat): string { } 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