From 744110905b131998be1dda9f23042572436dfe51 Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Mon, 22 Sep 2014 15:04:55 +0200 Subject: [PATCH] first check if a private key exists, if not it is always a recovery szenario --- apps/files_encryption/hooks/hooks.php | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/apps/files_encryption/hooks/hooks.php b/apps/files_encryption/hooks/hooks.php index ccea51f91f7..866d8a9bd51 100644 --- a/apps/files_encryption/hooks/hooks.php +++ b/apps/files_encryption/hooks/hooks.php @@ -191,13 +191,12 @@ class Hooks { if (Crypt::mode() === 'server') { $view = new \OC\Files\View('/'); + $session = new \OCA\Encryption\Session($view); - if ($params['uid'] === \OCP\User::getUser()) { + // Get existing decrypted private key + $privateKey = $session->getPrivateKey(); - $session = new \OCA\Encryption\Session($view); - - // Get existing decrypted private key - $privateKey = $session->getPrivateKey(); + if ($params['uid'] === \OCP\User::getUser() && $privateKey) { // Encrypt private key with new user pwd as passphrase $encryptedPrivateKey = Crypt::symmetricEncryptFileContent($privateKey, $params['password'], Helper::getCipher());