summaryrefslogtreecommitdiffstats
path: root/apps/files_encryption/ajax
diff options
context:
space:
mode:
authorBjörn Schießle <schiessle@owncloud.com>2013-05-15 16:12:20 +0200
committerBjörn Schießle <schiessle@owncloud.com>2013-05-15 16:12:20 +0200
commit64d94c540aeaba67e2f779b2551c72a80334aa3e (patch)
tree19387991014feffc016e4f1919f214b5400b8d12 /apps/files_encryption/ajax
parent5b160edebba2a10de83b09a8010a811321dd6370 (diff)
downloadnextcloud-server-64d94c540aeaba67e2f779b2551c72a80334aa3e.tar.gz
nextcloud-server-64d94c540aeaba67e2f779b2551c72a80334aa3e.zip
enable admin to change the recovery password
Diffstat (limited to 'apps/files_encryption/ajax')
-rw-r--r--apps/files_encryption/ajax/adminrecovery.php31
1 files changed, 4 insertions, 27 deletions
diff --git a/apps/files_encryption/ajax/adminrecovery.php b/apps/files_encryption/ajax/adminrecovery.php
index 520c7156c89..0ab449709c3 100644
--- a/apps/files_encryption/ajax/adminrecovery.php
+++ b/apps/files_encryption/ajax/adminrecovery.php
@@ -15,30 +15,6 @@ use OCA\Encryption;
$return = false;
-function checkPassword($view, $password, $recoveryKeyId) {
- $pathKey = '/owncloud_private_key/'. $recoveryKeyId . ".private.key";
- $pathControlData = '/control-file/controlfile.enc';
-
- $proxyStatus = \OC_FileProxy::$enabled;
- \OC_FileProxy::$enabled = false;
-
- $recoveryKey = $view->file_get_contents( $pathKey );
-
- $decryptedRecoveryKey = \OCA\Encryption\Crypt::symmetricDecryptFileContent($recoveryKey, $password);
-
- $controlData = $view->file_get_contents($pathControlData);
- $decryptedControlData = \OCA\Encryption\Crypt::keyDecrypt($controlData, $decryptedRecoveryKey);
-
- \OC_FileProxy::$enabled = $proxyStatus;
-
- if ($decryptedControlData === 'ownCloud') {
- return true;
- } else {
- return false;
- }
-}
-
-
// Enable recoveryAdmin
$recoveryKeyId = OC_Appconfig::getValue('files_encryption', 'recoveryKeyId');
@@ -94,7 +70,8 @@ if (isset($_POST['adminEnableRecovery']) && $_POST['adminEnableRecovery'] == 1){
$return = true;
} else { // get recovery key and check the password
- $return = checkPassword($view, $_POST['recoveryPassword'] ,$recoveryKeyId);
+ $util = new \OCA\Encryption\Util(new \OC_FilesystemView('/'), \OCP\User::getUser());
+ $return = $util->checkRecoveryPassword($_POST['recoveryPassword']);
if ($return) {
OC_Appconfig::setValue('files_encryption', 'recoveryAdminEnabled', 1);
}
@@ -105,8 +82,8 @@ if (isset($_POST['adminEnableRecovery']) && $_POST['adminEnableRecovery'] == 1){
isset($_POST['adminEnableRecovery'])
&& 0 == $_POST['adminEnableRecovery']
) {
- $view = new \OC\Files\View('/');
- $return = checkPassword($view, $_POST['recoveryPassword'], $recoveryKeyId);
+ $util = new \OCA\Encryption\Util(new \OC_FilesystemView('/'), \OCP\User::getUser());
+ $return = $util->checkRecoveryPassword($_POST['recoveryPassword']);
if ($return) {
// Set recoveryAdmin as disabled