summaryrefslogtreecommitdiffstats
path: root/settings
diff options
context:
space:
mode:
authorBjoern Schiessle <schiessle@owncloud.com>2015-04-01 14:24:56 +0200
committerThomas Müller <thomas.mueller@tmit.eu>2015-04-07 13:30:30 +0200
commita057108c0c1ec77b6f61f6f387c0714c84653254 (patch)
tree97df67d9dc26852d6cc6c4163a5e3d20f00ee3aa /settings
parent51302d58120e9050fb8842cf63cef88620f74203 (diff)
downloadnextcloud-server-a057108c0c1ec77b6f61f6f387c0714c84653254.tar.gz
nextcloud-server-a057108c0c1ec77b6f61f6f387c0714c84653254.zip
make recovery key work
Diffstat (limited to 'settings')
-rw-r--r--settings/changepassword/controller.php37
-rw-r--r--settings/users.php4
2 files changed, 34 insertions, 7 deletions
diff --git a/settings/changepassword/controller.php b/settings/changepassword/controller.php
index 1be30b725df..f041cb5b29f 100644
--- a/settings/changepassword/controller.php
+++ b/settings/changepassword/controller.php
@@ -77,16 +77,43 @@ class Controller {
exit();
}
- if (\OC_App::isEnabled('files_encryption')) {
+ if (\OC_App::isEnabled('encryption')) {
//handle the recovery case
- $util = new \OCA\Files_Encryption\Util(new \OC\Files\View('/'), $username);
- $recoveryAdminEnabled = \OC_Appconfig::getValue('files_encryption', 'recoveryAdminEnabled');
+ $crypt = new \OCA\Encryption\Crypto\Crypt(
+ \OC::$server->getLogger(),
+ \OC::$server->getUserSession(),
+ \OC::$server->getConfig());
+ $keyStorage = \OC::$server->getEncryptionKeyStorage(\OCA\Encryption\Crypto\Encryption::ID);
+ $util = new \OCA\Encryption\Util(
+ new \OC\Files\View(),
+ $crypt,
+ \OC::$server->getLogger(),
+ \OC::$server->getUserSession(),
+ \OC::$server->getConfig());
+ $keyManager = new \OCA\Encryption\KeyManager(
+ $keyStorage,
+ $crypt,
+ \OC::$server->getConfig(),
+ \OC::$server->getUserSession(),
+ new \OCA\Encryption\Session(\OC::$server->getSession()),
+ \OC::$server->getLogger(),
+ $util);
+ $recovery = new \OCA\Encryption\Recovery(
+ \OC::$server->getUserSession(),
+ $crypt,
+ \OC::$server->getSecureRandom(),
+ $keyManager,
+ \OC::$server->getConfig(),
+ $keyStorage,
+ \OC::$server->getEncryptionFilesHelper(),
+ new \OC\Files\View());
+ $recoveryAdminEnabled = $recovery->isRecoveryKeyEnabled();
$validRecoveryPassword = false;
$recoveryEnabledForUser = false;
if ($recoveryAdminEnabled) {
- $validRecoveryPassword = $util->checkRecoveryPassword($recoveryPassword);
- $recoveryEnabledForUser = $util->recoveryEnabledForUser();
+ $validRecoveryPassword = $keyManager->checkRecoveryPassword($recoveryPassword);
+ $recoveryEnabledForUser = $recovery->isRecoveryEnabledForUser();
}
if ($recoveryEnabledForUser && $recoveryPassword === '') {
diff --git a/settings/users.php b/settings/users.php
index 08498edec29..0fc9fbeafc2 100644
--- a/settings/users.php
+++ b/settings/users.php
@@ -45,8 +45,8 @@ $groupsInfo = new \OC\Group\MetaData(OC_User::getUser(), $isAdmin, $groupManager
$groupsInfo->setSorting($groupsInfo::SORT_USERCOUNT);
list($adminGroup, $groups) = $groupsInfo->get();
-$recoveryAdminEnabled = OC_App::isEnabled('files_encryption') &&
- $config->getAppValue( 'files_encryption', 'recoveryAdminEnabled', null );
+$recoveryAdminEnabled = OC_App::isEnabled('encryption') &&
+ $config->getAppValue( 'encryption', 'recoveryAdminEnabled', null );
if($isAdmin) {
$subadmins = OC_SubAdmin::getAllSubAdmins();