From 090cfc26f2722ac3036cc7fd1861955bc36f065a Mon Sep 17 00:00:00 2001 From: Michael Kaufmann Date: Sat, 14 Jan 2023 13:09:42 +0100 Subject: [PATCH] set file-log (if enabled) to be in froxlor/logs/ folder; fix ssl param directive for dovecot in Ubuntu Bionic; set version to 2.0.8 Signed-off-by: Michael Kaufmann --- install/froxlor.sql.php | 4 ++-- install/updates/froxlor/update_2.x.inc.php | 14 ++++++++++++++ lib/Froxlor/Froxlor.php | 2 +- lib/Froxlor/FroxlorLogger.php | 10 ++++++++-- lib/configfiles/bionic.xml | 6 +----- lng/de.lng.php | 5 ++++- lng/en.lng.php | 5 ++++- 7 files changed, 34 insertions(+), 12 deletions(-) diff --git a/install/froxlor.sql.php b/install/froxlor.sql.php index 90326c3729..c82e6ad64b 100644 --- a/install/froxlor.sql.php +++ b/install/froxlor.sql.php @@ -696,7 +696,7 @@ ('system', 'distribution', ''), ('system', 'update_channel', 'stable'), ('system', 'updatecheck_data', ''), - ('system', 'update_notify_last', '2.0.7'), + ('system', 'update_notify_last', '2.0.8'), ('system', 'traffictool', 'goaccess'), ('api', 'enabled', '0'), ('2fa', 'enabled', '1'), @@ -740,7 +740,7 @@ ('panel', 'logo_overridetheme', '0'), ('panel', 'logo_overridecustom', '0'), ('panel', 'settings_mode', '0'), - ('panel', 'version', '2.0.7'), + ('panel', 'version', '2.0.8'), ('panel', 'db_version', '202301120'); diff --git a/install/updates/froxlor/update_2.x.inc.php b/install/updates/froxlor/update_2.x.inc.php index 73b3b5d554..a2e8baf0aa 100644 --- a/install/updates/froxlor/update_2.x.inc.php +++ b/install/updates/froxlor/update_2.x.inc.php @@ -330,3 +330,17 @@ Froxlor::updateToDbVersion('202301120'); } + +if (Froxlor::isFroxlorVersion('2.0.7')) { + Update::showUpdateStep("Updating from 2.0.7 to 2.0.8", false); + + // adjust file-logging to be set to froxlor/logs/ + $logtypes = explode(',', Settings::Get('logger.logtypes')); + if (in_array('file', $logtypes)) { + Update::showUpdateStep("Adjusting froxlor logfile for system-logging to be stored in logs/froxlor.log"); + Settings::Set('logger.logfile', 'froxlor.log'); + Update::lastStepStatus(0); + } + + Froxlor::updateToVersion('2.0.8'); +} diff --git a/lib/Froxlor/Froxlor.php b/lib/Froxlor/Froxlor.php index 05485f6dd4..98ce9e7860 100644 --- a/lib/Froxlor/Froxlor.php +++ b/lib/Froxlor/Froxlor.php @@ -31,7 +31,7 @@ final class Froxlor { // Main version variable - const VERSION = '2.0.7'; + const VERSION = '2.0.8'; // Database version (YYYYMMDDC where C is a daily counter) const DBVERSION = '202301120'; diff --git a/lib/Froxlor/FroxlorLogger.php b/lib/Froxlor/FroxlorLogger.php index dcc2eb2f64..4bbd5e099c 100644 --- a/lib/Froxlor/FroxlorLogger.php +++ b/lib/Froxlor/FroxlorLogger.php @@ -100,11 +100,17 @@ protected function __construct($userinfo = []) self::$ml->pushHandler(new SyslogHandler('froxlor', LOG_USER, Logger::DEBUG)); break; case 'file': - $logger_logfile = Settings::Get('logger.logfile'); + $logger_logfile = FileDir::makeCorrectFile(Froxlor::getInstallDir() . '/logs/' . Settings::Get('logger.logfile')); // is_writable needs an existing file to check if it's actually writable @touch($logger_logfile); if (empty($logger_logfile) || !is_writable($logger_logfile)) { - Settings::Set('logger.logfile', '/tmp/froxlor.log'); + Settings::Set('logger.logfile', 'froxlor.log'); + $logger_logfile = FileDir::makeCorrectFile(Froxlor::getInstallDir() . '/logs/froxlor.log'); + @touch($logger_logfile); + if (empty($logger_logfile) || !is_writable($logger_logfile)) { + // not writable in our own directory? Skip + break; + } } self::$ml->pushHandler(new StreamHandler($logger_logfile, Logger::DEBUG)); break; diff --git a/lib/configfiles/bionic.xml b/lib/configfiles/bionic.xml index 6fd9a68b3a..f91b0d5535 100644 --- a/lib/configfiles/bionic.xml +++ b/lib/configfiles/bionic.xml @@ -3458,11 +3458,7 @@ ssl_key = < # auth_ssl_username_from_cert=yes. #ssl_cert_username_field = commonName -# SSL DH parameters -# Generate new params with `openssl dhparam -out /etc/dovecot/dh.pem 4096` -# Or migrate from old ssl-parameters.dat file with the command dovecot -# gives on startup when ssl_dh is unset. -ssl_dh = 'Log-Art(en)', 'description' => 'Wählen Sie hier die gewünschten Logtypen. Für Mehrfachauswahl, halten Sie während der Auswahl STRG gedrückt
Mögliche Logtypen sind: syslog, file, mysql', ], - 'logfile' => 'Log-Datei Pfad inklusive Dateinamen', + 'logfile' => [ + 'title' => 'Dateiname der Logdatei', + 'description' => 'Wird nur verwendet, wenn die Log-Art "file" ausgewählt ist. Diese Datei wird unter froxlor/logs/ geschrieben. Dieser Ordner ist vor Webzugriff geschützt.', + ], 'logcron' => 'Logge Cronjobs', 'logcronoption' => [ 'never' => 'Nie', diff --git a/lng/en.lng.php b/lng/en.lng.php index 14d2756700..d7f7eca7e7 100644 --- a/lng/en.lng.php +++ b/lng/en.lng.php @@ -1613,7 +1613,10 @@ 'title' => 'Log-type(s)', 'description' => 'Specify logtypes. To select multiple types, hold down CTRL while selecting.
Available logtypes are: syslog, file, mysql', ], - 'logfile' => 'Logfile path including filename', + 'logfile' => [ + 'title' => 'Filename for log', + 'description' => 'Only used if log-type includes "file". This file will be created in froxlor/logs/. This folder is protected against public access.', + ], 'logcron' => 'Log cronjobs', 'logcronoption' => [ 'never' => 'Never',