diff --git a/src/etc/inc/system.inc b/src/etc/inc/system.inc index 5941a3066..882fa97dd 100644 --- a/src/etc/inc/system.inc +++ b/src/etc/inc/system.inc @@ -600,7 +600,7 @@ function system_staticroutes_configure($interface = '') } } -function system_syslogd_start($verbose = false, $restart = false, $async = false) +function system_syslogd_start($verbose = false) { global $config; @@ -609,17 +609,13 @@ function system_syslogd_start($verbose = false, $restart = false, $async = false flush(); } - if ($async) { - // Loopback in background - configd_run('syslog restart', true); + configd_run('template reload OPNsense/Syslog'); + mwexecf('/usr/local/opnsense/scripts/syslog/generate_certs'); + + if (isvalidpid('/var/run/syslog-ng.pid')) { + mwexecf('/usr/local/sbin/syslog-ng-ctl reload'); } else { - configd_run('template reload OPNsense/Syslog'); - mwexecf("/usr/local/opnsense/scripts/syslog/generate_certs"); - if (!$restart && isvalidpid('/var/run/syslog-ng.pid')) { - mwexecf("/usr/local/sbin/syslog-ng-ctl reload"); - } else { - mwexecf("/usr/sbin/service syslog-ng restart"); - } + mwexecf('/usr/sbin/service syslog-ng restart'); } if ($verbose) { @@ -627,12 +623,9 @@ function system_syslogd_start($verbose = false, $restart = false, $async = false } } -/** - * stop syslog-ng - */ function system_syslogd_stop() { - mwexecf("/usr/sbin/service syslog-ng stop"); + mwexecf('/usr/sbin/service syslog-ng stop'); } /* diff --git a/src/etc/rc.bootup b/src/etc/rc.bootup index 2c373b77c..cd2b5dcb5 100755 --- a/src/etc/rc.bootup +++ b/src/etc/rc.bootup @@ -122,8 +122,11 @@ system_powerd_configure(true); * Give syslogd a kick after everything else has been * initialized, otherwise it can occasionally fail to * route syslog messages properly on both IPv4 and IPv6. + * + * XXX dynamic addressing might not be set up here yet, + * because these events are blocked by /var/run/booting */ -system_syslogd_start(true, true); +system_syslogd_start(true); system_console_unmute(); diff --git a/src/etc/rc.configure_firmware b/src/etc/rc.configure_firmware index 0a8dacc49..a05def2c4 100755 --- a/src/etc/rc.configure_firmware +++ b/src/etc/rc.configure_firmware @@ -48,7 +48,7 @@ convert_config(true); system_firmware_configure(true); system_trust_configure(true); system_login_configure(true); -system_syslogd_start(true, false, true); +system_syslogd_start(true); /* flush user-facing caches */ (new OPNsense\Core\ACL())->invalidateCache(); diff --git a/src/etc/rc.configure_plugins b/src/etc/rc.configure_plugins index ea92c9f27..51d8d110b 100755 --- a/src/etc/rc.configure_plugins +++ b/src/etc/rc.configure_plugins @@ -42,7 +42,7 @@ $script = !empty($argv[1]) ? $argv[1] : 'POST_INSTALL'; /* reload subsystem that may have changed */ if ($script == 'POST_INSTALL') { - system_syslogd_start(true, false, true); + system_syslogd_start(true); } /* flush user-facing caches */ diff --git a/src/www/diag_logs_settings.php b/src/www/diag_logs_settings.php index 6236b18e7..c88084a24 100644 --- a/src/www/diag_logs_settings.php +++ b/src/www/diag_logs_settings.php @@ -36,7 +36,9 @@ require_once("system.inc"); function clear_all_log_files() { - $it = new RecursiveDirectoryIterator("/var/log"); + system_syslogd_stop(); + + $it = new RecursiveDirectoryIterator('/var/log'); foreach(new RecursiveIteratorIterator($it) as $file) { if ($file->isFile() && strpos($file->getFilename(), '.log') > -1) { if (strpos($file->getFilename(), 'flowd') === false) { @@ -44,6 +46,7 @@ function clear_all_log_files() } } } + system_syslogd_start(); plugins_configure('dhcp'); } @@ -107,7 +110,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') { write_config(); - system_syslogd_start(false, true); + system_syslogd_start(); if (($oldnologdefaultblock !== isset($config['syslog']['nologdefaultblock'])) || ($oldnologdefaultpass !== isset($config['syslog']['nologdefaultpass']))