fix: don't do same-storage move optimization with encryption wrappers

Signed-off-by: Robin Appelman <robin@icewind.nl>
pull/49262/head
Robin Appelman 1 year ago
parent 22e2419b28
commit 0bc478de2c
No known key found for this signature in database
GPG Key ID: 42B69D8A64526EFB
  1. 6
      lib/private/Files/Storage/Common.php

@ -16,6 +16,7 @@ use OC\Files\Cache\Watcher;
use OC\Files\FilenameValidator;
use OC\Files\Filesystem;
use OC\Files\ObjectStore\ObjectStoreStorage;
use OC\Files\Storage\Wrapper\Encryption;
use OC\Files\Storage\Wrapper\Jail;
use OC\Files\Storage\Wrapper\Wrapper;
use OCP\Files\Cache\ICache;
@ -546,7 +547,10 @@ abstract class Common implements Storage, ILockingStorage, IWriteStreamStorage,
}
public function moveFromStorage(IStorage $sourceStorage, string $sourceInternalPath, string $targetInternalPath): bool {
if ($this->isSameStorage($sourceStorage)) {
if (
!$sourceStorage->instanceOfStorage(Encryption::class) &&
$this->isSameStorage($sourceStorage)
) {
// resolve any jailed paths
while ($sourceStorage->instanceOfStorage(Jail::class)) {
/**

Loading…
Cancel
Save