diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2016-03-16 13:14:36 +0100 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2016-03-16 13:14:36 +0100 |
commit | 2f5b929ee9bccc381455ab1034748c556c172fcc (patch) | |
tree | 2bfaf13af56b2c3886e500c0db42d729fdac0969 /lib/private | |
parent | 09a5b4076bd5ca6c68e554b8987eb231be757752 (diff) | |
parent | 676041ba7edaf668c9e6c1bb6f1c25ff7635960a (diff) | |
download | nextcloud-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.php | 13 |
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 |