summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorBjörn Schießle <schiessle@owncloud.com>2013-05-15 16:13:29 +0200
committerBjörn Schießle <schiessle@owncloud.com>2013-05-15 16:13:29 +0200
commit1f5ed65b121897d683fc1b5aec58938677309c1c (patch)
treeed9e7000668382486b81524e3e515d110d6a9b3c /apps
parent64d94c540aeaba67e2f779b2551c72a80334aa3e (diff)
parent63a790b415d0ad54f5d769976ff5c00f1c8df0eb (diff)
downloadnextcloud-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.php41
-rw-r--r--apps/files_encryption/hooks/hooks.php17
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)