diff options
Diffstat (limited to 'lib/private/encryption/manager.php')
-rw-r--r-- | lib/private/encryption/manager.php | 48 |
1 files changed, 32 insertions, 16 deletions
diff --git a/lib/private/encryption/manager.php b/lib/private/encryption/manager.php index 7a3f17519fc..1a42646daf6 100644 --- a/lib/private/encryption/manager.php +++ b/lib/private/encryption/manager.php @@ -22,6 +22,7 @@ namespace OC\Encryption; +use OC\Files\Filesystem; use OC\Files\Storage\Shared; use OC\Files\Storage\Wrapper\Encryption; use OC\Files\View; @@ -100,17 +101,17 @@ class Manager implements IManager { throw new Exceptions\ModuleAlreadyExistsException($id, $displayName); } - $defaultEncryptionModuleId = $this->getDefaultEncryptionModuleId(); - - if (empty($defaultEncryptionModuleId)) { - $this->setDefaultEncryptionModule($id); - } - $this->encryptionModules[$id] = [ 'id' => $id, 'displayName' => $displayName, 'callback' => $callback, ]; + + $defaultEncryptionModuleId = $this->getDefaultEncryptionModuleId(); + + if (empty($defaultEncryptionModuleId)) { + $this->setDefaultEncryptionModule($id); + } } /** @@ -157,7 +158,7 @@ class Manager implements IManager { * @return \OCP\Encryption\IEncryptionModule * @throws Exceptions\ModuleDoesNotExistsException */ - public function getDefaultEncryptionModule() { + protected function getDefaultEncryptionModule() { $defaultModuleId = $this->getDefaultEncryptionModuleId(); if (!empty($defaultModuleId)) { if (isset($this->encryptionModules[$defaultModuleId])) { @@ -181,12 +182,13 @@ class Manager implements IManager { */ public function setDefaultEncryptionModule($moduleId) { try { - $this->config->setAppValue('core', 'default_encryption_module', $moduleId); - return true; + $this->getEncryptionModule($moduleId); } catch (\Exception $e) { return false; } + $this->config->setAppValue('core', 'default_encryption_module', $moduleId); + return true; } /** @@ -194,12 +196,8 @@ class Manager implements IManager { * * @return string */ - protected function getDefaultEncryptionModuleId() { - try { - return $this->config->getAppValue('core', 'default_encryption_module'); - } catch (\Exception $e) { - return ''; - } + public function getDefaultEncryptionModuleId() { + return $this->config->getAppValue('core', 'default_encryption_module'); } public static function setupStorage() { @@ -221,7 +219,25 @@ class Manager implements IManager { $logger = \OC::$server->getLogger(); $uid = $user ? $user->getUID() : null; $fileHelper = \OC::$server->getEncryptionFilesHelper(); - return new Encryption($parameters, $manager, $util, $logger, $fileHelper, $uid); + $keyStorage = \OC::$server->getEncryptionKeyStorage(); + $update = new Update( + new View(), + $util, + Filesystem::getMountManager(), + $manager, + $fileHelper, + $uid + ); + return new Encryption( + $parameters, + $manager, + $util, + $logger, + $fileHelper, + $uid, + $keyStorage, + $update + ); } else { return $storage; } |