aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoas Schilling <213943+nickvergessen@users.noreply.github.com>2024-04-24 14:05:16 +0200
committerGitHub <noreply@github.com>2024-04-24 14:05:16 +0200
commit11a19adc4891ecdf4cab570f26bc6a14dbfc45d0 (patch)
tree03dd41fac4bd390185d9406a835ec1d20727ba71
parent646cba4835a668ddd416a57de21a7334e55e1f68 (diff)
parent2986019408aa1b5861d4a558015692994bff6cfc (diff)
downloadnextcloud-server-stable21.tar.gz
nextcloud-server-stable21.zip
Merge pull request #45012 from nextcloud/backport/45010/stable21stable21
[stable21] fix(files): Also skip cross storage move with access control
-rw-r--r--lib/private/Files/Storage/Local.php5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/private/Files/Storage/Local.php b/lib/private/Files/Storage/Local.php
index 22c9418d19f..cb6672e35a0 100644
--- a/lib/private/Files/Storage/Local.php
+++ b/lib/private/Files/Storage/Local.php
@@ -528,7 +528,10 @@ class Local extends \OC\Files\Storage\Common {
// 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.
- if ($sourceStorage->instanceOfStorage(Local::class) && !$sourceStorage->instanceOfStorage('OCA\GroupFolders\ACL\ACLStorageWrapper')) {
+ /** @psalm-suppress UndefinedClass */
+ if ($sourceStorage->instanceOfStorage(Local::class)
+ && !$sourceStorage->instanceOfStorage('OCA\GroupFolders\ACL\ACLStorageWrapper')
+ && !$sourceStorage->instanceOfStorage(\OCA\FilesAccessControl\StorageWrapper::class)) {
if ($sourceStorage->instanceOfStorage(Jail::class)) {
/**
* @var \OC\Files\Storage\Wrapper\Jail $sourceStorage