From 6d0a324144824a11751f21fbe784f90c735d690b Mon Sep 17 00:00:00 2001 From: Björn Schießle Date: Wed, 4 Nov 2015 10:15:28 +0100 Subject: make sure that we update the unencrypted size for the versions --- lib/private/files/storage/wrapper/encryption.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'lib/private/files/storage/wrapper') diff --git a/lib/private/files/storage/wrapper/encryption.php b/lib/private/files/storage/wrapper/encryption.php index 24b0ca4acac..8f5a7a05f01 100644 --- a/lib/private/files/storage/wrapper/encryption.php +++ b/lib/private/files/storage/wrapper/encryption.php @@ -480,6 +480,7 @@ class Encryption extends Wrapper { * @param bool $preserveMtime * @param bool $isRename * @return bool + * @throws \Exception */ private function copyBetweenStorage(Storage $sourceStorage, $sourceInternalPath, $targetInternalPath, $preserveMtime, $isRename) { @@ -487,7 +488,18 @@ class Encryption extends Wrapper { // key from the original file. Just create a 1:1 copy and done if ($this->isVersion($targetInternalPath) || $this->isVersion($sourceInternalPath)) { - return $this->storage->copyFromStorage($sourceStorage, $sourceInternalPath, $targetInternalPath); + $result = $this->storage->copyFromStorage($sourceStorage, $sourceInternalPath, $targetInternalPath); + if ($result) { + $info = $this->getCache('', $sourceStorage)->get($sourceInternalPath); + // make sure that we update the unencrypted size for the version + if (isset($info['encrypted']) && $info['encrypted'] === true) { + $this->updateUnencryptedSize( + $this->getFullPath($targetInternalPath), + $info['size'] + ); + } + } + return $result; } // first copy the keys that we reuse the existing file key on the target location -- cgit v1.2.3