From 8689e6eb07bad23bb433262525b3d7e6f7626f8c 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 c2865f79cba..77bb19fbfaa 100644 --- a/lib/private/Files/Storage/Local.php +++ b/lib/private/Files/Storage/Local.php @@ -593,6 +593,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 404fe4782038aa62d65143b474f3db029a81ba00 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 77bb19fbfaa..6a8df50bbd2 100644 --- a/lib/private/Files/Storage/Local.php +++ b/lib/private/Files/Storage/Local.php @@ -588,6 +588,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