aboutsummaryrefslogtreecommitdiffstats
path: root/apps/encryption/lib
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2019-08-26 15:22:00 +0200
committerRoeland Jago Douma <roeland@famdouma.nl>2019-09-15 12:04:28 +0200
commit16d47b5928a4351aec444ad9a7f90a6e8d2a4676 (patch)
treef28c9118cdcf242e4d4a9f84dc7ce184e02be774 /apps/encryption/lib
parent0a874c51af8dd6652c694f0545489af23d53771a (diff)
downloadnextcloud-server-16d47b5928a4351aec444ad9a7f90a6e8d2a4676.tar.gz
nextcloud-server-16d47b5928a4351aec444ad9a7f90a6e8d2a4676.zip
Fix wrongly mixed mock objects in encryption tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'apps/encryption/lib')
-rw-r--r--apps/encryption/lib/Hooks/UserHooks.php30
-rw-r--r--apps/encryption/lib/Recovery.php22
2 files changed, 19 insertions, 33 deletions
diff --git a/apps/encryption/lib/Hooks/UserHooks.php b/apps/encryption/lib/Hooks/UserHooks.php
index 48815892900..bf3f3f42b47 100644
--- a/apps/encryption/lib/Hooks/UserHooks.php
+++ b/apps/encryption/lib/Hooks/UserHooks.php
@@ -68,7 +68,7 @@ class UserHooks implements IHook {
/**
* @var IUserSession
*/
- private $user;
+ private $userSession;
/**
* @var Util
*/
@@ -93,7 +93,7 @@ class UserHooks implements IHook {
* @param IUserManager $userManager
* @param ILogger $logger
* @param Setup $userSetup
- * @param IUserSession $user
+ * @param IUserSession $userSession
* @param Util $util
* @param Session $session
* @param Crypt $crypt
@@ -103,7 +103,7 @@ class UserHooks implements IHook {
IUserManager $userManager,
ILogger $logger,
Setup $userSetup,
- IUserSession $user,
+ IUserSession $userSession,
Util $util,
Session $session,
Crypt $crypt,
@@ -113,7 +113,7 @@ class UserHooks implements IHook {
$this->userManager = $userManager;
$this->logger = $logger;
$this->userSetup = $userSetup;
- $this->user = $user;
+ $this->userSession = $userSession;
$this->util = $util;
$this->session = $session;
$this->recovery = $recovery;
@@ -253,7 +253,7 @@ class UserHooks implements IHook {
}
// Get existing decrypted private key
- $user = $this->user->getUser();
+ $user = $this->userSession->getUser();
// current logged in user changes his own password
if ($user && $params['uid'] === $user->getUID()) {
@@ -265,7 +265,7 @@ class UserHooks implements IHook {
// Save private key
if ($encryptedPrivateKey) {
- $this->keyManager->setPrivateKey($this->user->getUser()->getUID(),
+ $this->keyManager->setPrivateKey($user->getUID(),
$this->crypt->generateHeader() . $encryptedPrivateKey);
} else {
$this->logger->error('Encryption could not update users encryption password');
@@ -275,8 +275,8 @@ class UserHooks implements IHook {
// private key has not changed, only the passphrase
// used to decrypt it has changed
} else { // admin changed the password for a different user, create new keys and re-encrypt file keys
- $user = $params['uid'];
- $this->initMountPoints($user);
+ $userId = $params['uid'];
+ $this->initMountPoints($userId);
$recoveryPassword = isset($params['recoveryPassword']) ? $params['recoveryPassword'] : null;
$recoveryKeyId = $this->keyManager->getRecoveryKeyId();
@@ -296,9 +296,9 @@ class UserHooks implements IHook {
// ...encryption was activated for the first time (no keys exists)
// ...the user doesn't have any files
if (
- ($this->recovery->isRecoveryEnabledForUser($user) && $recoveryPassword)
- || !$this->keyManager->userHasKeys($user)
- || !$this->util->userHasFiles($user)
+ ($this->recovery->isRecoveryEnabledForUser($userId) && $recoveryPassword)
+ || !$this->keyManager->userHasKeys($userId)
+ || !$this->util->userHasFiles($userId)
) {
// backup old keys
@@ -309,16 +309,16 @@ class UserHooks implements IHook {
$keyPair = $this->crypt->createKeyPair();
// Save public key
- $this->keyManager->setPublicKey($user, $keyPair['publicKey']);
+ $this->keyManager->setPublicKey($userId, $keyPair['publicKey']);
// Encrypt private key with new password
- $encryptedKey = $this->crypt->encryptPrivateKey($keyPair['privateKey'], $newUserPassword, $user);
+ $encryptedKey = $this->crypt->encryptPrivateKey($keyPair['privateKey'], $newUserPassword, $userId);
if ($encryptedKey) {
- $this->keyManager->setPrivateKey($user, $this->crypt->generateHeader() . $encryptedKey);
+ $this->keyManager->setPrivateKey($userId, $this->crypt->generateHeader() . $encryptedKey);
if ($recoveryPassword) { // if recovery key is set we can re-encrypt the key files
- $this->recovery->recoverUsersFiles($recoveryPassword, $user);
+ $this->recovery->recoverUsersFiles($recoveryPassword, $userId);
}
} else {
$this->logger->error('Encryption Could not update users encryption password');
diff --git a/apps/encryption/lib/Recovery.php b/apps/encryption/lib/Recovery.php
index 17533e7b114..f9cdef53f13 100644
--- a/apps/encryption/lib/Recovery.php
+++ b/apps/encryption/lib/Recovery.php
@@ -47,10 +47,6 @@ class Recovery {
*/
protected $crypt;
/**
- * @var ISecureRandom
- */
- private $random;
- /**
* @var KeyManager
*/
private $keyManager;
@@ -59,10 +55,6 @@ class Recovery {
*/
private $config;
/**
- * @var IStorage
- */
- private $keyStorage;
- /**
* @var View
*/
private $view;
@@ -72,29 +64,23 @@ class Recovery {
private $file;
/**
- * @param IUserSession $user
+ * @param IUserSession $userSession
* @param Crypt $crypt
- * @param ISecureRandom $random
* @param KeyManager $keyManager
* @param IConfig $config
- * @param IStorage $keyStorage
* @param IFile $file
* @param View $view
*/
- public function __construct(IUserSession $user,
+ public function __construct(IUserSession $userSession,
Crypt $crypt,
- ISecureRandom $random,
KeyManager $keyManager,
IConfig $config,
- IStorage $keyStorage,
IFile $file,
View $view) {
- $this->user = ($user && $user->isLoggedIn()) ? $user->getUser() : false;
+ $this->user = ($userSession && $userSession->isLoggedIn()) ? $userSession->getUser() : false;
$this->crypt = $crypt;
- $this->random = $random;
$this->keyManager = $keyManager;
$this->config = $config;
- $this->keyStorage = $keyStorage;
$this->view = $view;
$this->file = $file;
}
@@ -169,7 +155,7 @@ class Recovery {
* @return bool
*/
public function isRecoveryEnabledForUser($user = '') {
- $uid = empty($user) ? $this->user->getUID() : $user;
+ $uid = $user === '' ? $this->user->getUID() : $user;
$recoveryMode = $this->config->getUserValue($uid,
'encryption',
'recoveryEnabled',