diff options
author | Björn Schießle <bjoern@schiessle.org> | 2015-11-04 10:15:28 +0100 |
---|---|---|
committer | Björn Schießle <bjoern@schiessle.org> | 2015-11-04 10:59:05 +0100 |
commit | 6d0a324144824a11751f21fbe784f90c735d690b (patch) | |
tree | 49fd18bf415536f00839517aac1e62a51ed2f942 /lib/private/files/storage/wrapper | |
parent | 7fe047425fa0dc29069ea0c783464e16ed19ae98 (diff) | |
download | nextcloud-server-6d0a324144824a11751f21fbe784f90c735d690b.tar.gz nextcloud-server-6d0a324144824a11751f21fbe784f90c735d690b.zip |
make sure that we update the unencrypted size for the versions
Diffstat (limited to 'lib/private/files/storage/wrapper')
-rw-r--r-- | lib/private/files/storage/wrapper/encryption.php | 14 |
1 files changed, 13 insertions, 1 deletions
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 |