summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/private/encryption/manager.php27
-rw-r--r--lib/private/encryption/update.php2
-rw-r--r--lib/private/files/storage/wrapper/encryption.php6
-rw-r--r--lib/public/encryption/imanager.php19
4 files changed, 24 insertions, 30 deletions
diff --git a/lib/private/encryption/manager.php b/lib/private/encryption/manager.php
index 8e080507c81..1a42646daf6 100644
--- a/lib/private/encryption/manager.php
+++ b/lib/private/encryption/manager.php
@@ -101,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);
+ }
}
/**
@@ -158,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])) {
@@ -182,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;
}
/**
@@ -195,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() {
diff --git a/lib/private/encryption/update.php b/lib/private/encryption/update.php
index f262099a3c5..a0b0af968c6 100644
--- a/lib/private/encryption/update.php
+++ b/lib/private/encryption/update.php
@@ -137,7 +137,7 @@ class Update {
$allFiles = array($path);
}
- $encryptionModule = $this->encryptionManager->getDefaultEncryptionModule();
+ $encryptionModule = $this->encryptionManager->getEncryptionModule();
foreach ($allFiles as $file) {
$usersSharing = $this->file->getAccessList($file);
diff --git a/lib/private/files/storage/wrapper/encryption.php b/lib/private/files/storage/wrapper/encryption.php
index 0dc59cbb2a0..af48d3475c3 100644
--- a/lib/private/files/storage/wrapper/encryption.php
+++ b/lib/private/files/storage/wrapper/encryption.php
@@ -311,12 +311,10 @@ class Encryption extends Wrapper {
|| $mode === 'wb'
|| $mode === 'wb+'
) {
- if (!empty($encryptionModuleId)) {
+ if ($encryptionEnabled) {
+ // if $encryptionModuleId is empty, the default module will be used
$encryptionModule = $this->encryptionManager->getEncryptionModule($encryptionModuleId);
$shouldEncrypt = $encryptionModule->shouldEncrypt($fullPath);
- } elseif ($encryptionEnabled) {
- $encryptionModule = $this->encryptionManager->getDefaultEncryptionModule();
- $shouldEncrypt = $encryptionModule->shouldEncrypt($fullPath);
}
} else {
// only get encryption module if we found one in the header
diff --git a/lib/public/encryption/imanager.php b/lib/public/encryption/imanager.php
index 3a370710781..0b12c7524d2 100644
--- a/lib/public/encryption/imanager.php
+++ b/lib/public/encryption/imanager.php
@@ -37,7 +37,7 @@ interface IManager {
* @return bool true if enabled, false if not
* @since 8.1.0
*/
- function isEnabled();
+ public function isEnabled();
/**
* Registers an callback function which must return an encryption module instance
@@ -48,7 +48,7 @@ interface IManager {
* @throws ModuleAlreadyExistsException
* @since 8.1.0
*/
- function registerEncryptionModule($id, $displayName, callable $callback);
+ public function registerEncryptionModule($id, $displayName, callable $callback);
/**
* Unregisters an encryption module
@@ -56,7 +56,7 @@ interface IManager {
* @param string $moduleId
* @since 8.1.0
*/
- function unregisterEncryptionModule($moduleId);
+ public function unregisterEncryptionModule($moduleId);
/**
* get a list of all encryption modules
@@ -64,27 +64,26 @@ interface IManager {
* @return array [id => ['id' => $id, 'displayName' => $displayName, 'callback' => callback]]
* @since 8.1.0
*/
- function getEncryptionModules();
+ public function getEncryptionModules();
/**
* get a specific encryption module
*
- * @param string $moduleId
+ * @param string $moduleId Empty to get the default module
* @return IEncryptionModule
* @throws ModuleDoesNotExistsException
* @since 8.1.0
*/
- function getEncryptionModule($moduleId);
+ public function getEncryptionModule($moduleId = '');
/**
- * get default encryption module
+ * get default encryption module Id
*
- * @return \OCP\Encryption\IEncryptionModule
- * @throws ModuleDoesNotExistsException
+ * @return string
* @since 8.1.0
*/
- public function getDefaultEncryptionModule();
+ public function getDefaultEncryptionModuleId();
/**
* set default encryption module Id