From 5247ab3f3a4bb34278b7a3e46fd8db075269c54a Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Wed, 28 Feb 2024 12:22:56 +0100 Subject: [PATCH] system: move syslog reset function to system include #6830 --- src/etc/inc/plugins.inc.d/core.inc | 1 + src/etc/inc/system.inc | 16 ++++++++++++++++ src/www/diag_logs_settings.php | 18 +----------------- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/etc/inc/plugins.inc.d/core.inc b/src/etc/inc/plugins.inc.d/core.inc index f3c57f811..73debc725 100644 --- a/src/etc/inc/plugins.inc.d/core.inc +++ b/src/etc/inc/plugins.inc.d/core.inc @@ -471,6 +471,7 @@ function core_configure() 'dns_reload' => ['system_resolver_configure'], 'firmware_reload' => ['system_firmware_configure'], 'route_reload' => ['core_routing_batch:2'], + 'syslog_reset' => ['system_syslog_reset'], 'user_changed' => ['core_user_changed_groups:2'], ]; } diff --git a/src/etc/inc/system.inc b/src/etc/inc/system.inc index 8428fb72b..60a6a1647 100644 --- a/src/etc/inc/system.inc +++ b/src/etc/inc/system.inc @@ -812,6 +812,22 @@ function system_syslog_stop() mwexecf('/usr/sbin/service syslog-ng stop'); } +function system_syslog_reset($verbose = false) +{ + $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) { + @unlink((string)$file); + } + } + } + + system_syslog_start($verbose); + plugins_configure('dhcp', $verbose); +} + /* * get_memory() * returns an array listing the amount of diff --git a/src/www/diag_logs_settings.php b/src/www/diag_logs_settings.php index e09286f14..1f93f128b 100644 --- a/src/www/diag_logs_settings.php +++ b/src/www/diag_logs_settings.php @@ -34,22 +34,6 @@ require_once("interfaces.inc"); require_once("filter.inc"); require_once("system.inc"); -function clear_all_log_files() -{ - $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) { - @unlink((string)$file); - } - } - } - - system_syslog_start(); - plugins_configure('dhcp'); -} - function is_valid_syslog_server($target) { return (is_ipaddr($target) || is_ipaddrwithport($target) @@ -70,7 +54,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') { $pconfig['disablelocallogging'] = isset($config['syslog']['disablelocallogging']); } elseif ($_SERVER['REQUEST_METHOD'] === 'POST') { if (!empty($_POST['action']) && $_POST['action'] == "resetlogs") { - clear_all_log_files(); + system_syslog_reset(); $pconfig = $_POST; $savemsg = gettext("The log files have been reset."); } else {