From f6efbfcf0bb76e16347748666d0c967ad839c5b2 Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Wed, 29 Oct 2014 12:45:13 +0100 Subject: listen to the post_passwordReset hook, backup the old keys and create a new key pair for the user --- apps/files_encryption/lib/helper.php | 1 + apps/files_encryption/lib/util.php | 12 ++++++++++++ 2 files changed, 13 insertions(+) (limited to 'apps/files_encryption/lib') diff --git a/apps/files_encryption/lib/helper.php b/apps/files_encryption/lib/helper.php index 53c380ab2b3..7a50ade82f3 100644 --- a/apps/files_encryption/lib/helper.php +++ b/apps/files_encryption/lib/helper.php @@ -70,6 +70,7 @@ class Helper { \OCP\Util::connectHook('OC_Filesystem', 'delete', 'OCA\Encryption\Hooks', 'preDelete'); \OCP\Util::connectHook('OC_Filesystem', 'post_umount', 'OCA\Encryption\Hooks', 'postUmount'); \OCP\Util::connectHook('OC_Filesystem', 'umount', 'OCA\Encryption\Hooks', 'preUmount'); + \OCP\Util::connectHook('\OC\Core\LostPassword\Controller\LostController', 'post_passwordReset', 'OCA\Encryption\Hooks', 'postPasswordReset'); } /** diff --git a/apps/files_encryption/lib/util.php b/apps/files_encryption/lib/util.php index c8697ae7c80..d12b003b227 100644 --- a/apps/files_encryption/lib/util.php +++ b/apps/files_encryption/lib/util.php @@ -124,6 +124,18 @@ class Util { } } + /** + * create a new public/private key pair for the user + * + * @param string $password password for the private key + */ + public function replaceUserKeys($password) { + $this->backupAllKeys('password_reset'); + $this->view->unlink($this->publicKeyPath); + $this->view->unlink($this->privateKeyPath); + $this->setupServerSide($password); + } + /** * Sets up user folders and keys for serverside encryption * -- cgit v1.2.3