diff options
author | Bjoern Schiessle <schiessle@owncloud.com> | 2014-08-07 15:26:09 +0200 |
---|---|---|
committer | Bjoern Schiessle <schiessle@owncloud.com> | 2014-08-07 15:29:35 +0200 |
commit | 0b3ddbed686f345e80dee1fbc8b3567da5d7b85a (patch) | |
tree | b42d7981d23331fe74f2f174f5afa70548aca27a /apps | |
parent | d2365afad6c10a2b365b13296065e99bf13d704f (diff) | |
download | nextcloud-server-0b3ddbed686f345e80dee1fbc8b3567da5d7b85a.tar.gz nextcloud-server-0b3ddbed686f345e80dee1fbc8b3567da5d7b85a.zip |
add logout hook to remove keys from session
Diffstat (limited to 'apps')
-rw-r--r-- | apps/files_encryption/hooks/hooks.php | 9 | ||||
-rwxr-xr-x | apps/files_encryption/lib/helper.php | 1 | ||||
-rw-r--r-- | apps/files_encryption/lib/session.php | 8 | ||||
-rw-r--r-- | apps/files_encryption/templates/settings-personal.php | 5 |
4 files changed, 19 insertions, 4 deletions
diff --git a/apps/files_encryption/hooks/hooks.php b/apps/files_encryption/hooks/hooks.php index 667be8b9802..bd2268aa048 100644 --- a/apps/files_encryption/hooks/hooks.php +++ b/apps/files_encryption/hooks/hooks.php @@ -123,6 +123,14 @@ class Hooks { }
/**
+ * remove keys from session during logout
+ */
+ public static function logout() {
+ $session = new \OCA\Encryption\Session(new \OC\Files\View());
+ $session->removeKeys();
+ }
+
+ /**
* setup encryption backend upon user created
* @note This method should never be called for users using client side encryption
*/
@@ -173,7 +181,6 @@ class Hooks { * @param array $params keys: uid, password
*/
public static function setPassphrase($params) {
-
if (\OCP\App::isEnabled('files_encryption') === false) {
return true;
}
diff --git a/apps/files_encryption/lib/helper.php b/apps/files_encryption/lib/helper.php index ed42cec326a..214e212b675 100755 --- a/apps/files_encryption/lib/helper.php +++ b/apps/files_encryption/lib/helper.php @@ -49,6 +49,7 @@ class Helper { public static function registerUserHooks() { \OCP\Util::connectHook('OC_User', 'post_login', 'OCA\Encryption\Hooks', 'login'); + \OCP\Util::connectHook('OC_User', 'logout', 'OCA\Encryption\Hooks', 'logout'); \OCP\Util::connectHook('OC_User', 'post_setPassword', 'OCA\Encryption\Hooks', 'setPassphrase'); \OCP\Util::connectHook('OC_User', 'pre_setPassword', 'OCA\Encryption\Hooks', 'preSetPassphrase'); \OCP\Util::connectHook('OC_User', 'post_createUser', 'OCA\Encryption\Hooks', 'postCreateUser'); diff --git a/apps/files_encryption/lib/session.php b/apps/files_encryption/lib/session.php index 4b28f0ce676..84599181ba2 100644 --- a/apps/files_encryption/lib/session.php +++ b/apps/files_encryption/lib/session.php @@ -122,6 +122,14 @@ class Session { } /** + * remove keys from session + */ + public function removeKeys() { + \OC::$session->remove('publicSharePrivateKey'); + \OC::$session->remove('privateKey'); + } + + /** * Sets status of encryption app * @param string $init INIT_SUCCESSFUL, INIT_EXECUTED, NOT_INITIALIZED * @return bool diff --git a/apps/files_encryption/templates/settings-personal.php b/apps/files_encryption/templates/settings-personal.php index 3d44b9fa9a5..832eb75e23d 100644 --- a/apps/files_encryption/templates/settings-personal.php +++ b/apps/files_encryption/templates/settings-personal.php @@ -9,14 +9,13 @@ <p>
<a name="changePKPasswd" />
<label for="changePrivateKeyPasswd">
- <?php p( $l->t( "Your private key password no longer match your log-in password:" ) ); ?>
+ <em><?php p( $l->t( "Your private key password no longer match your log-in password." ) ); ?></em>
</label>
<br />
- <em><?php p( $l->t( "Set your old private key password to your current log-in password." ) ); ?>
+ <?php p( $l->t( "Set your old private key password to your current log-in password:" ) ); ?>
<?php if ( $_["recoveryEnabledForUser"] ):
p( $l->t( " If you don't remember your old password you can ask your administrator to recover your files." ) );
endif; ?>
- </em>
<br />
<input
type="password"
|