Don't cache the pkey, skip generation if the keyfile exists

This commit is contained in:
ringmaster 2013-08-26 12:08:23 -04:00
parent 9a263a500a
commit df7bfa4bf0
2 changed files with 11 additions and 13 deletions

View File

@ -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;

View File

@ -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());
}
/**