diff options
Diffstat (limited to 'etc/inc/filter.inc')
-rw-r--r-- | etc/inc/filter.inc | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc index ece6b04..6075091 100644 --- a/etc/inc/filter.inc +++ b/etc/inc/filter.inc @@ -349,17 +349,17 @@ function filter_configure_sync($delete_states_if_needed = true) { layer7_start_l7daemon(); if(!empty($filterdns)) { - $filterdnsfd = fopen("{$g['varetc_path']}/filterdns.conf", "w"); - if($filterdnsfd) { - fwrite($filterdnsfd, $filterdns); - fclose($filterdnsfd); + @file_put_contents("{$g['varetc_path']}/filterdns.conf", $filterdns); + if (isvalidpid("{$g['tmp_path']}/filterdns.pid")) + sigkillbypid("{$g['tmp_path']}/filterdns.pid", "HUP"); + else { + killbypid("{$g['tmp_path']}/filterdns.pid"); + /* + * FilterDNS has three debugging levels. The default choosen is 1. + * Availabe are level 2 and greater then 2. + */ + mwexec("/usr/local/sbin/filterdns -p {$g['tmp_path']}/filterdns.pid -i 300 -c {$g['varetc_path']}/filterdns.conf -d 1"); } - killbypid("{$g['tmp_path']}/filterdns.pid"); - /* - * FilterDNS has three debugging levels. The default choosen is 1. - * Availabe are level 2 and greater then 2. - */ - mwexec("/usr/local/sbin/filterdns -p {$g['tmp_path']}/filterdns.pid -i 300 -c {$g['varetc_path']}/filterdns.conf -d 1"); } /* run items scheduled for after filter configure run */ |