Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCôme Chilliet <come.chilliet@nextcloud.com>2022-08-02 13:47:26 +0300
committerbackportbot-nextcloud[bot] <backportbot-nextcloud[bot]@users.noreply.github.com>2022-08-22 12:16:16 +0300
commit6090807d0b44bddd30473f875dcb9002b79dd169 (patch)
tree417bcc279a8c9aab002ceab46f0167cd278bf370 /apps/encryption
parent15d8cc1e36f72dc37c19bc6b8d4b8694cd0aa310 (diff)
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/encryption')
-rw-r--r--apps/encryption/lib/Command/FixEncryptedVersion.php16
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>");
}