Merge pull request #4708 from owncloud/encryption_fixes
make sure that initial encryption also starts for a fresh installation
This commit is contained in:
commit
e0f18ec72b
|
@ -25,7 +25,9 @@ if (!OC_Config::getValue('maintenance', false)) {
|
|||
// App manager related hooks
|
||||
OCA\Encryption\Helper::registerAppHooks();
|
||||
|
||||
if(!in_array('crypt', stream_get_wrappers())) {
|
||||
stream_wrapper_register('crypt', 'OCA\Encryption\Stream');
|
||||
}
|
||||
|
||||
// check if we are logged in
|
||||
if (OCP\User::isLoggedIn()) {
|
||||
|
|
|
@ -44,16 +44,21 @@ class Hooks {
|
|||
\OC_Util::setupFS($params['uid']);
|
||||
}
|
||||
|
||||
$util = new Util($view, $params['uid']);
|
||||
$privateKey = \OCA\Encryption\Keymanager::getPrivateKey($view, $params['uid']);
|
||||
|
||||
// if no private key exists, check server configuration
|
||||
if(!$privateKey) {
|
||||
//check if all requirements are met
|
||||
if(!$util->ready() && (!Helper::checkRequirements() || !Helper::checkConfiguration())) {
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
$util = new Util($view, $params['uid']);
|
||||
|
||||
// setup user, if user not ready force relogin
|
||||
if (Helper::setupUser($util, $params['password']) === false) {
|
||||
|
|
|
@ -201,10 +201,11 @@ class Util {
|
|||
if (false === $this->recoveryEnabledForUser()) {
|
||||
|
||||
// create database configuration
|
||||
$sql = 'INSERT INTO `*PREFIX*encryption` (`uid`,`mode`,`recovery_enabled`) VALUES (?,?,?)';
|
||||
$sql = 'INSERT INTO `*PREFIX*encryption` (`uid`,`mode`,`recovery_enabled`,`migration_status`) VALUES (?,?,?,?)';
|
||||
$args = array(
|
||||
$this->userId,
|
||||
'server-side',
|
||||
0,
|
||||
0
|
||||
);
|
||||
$query = \OCP\DB::prepare($sql);
|
||||
|
|
Loading…
Reference in New Issue