summaryrefslogtreecommitdiffstats
path: root/lib/private/files/storage/wrapper
diff options
context:
space:
mode:
authorBjörn Schießle <bjoern@schiessle.org>2015-11-04 10:15:28 +0100
committerBjörn Schießle <bjoern@schiessle.org>2015-11-04 10:59:05 +0100
commit6d0a324144824a11751f21fbe784f90c735d690b (patch)
tree49fd18bf415536f00839517aac1e62a51ed2f942 /lib/private/files/storage/wrapper
parent7fe047425fa0dc29069ea0c783464e16ed19ae98 (diff)
downloadnextcloud-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.php14
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