diff options
author | Björn Schießle <schiessle@owncloud.com> | 2013-05-15 16:13:29 +0200 |
---|---|---|
committer | Björn Schießle <schiessle@owncloud.com> | 2013-05-15 16:13:29 +0200 |
commit | 1f5ed65b121897d683fc1b5aec58938677309c1c (patch) | |
tree | ed9e7000668382486b81524e3e515d110d6a9b3c /apps | |
parent | 64d94c540aeaba67e2f779b2551c72a80334aa3e (diff) | |
parent | 63a790b415d0ad54f5d769976ff5c00f1c8df0eb (diff) | |
download | nextcloud-server-1f5ed65b121897d683fc1b5aec58938677309c1c.tar.gz nextcloud-server-1f5ed65b121897d683fc1b5aec58938677309c1c.zip |
Merge branch 'files_encryption' of github.com:owncloud/core into files_encryption
Diffstat (limited to 'apps')
-rw-r--r-- | apps/files_encryption/appinfo/app.php | 41 | ||||
-rw-r--r-- | apps/files_encryption/hooks/hooks.php | 17 |
2 files changed, 25 insertions, 33 deletions
diff --git a/apps/files_encryption/appinfo/app.php b/apps/files_encryption/appinfo/app.php index ec594fd19f1..e56d012fee9 100644 --- a/apps/files_encryption/appinfo/app.php +++ b/apps/files_encryption/appinfo/app.php @@ -26,26 +26,27 @@ OCA\Encryption\Helper::registerFilesystemHooks(); stream_wrapper_register( 'crypt', 'OCA\Encryption\Stream' ); -$view = new OC_FilesystemView( '/' ); - -//$session = new \OCA\Encryption\Session( $view ); -// -//if ( -// ! $session->getPrivateKey( \OCP\USER::getUser() ) -// && OCP\User::isLoggedIn() -// && OCA\Encryption\Crypt::mode() == 'server' -//) { -// -// // Force the user to log-in again if the encryption key isn't unlocked -// // (happens when a user is logged in before the encryption app is -// // enabled) -// OCP\User::logout(); -// -// header( "Location: " . OC::$WEBROOT.'/' ); -// -// exit(); -// -//} +// check if we are logged in +if (OCP\User::isLoggedIn()) { + $view = new OC_FilesystemView('/'); + $session = new \OCA\Encryption\Session($view); + + // check if user has a private key + if ( + !$session->getPrivateKey(\OCP\USER::getUser()) + && OCA\Encryption\Crypt::mode() === 'server' + ) { + + // Force the user to log-in again if the encryption key isn't unlocked + // (happens when a user is logged in before the encryption app is + // enabled) + OCP\User::logout(); + + header("Location: " . OC::$WEBROOT . '/'); + + exit(); + } +} // Register settings scripts OCP\App::registerAdmin( 'files_encryption', 'settings-admin' ); diff --git a/apps/files_encryption/hooks/hooks.php b/apps/files_encryption/hooks/hooks.php index ed254fd8d8b..16e9f9177d7 100644 --- a/apps/files_encryption/hooks/hooks.php +++ b/apps/files_encryption/hooks/hooks.php @@ -52,16 +52,11 @@ class Hooks { if(Helper::setupUser($util, $params['password']) === false) {
return false;
}
-
- \OC_FileProxy::$enabled = false;
-
+
$encryptedKey = Keymanager::getPrivateKey( $view, $params['uid'] );
- \OC_FileProxy::$enabled = true;
-
- //$privateKey = Crypt::symmetricDecryptFileContent( $encryptedKey, $params['password'] );
- $privateKey = Crypt::symmetricDecryptFileContent( $encryptedKey, "helloworld" );
-
+ $privateKey = Crypt::symmetricDecryptFileContent( $encryptedKey, $params['password'] );
+
$session = new Session( $view );
$session->setPrivateKey( $privateKey, $params['uid'] );
@@ -86,13 +81,9 @@ class Hooks { $session->setLegacyKey( $plainLegacyKey );
}
-
- \OC_FileProxy::$enabled = false;
-
+
$publicKey = Keymanager::getPublicKey( $view, $params['uid'] );
- \OC_FileProxy::$enabled = false;
-
// Encrypt existing user files:
// This serves to upgrade old versions of the encryption
// app (see appinfo/spec.txt)
|