diff options
author | Côme Chilliet <come.chilliet@nextcloud.com> | 2022-08-02 12:47:26 +0200 |
---|---|---|
committer | Côme Chilliet <come.chilliet@nextcloud.com> | 2022-08-02 12:47:26 +0200 |
commit | b20278f70834c8f9eee21ab967dd24e69591cd3c (patch) | |
tree | 1176e9a817f31184fd8458b7684324730671b55e /apps | |
parent | bd467e5d6617f04f3ef4f45a0540915eb0976e46 (diff) | |
download | nextcloud-server-b20278f70834c8f9eee21ab967dd24e69591cd3c.tar.gz nextcloud-server-b20278f70834c8f9eee21ab967dd24e69591cd3c.zip |
Fix encryption:fix-encrypted-version command when encrypted is set to 0
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Diffstat (limited to 'apps')
-rw-r--r-- | apps/encryption/lib/Command/FixEncryptedVersion.php | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/apps/encryption/lib/Command/FixEncryptedVersion.php b/apps/encryption/lib/Command/FixEncryptedVersion.php index b3c0d8c4d16..d4c5eddbfe5 100644 --- a/apps/encryption/lib/Command/FixEncryptedVersion.php +++ b/apps/encryption/lib/Command/FixEncryptedVersion.php @@ -175,6 +175,22 @@ class FixEncryptedVersion extends Command { $handle = $this->view->fopen($path, 'rb'); if (\fread($handle, 9001) !== false) { + $fileInfo = $this->view->getFileInfo($path); + if (!$fileInfo) { + $output->writeln("<warning>File info not found for file: \"$path\"</warning>"); + return true; + } + $encryptedVersion = $fileInfo->getEncryptedVersion(); + $stat = $this->view->stat($path); + if (($encryptedVersion == 0) && isset($stat['hasHeader']) && ($stat['hasHeader'] == true)) { + // The file has encrypted to false but has an encryption header + if ($ignoreCorrectEncVersionCall === true) { + // Lets rectify the file by correcting encrypted version + $output->writeln("<info>Attempting to fix the path: \"$path\"</info>"); + return $this->correctEncryptedVersion($path, $output); + } + return false; + } $output->writeln("<info>The file \"$path\" is: OK</info>"); } |