summaryrefslogtreecommitdiffstats
path: root/lib/private/encryption/manager.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/private/encryption/manager.php')
-rw-r--r--lib/private/encryption/manager.php48
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;
}