From b267458f7ed25fe33e0af26f1c3b6efe1a4b25a0 Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Fri, 13 May 2022 17:06:30 +0200 Subject: [PATCH] Resolve #389 --- .../v/0.0.0/app/libraries/RainLoop/Actions.php | 10 ++++++++++ .../0.0.0/app/libraries/RainLoop/ActionsAdmin.php | 15 --------------- .../libraries/RainLoop/Config/AbstractConfig.php | 7 +------ 3 files changed, 11 insertions(+), 21 deletions(-) diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php index c18da492f..99eae2fb0 100644 --- a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php +++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php @@ -762,6 +762,16 @@ class Actions $aResult['ContactsPdoPassword'] = (string)APP_DUMMY; $aResult['WeakPassword'] = \is_file(APP_PRIVATE_DATA.'admin_password.txt'); + } else { + $passfile = APP_PRIVATE_DATA.'admin_password.txt'; + $sPassword = $oConfig->Get('security', 'admin_password', ''); + if (!$sPassword) { + $sPassword = \substr(\base64_encode(\random_bytes(16)), 0, 12); + Utils::saveFile($passfile, $sPassword . "\n"); +// \chmod($passfile, 0600); + $oConfig->SetPassword($sPassword); + $oConfig->Save(); + } } $aResult['LanguageAdmin'] = $this->ValidateLanguage($oConfig->Get('webmail', 'language_admin', 'en'), '', true); diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/ActionsAdmin.php b/snappymail/v/0.0.0/app/libraries/RainLoop/ActionsAdmin.php index 3aa05bc75..90a5bfe34 100644 --- a/snappymail/v/0.0.0/app/libraries/RainLoop/ActionsAdmin.php +++ b/snappymail/v/0.0.0/app/libraries/RainLoop/ActionsAdmin.php @@ -661,21 +661,6 @@ class ActionsAdmin extends Actions return $this->DefaultResponse(__FUNCTION__, true); } - public function AppData(bool $bAdmin): array - { - $oConfig = $this->oConfig; - $passfile = APP_PRIVATE_DATA.'admin_password.txt'; - $sPassword = $oConfig->Get('security', 'admin_password', ''); - if (!$sPassword) { - $sPassword = \substr(\base64_encode(\random_bytes(16)), 0, 12); - Utils::saveFile($passfile, $sPassword . "\n"); -// \chmod($passfile, 0600); - $oConfig->SetPassword($sPassword); - $oConfig->Save(); - } - return parent::AppData($bAdmin); - } - private function setAdminAuthToken(string $sToken) : void { Utils::SetCookie(static::$AUTH_ADMIN_TOKEN_KEY, $sToken, 0); diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Config/AbstractConfig.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Config/AbstractConfig.php index a3e8672b5..84fad5f3d 100644 --- a/snappymail/v/0.0.0/app/libraries/RainLoop/Config/AbstractConfig.php +++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Config/AbstractConfig.php @@ -177,11 +177,6 @@ abstract class AbstractConfig implements \JsonSerializable return false; } - public function IsFileExists() : bool - { - return \file_exists($this->sFile); - } - public function Load() : bool { if (\file_exists($this->sFile) && \is_readable($this->sFile)) @@ -233,7 +228,7 @@ abstract class AbstractConfig implements \JsonSerializable } } - return false; + return $this->Save(); } public function Save() : bool