aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2016-03-16 13:14:36 +0100
committerThomas Müller <thomas.mueller@tmit.eu>2016-03-16 13:14:36 +0100
commit2f5b929ee9bccc381455ab1034748c556c172fcc (patch)
tree2bfaf13af56b2c3886e500c0db42d729fdac0969 /lib/private
parent09a5b4076bd5ca6c68e554b8987eb231be757752 (diff)
parent676041ba7edaf668c9e6c1bb6f1c25ff7635960a (diff)
downloadnextcloud-server-2f5b929ee9bccc381455ab1034748c556c172fcc.tar.gz
nextcloud-server-2f5b929ee9bccc381455ab1034748c556c172fcc.zip
Merge pull request #23108 from owncloud/set-encrypted-version-at-least-to-1
Ensure that stored version is at least 1 for cross-storage copy
Diffstat (limited to 'lib/private')
-rw-r--r--lib/private/files/storage/wrapper/encryption.php13
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/private/files/storage/wrapper/encryption.php b/lib/private/files/storage/wrapper/encryption.php
index 0b4816174bf..81eea9944f8 100644
--- a/lib/private/files/storage/wrapper/encryption.php
+++ b/lib/private/files/storage/wrapper/encryption.php
@@ -634,7 +634,18 @@ class Encryption extends Wrapper {
'encrypted' => (bool)$isEncrypted,
];
if($isEncrypted === 1) {
- $cacheInformation['encryptedVersion'] = $sourceStorage->getCache()->get($sourceInternalPath)['encryptedVersion'];
+ $encryptedVersion = $sourceStorage->getCache()->get($sourceInternalPath)['encryptedVersion'];
+
+ // In case of a move operation from an unencrypted to an encrypted
+ // storage the old encrypted version would stay with "0" while the
+ // correct value would be "1". Thus we manually set the value to "1"
+ // for those cases.
+ // See also https://github.com/owncloud/core/issues/23078
+ if($encryptedVersion === 0) {
+ $encryptedVersion = 1;
+ }
+
+ $cacheInformation['encryptedVersion'] = $encryptedVersion;
}
// in case of a rename we need to manipulate the source cache because