aboutsummaryrefslogtreecommitdiffstats
path: root/apps/encryption/lib/Command/DisableMasterKey.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/encryption/lib/Command/DisableMasterKey.php')
-rw-r--r--apps/encryption/lib/Command/DisableMasterKey.php84
1 files changed, 26 insertions, 58 deletions
diff --git a/apps/encryption/lib/Command/DisableMasterKey.php b/apps/encryption/lib/Command/DisableMasterKey.php
index 5a07e294248..0b8b8e39e78 100644
--- a/apps/encryption/lib/Command/DisableMasterKey.php
+++ b/apps/encryption/lib/Command/DisableMasterKey.php
@@ -1,26 +1,8 @@
<?php
+
/**
- * @copyright Copyright (c) 2017 Bjoern Schiessle <bjoern@schiessle.org>
- *
- * @author Bjoern Schiessle <bjoern@schiessle.org>
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Joas Schilling <coding@schilljs.com>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\Encryption\Command;
@@ -33,31 +15,15 @@ use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Question\ConfirmationQuestion;
class DisableMasterKey extends Command {
-
- /** @var Util */
- protected $util;
-
- /** @var IConfig */
- protected $config;
-
- /** @var QuestionHelper */
- protected $questionHelper;
-
- /**
- * @param Util $util
- * @param IConfig $config
- * @param QuestionHelper $questionHelper
- */
- public function __construct(Util $util,
- IConfig $config,
- QuestionHelper $questionHelper) {
- $this->util = $util;
- $this->config = $config;
- $this->questionHelper = $questionHelper;
+ public function __construct(
+ protected Util $util,
+ protected IConfig $config,
+ protected QuestionHelper $questionHelper,
+ ) {
parent::__construct();
}
- protected function configure() {
+ protected function configure(): void {
$this
->setName('encryption:disable-master-key')
->setDescription('Disable the master key and use per-user keys instead. Only available for fresh installations with no existing encrypted data! There is no way to enable it again.');
@@ -68,21 +34,23 @@ class DisableMasterKey extends Command {
if (!$isMasterKeyEnabled) {
$output->writeln('Master key already disabled');
- } else {
- $question = new ConfirmationQuestion(
- 'Warning: Only perform this operation for a fresh installations with no existing encrypted data! '
- . 'There is no way to enable the master key again. '
- . 'We strongly recommend to keep the master key, it provides significant performance improvements '
- . 'and is easier to handle for both, users and administrators. '
- . 'Do you really want to switch to per-user keys? (y/n) ', false);
- if ($this->questionHelper->ask($input, $output, $question)) {
- $this->config->setAppValue('encryption', 'useMasterKey', '0');
- $output->writeln('Master key successfully disabled.');
- } else {
- $output->writeln('aborted.');
- return 1;
- }
+ return self::SUCCESS;
+ }
+
+ $question = new ConfirmationQuestion(
+ 'Warning: Only perform this operation for a fresh installations with no existing encrypted data! '
+ . 'There is no way to enable the master key again. '
+ . 'We strongly recommend to keep the master key, it provides significant performance improvements '
+ . 'and is easier to handle for both, users and administrators. '
+ . 'Do you really want to switch to per-user keys? (y/n) ', false);
+
+ if ($this->questionHelper->ask($input, $output, $question)) {
+ $this->config->setAppValue('encryption', 'useMasterKey', '0');
+ $output->writeln('Master key successfully disabled.');
+ return self::SUCCESS;
}
- return 0;
+
+ $output->writeln('aborted.');
+ return self::FAILURE;
}
}