diff options
author | Vincent Petry <vincent@nextcloud.com> | 2021-06-24 10:34:55 +0200 |
---|---|---|
committer | Vincent Petry <vincent@nextcloud.com> | 2021-06-29 14:39:51 +0200 |
commit | 6170912acec2d60467dd07e5d0871e68796e1408 (patch) | |
tree | f37ca95321ffbe505cc07d0b539679ec15e6785d /apps/encryption | |
parent | 4e9241c706a9faf9c677439931c0d191f38ad4dc (diff) | |
download | nextcloud-server-6170912acec2d60467dd07e5d0871e68796e1408.tar.gz nextcloud-server-6170912acec2d60467dd07e5d0871e68796e1408.zip |
Fix warnings in FixEncryptedVersion command
Fixed code warnings
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Diffstat (limited to 'apps/encryption')
-rw-r--r-- | apps/encryption/lib/Command/FixEncryptedVersion.php | 39 |
1 files changed, 26 insertions, 13 deletions
diff --git a/apps/encryption/lib/Command/FixEncryptedVersion.php b/apps/encryption/lib/Command/FixEncryptedVersion.php index 39239925850..88a72f43324 100644 --- a/apps/encryption/lib/Command/FixEncryptedVersion.php +++ b/apps/encryption/lib/Command/FixEncryptedVersion.php @@ -26,6 +26,7 @@ use OC\Files\View; use OC\HintException; use OCP\Files\IRootFolder; use OCP\IConfig; +use OCP\ILogger; use OCP\IUserManager; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputArgument; @@ -36,6 +37,9 @@ class FixEncryptedVersion extends Command { /** @var IConfig */ private $config; + /** @var ILogger */ + private $logger; + /** @var IRootFolder */ private $rootFolder; @@ -45,15 +49,16 @@ class FixEncryptedVersion extends Command { /** @var View */ private $view; - public function __construct(IConfig $config, IRootFolder $rootFolder, IUserManager $userManager, View $view) { + public function __construct(IConfig $config, ILogger $logger, IRootFolder $rootFolder, IUserManager $userManager, View $view) { $this->config = $config; + $this->logger = $logger; $this->rootFolder = $rootFolder; $this->userManager = $userManager; $this->view = $view; parent::__construct(); } - protected function configure() { + protected function configure(): void { parent::configure(); $this @@ -76,7 +81,7 @@ class FixEncryptedVersion extends Command { * @param OutputInterface $output * @return int */ - protected function execute(InputInterface $input, OutputInterface $output) { + protected function execute(InputInterface $input, OutputInterface $output): int { $skipSignatureCheck = $this->config->getSystemValue('encryption_skip_signature_check', false); if ($skipSignatureCheck) { @@ -84,7 +89,7 @@ class FixEncryptedVersion extends Command { return 1; } - $user = $input->getArgument('user'); + $user = (string)$input->getArgument('user'); $pathToWalk = "/$user/files"; /** @@ -113,7 +118,7 @@ class FixEncryptedVersion extends Command { * @param OutputInterface $output * @return int 0 for success, 1 for error */ - private function walkPathOfUser($user, $path, OutputInterface $output) { + private function walkPathOfUser($user, $path, OutputInterface $output): int { $this->setupUserFs($user); if (!$this->view->file_exists($path)) { $output->writeln("<error>Path $path does not exist. Please provide a valid path.</error>"); @@ -147,7 +152,7 @@ class FixEncryptedVersion extends Command { * @param OutputInterface $output * @param bool $ignoreCorrectEncVersionCall, setting this variable to false avoids recursion */ - private function verifyFileContent($path, OutputInterface $output, $ignoreCorrectEncVersionCall = true) { + private function verifyFileContent($path, OutputInterface $output, $ignoreCorrectEncVersionCall = true): bool { try { /** * In encryption, the files are read in a block size of 8192 bytes @@ -166,7 +171,7 @@ class FixEncryptedVersion extends Command { return true; } catch (HintException $e) { - \OC::$server->getLogger()->warning("Issue: " . $e->getMessage()); + $this->logger->warning("Issue: " . $e->getMessage()); //If allowOnce is set to false, this becomes recursive. if ($ignoreCorrectEncVersionCall === true) { //Lets rectify the file by correcting encrypted version @@ -182,8 +187,12 @@ class FixEncryptedVersion extends Command { * @param OutputInterface $output * @return bool */ - private function correctEncryptedVersion($path, OutputInterface $output) { + private function correctEncryptedVersion($path, OutputInterface $output): bool { $fileInfo = $this->view->getFileInfo($path); + if (!$fileInfo) { + $output->writeln("<warning>File info not found for file: \"$path\"</warning>"); + return true; + } $fileId = $fileInfo->getId(); $encryptedVersion = $fileInfo->getEncryptedVersion(); $wrongEncryptedVersion = $encryptedVersion; @@ -192,9 +201,13 @@ class FixEncryptedVersion extends Command { $cache = $storage->getCache(); $fileCache = $cache->get($fileId); + if (!$fileCache) { + $output->writeln("<warning>File cache entry not found for file: \"$path\"</warning>"); + return true; + } if ($storage->instanceOfStorage('OCA\Files_Sharing\ISharedStorage')) { - $output->writeln("<info>The file: $path is a share. Hence kindly fix this by running the script for the owner of share</info>"); + $output->writeln("<info>The file: \"$path\" is a share. Please also run the script for the owner of the share</info>"); return true; } @@ -208,7 +221,7 @@ class FixEncryptedVersion extends Command { $cache->put($fileCache->getPath(), $cacheInfo); $output->writeln("<info>Decrement the encrypted version to $encryptedVersion</info>"); if ($this->verifyFileContent($path, $output, false) === true) { - $output->writeln("<info>Fixed the file: $path with version " . $encryptedVersion . "</info>"); + $output->writeln("<info>Fixed the file: \"$path\" with version " . $encryptedVersion . "</info>"); return true; } $encryptedVersion--; @@ -231,7 +244,7 @@ class FixEncryptedVersion extends Command { $cache->put($fileCache->getPath(), $cacheInfo); $output->writeln("<info>Increment the encrypted version to $newEncryptedVersion</info>"); if ($this->verifyFileContent($path, $output, false) === true) { - $output->writeln("<info>Fixed the file: $path with version " . $newEncryptedVersion . "</info>"); + $output->writeln("<info>Fixed the file: \"$path\" with version " . $newEncryptedVersion . "</info>"); return true; } $increment++; @@ -240,7 +253,7 @@ class FixEncryptedVersion extends Command { $cacheInfo = ['encryptedVersion' => $originalEncryptedVersion, 'encrypted' => $originalEncryptedVersion]; $cache->put($fileCache->getPath(), $cacheInfo); - $output->writeln("<info>No fix found for $path, restored version to original: $originalEncryptedVersion</info>"); + $output->writeln("<info>No fix found for \"$path\", restored version to original: $originalEncryptedVersion</info>"); return false; } @@ -249,7 +262,7 @@ class FixEncryptedVersion extends Command { * Setup user file system * @param string $uid */ - private function setupUserFs($uid) { + private function setupUserFs($uid): void { \OC_Util::tearDownFS(); \OC_Util::setupFS($uid); } |