diff options
-rw-r--r-- | etc/inc/filter.inc | 6 | ||||
-rwxr-xr-x | usr/local/www/diag_logs_settings.php | 2 | ||||
-rwxr-xr-x | usr/local/www/system.php | 9 |
3 files changed, 8 insertions, 9 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc index a8bb169..0b2b883 100644 --- a/etc/inc/filter.inc +++ b/etc/inc/filter.inc @@ -113,7 +113,7 @@ function filter_load_ipfw() { } } -function filter_pflog_start() { +function filter_pflog_start($kill_first = false) { global $config, $g; if ($g['platform'] == 'jail') return; @@ -124,6 +124,10 @@ function filter_pflog_start() { mute_kernel_msgs(); $output = 0; exec("/bin/pgrep -af 'tcpdump -s 256 -v -l -n -e -ttt -i pflog0'", $output, $retval); + if ($kill_first && ($output[0] > 1)) { + mwexec("/bin/kill {$output[0]}"); + usleep(1000); + } if($retval != 0) mwexec_bg("/usr/sbin/tcpdump -s 256 -v -l -n -e -ttt -i pflog0 | logger -t pf -p local0.info"); unmute_kernel_msgs(); diff --git a/usr/local/www/diag_logs_settings.php b/usr/local/www/diag_logs_settings.php index fe4dd69..23c4754 100755 --- a/usr/local/www/diag_logs_settings.php +++ b/usr/local/www/diag_logs_settings.php @@ -129,6 +129,8 @@ if ($_POST) { if ($oldnologdefaultblock !== isset($config['syslog']['nologdefaultblock'])) $retval |= filter_configure(); + filter_pflog_start(true); + $savemsg = get_std_save_message($retval); } } diff --git a/usr/local/www/system.php b/usr/local/www/system.php index 644a87c..10606c7 100755 --- a/usr/local/www/system.php +++ b/usr/local/www/system.php @@ -80,14 +80,7 @@ function is_timezone($elt) { } if($pconfig['timezone'] <> $_POST['timezone']) { - /* restart firewall log dumper helper */ - require_once("functions.inc"); - $pid = `ps awwwux | grep -v "grep" | grep "tcpdump -v -l -n -e -ttt -i pflog0" | awk '{ print $2 }'`; - if($pid) { - mwexec("/bin/kill $pid"); - usleep(1000); - } - filter_pflog_start(); + filter_pflog_start(true); } exec('/usr/bin/tar -tzf /usr/share/zoneinfo.tgz', $timezonelist); |