From 10933cb81351d58ae1002f787fd2fb359c6c89c7 Mon Sep 17 00:00:00 2001 From: Sujith H Date: Mon, 18 Sep 2017 21:12:35 +0530 Subject: [PATCH] [stable10] Fix migration issue caused during upgrade to version 10 This change will help users to fix the migration issue caused during upgrade to version 10. If user had opted user specific key in the older versions then no drop down will appear in the version 10. Same applies if user had opted for the masterkey in older version, no drop down will appear in version 10. Signed-off-by: Sujith H --- .../Migrations/Version20170913113840.php | 49 +++++++++++++++++++ apps/encryption/appinfo/info.xml | 3 +- 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 apps/encryption/appinfo/Migrations/Version20170913113840.php diff --git a/apps/encryption/appinfo/Migrations/Version20170913113840.php b/apps/encryption/appinfo/Migrations/Version20170913113840.php new file mode 100644 index 000000000000..e1b9b500fe2d --- /dev/null +++ b/apps/encryption/appinfo/Migrations/Version20170913113840.php @@ -0,0 +1,49 @@ + + * + * @copyright Copyright (c) 2017, ownCloud GmbH + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * 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, version 3, + * along with this program. If not, see + * + */ + +namespace OCA\Encryption\Migrations; + +use OCP\Migration\ISimpleMigration; +use OCP\Migration\IOutput; + +class Version20170913113840 implements ISimpleMigration { + + /** + * @param IOutput $out + */ + public function run(IOutput $out) { + $installedVersion = \OC::$server->getConfig()->getSystemValue('version', '0.0.0'); + + if (version_compare('10.0.3', $installedVersion, '>=') === true) { + $encryptionEnable = \OC::$server->getAppConfig()->getValue('encryption', 'enabled', 'yes'); + $coreEncryptionEnable = \OC::$server->getAppConfig()->getValue('core', 'encryption_enabled', 'yes'); + $userSpecificKey = \OC::$server->getAppConfig()->getValue('encryption', 'userSpecificKey', ''); + $masterKey = \OC::$server->getAppConfig()->getValue('encryption', 'useMasterKey', ''); + + if (($userSpecificKey === '') && ($masterKey === '') && + ($encryptionEnable === 'yes') && ($coreEncryptionEnable === 'yes')) { + \OC::$server->getConfig()->setAppValue('encryption', 'userSpecificKey', '1'); + } + } + } +} + + diff --git a/apps/encryption/appinfo/info.xml b/apps/encryption/appinfo/info.xml index 3c0e52c792e4..248ef1db4fe0 100644 --- a/apps/encryption/appinfo/info.xml +++ b/apps/encryption/appinfo/info.xml @@ -19,10 +19,11 @@ admin-encryption false - 1.3.0 + 1.3.1 + true openssl