summaryrefslogtreecommitdiffstats
path: root/apps/files_encryption/hooks/hooks.php
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2014-02-18 18:31:33 +0100
committerThomas Müller <thomas.mueller@tmit.eu>2014-02-18 18:31:33 +0100
commitc6f4f85e27a10459422ab9789c894d13f0cd34c7 (patch)
tree6b4cf7a304242c5891952b428b3bca950924f309 /apps/files_encryption/hooks/hooks.php
parent9fac95c2ab46a734607657bbad6f164aaa61286f (diff)
parent8991e4505adba2dae8afe7b7941ec744bfe78712 (diff)
downloadnextcloud-server-c6f4f85e27a10459422ab9789c894d13f0cd34c7.tar.gz
nextcloud-server-c6f4f85e27a10459422ab9789c894d13f0cd34c7.zip
Merge branch 'master' into scrutinizer_documentation_patches
Conflicts: lib/private/migration/content.php
Diffstat (limited to 'apps/files_encryption/hooks/hooks.php')
-rw-r--r--apps/files_encryption/hooks/hooks.php29
1 files changed, 17 insertions, 12 deletions
diff --git a/apps/files_encryption/hooks/hooks.php b/apps/files_encryption/hooks/hooks.php
index d2a8290156f..3af43f10264 100644
--- a/apps/files_encryption/hooks/hooks.php
+++ b/apps/files_encryption/hooks/hooks.php
@@ -85,10 +85,9 @@ class Hooks {
$ready = $util->beginMigration();
} elseif ($migrationStatus === Util::MIGRATION_IN_PROGRESS) {
// refuse login as long as the initial encryption is running
- while ($migrationStatus === Util::MIGRATION_IN_PROGRESS) {
- sleep(60);
- $migrationStatus = $util->getMigrationStatus();
- }
+ sleep(5);
+ \OCP\User::logout();
+ return false;
}
// If migration not yet done
@@ -109,21 +108,27 @@ class Hooks {
}
- // Encrypt existing user files:
- if (
- $util->encryptAll('/' . $params['uid'] . '/' . 'files', $session->getLegacyKey(), $params['password'])
- ) {
+ // Encrypt existing user files
+ try {
+ $result = $util->encryptAll('/' . $params['uid'] . '/' . 'files', $session->getLegacyKey(), $params['password']);
+ } catch (\Exception $ex) {
+ \OCP\Util::writeLog('Encryption library', 'Initial encryption failed! Error: ' . $ex->getMessage(), \OCP\Util::FATAL);
+ $util->resetMigrationStatus();
+ \OCP\User::logout();
+ $result = false;
+ }
+
+ if ($result) {
\OC_Log::write(
'Encryption library', 'Encryption of existing files belonging to "' . $params['uid'] . '" completed'
, \OC_Log::INFO
);
- }
-
- // Register successful migration in DB
- $util->finishMigration();
+ // Register successful migration in DB
+ $util->finishMigration();
+ }
}
return true;