summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorBjoern Schiessle <schiessle@owncloud.com>2014-08-07 15:26:09 +0200
committerBjoern Schiessle <schiessle@owncloud.com>2014-08-07 15:29:35 +0200
commit0b3ddbed686f345e80dee1fbc8b3567da5d7b85a (patch)
treeb42d7981d23331fe74f2f174f5afa70548aca27a /apps
parentd2365afad6c10a2b365b13296065e99bf13d704f (diff)
downloadnextcloud-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.php9
-rwxr-xr-xapps/files_encryption/lib/helper.php1
-rw-r--r--apps/files_encryption/lib/session.php8
-rw-r--r--apps/files_encryption/templates/settings-personal.php5
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"