summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorringmaster <epithet@gmail.com>2013-08-26 12:08:23 -0400
committerringmaster <epithet@gmail.com>2013-09-02 09:59:00 -0400
commitdf7bfa4bf03646a4f62758c1b7745e06790ce58d (patch)
tree1ec773a4641e41086b9c11bed41f391687b2a12b
parent9a263a500abb6e6eaf482fcb962fcd9d652e076c (diff)
downloadnextcloud-server-df7bfa4bf03646a4f62758c1b7745e06790ce58d.tar.gz
nextcloud-server-df7bfa4bf03646a4f62758c1b7745e06790ce58d.zip
Don't cache the pkey, skip generation if the keyfile exists
-rw-r--r--apps/files_encryption/hooks/hooks.php17
-rwxr-xr-xapps/files_encryption/lib/helper.php7
2 files changed, 11 insertions, 13 deletions
diff --git a/apps/files_encryption/hooks/hooks.php b/apps/files_encryption/hooks/hooks.php
index de306462d79..85169e6a1d0 100644
--- a/apps/files_encryption/hooks/hooks.php
+++ b/apps/files_encryption/hooks/hooks.php
@@ -36,14 +36,6 @@ class Hooks {
*/
public static function login($params) {
$l = new \OC_L10N('files_encryption');
- //check if all requirements are met
- if(!Helper::checkRequirements() || !Helper::checkConfiguration() ) {
- $error_msg = $l->t("Missing requirements.");
- $hint = $l->t('Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled.');
- \OC_App::disable('files_encryption');
- \OCP\Util::writeLog('Encryption library', $error_msg . ' ' . $hint, \OCP\Util::ERROR);
- \OCP\Template::printErrorPage($error_msg, $hint);
- }
$view = new \OC_FilesystemView('/');
@@ -54,6 +46,15 @@ class Hooks {
$util = new Util($view, $params['uid']);
+ //check if all requirements are met
+ if(!$util->ready() && (!Helper::checkRequirements() || !Helper::checkConfiguration())) {
+ $error_msg = $l->t("Missing requirements.");
+ $hint = $l->t('Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled.');
+ \OC_App::disable('files_encryption');
+ \OCP\Util::writeLog('Encryption library', $error_msg . ' ' . $hint, \OCP\Util::ERROR);
+ \OCP\Template::printErrorPage($error_msg, $hint);
+ }
+
// setup user, if user not ready force relogin
if (Helper::setupUser($util, $params['password']) === false) {
return false;
diff --git a/apps/files_encryption/lib/helper.php b/apps/files_encryption/lib/helper.php
index 10447a07bb8..cb5d5fdfb34 100755
--- a/apps/files_encryption/lib/helper.php
+++ b/apps/files_encryption/lib/helper.php
@@ -277,14 +277,11 @@ class Helper {
/**
* Create an openssl pkey with config-supplied settings
+ * WARNING: This initializes and caches a new private keypair, which is computationally expensive
* @return resource The pkey resource created
*/
public static function getOpenSSLPkey() {
- static $res = null;
- if (is_null($res)) {
- $res = openssl_pkey_new(self::getOpenSSLConfig());
- }
- return $res;
+ return openssl_pkey_new(self::getOpenSSLConfig());
}
/**