diff options
-rw-r--r-- | etc/inc/filter.inc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc index 133680a..b5f588d 100644 --- a/etc/inc/filter.inc +++ b/etc/inc/filter.inc @@ -250,6 +250,13 @@ function filter_configure_sync() { unlock($filterlck); return; } + /* Brutal ugly hack but required -- PF is stuck, unwedge */ + if(strstr("$rules_error", "busy")) { + exec("/sbin/pfctl -d"); + exec("/sbin/pfctl -e"); + file_notice("pf_busy", "PF was marked busy and has been reset.", "pf_busy", ""); + log_error("PF was marked busy and has been reset."); + } } update_filter_reload_status("Starting up layer7 daemon"); @@ -2283,4 +2290,4 @@ EOD; return($ipfrules); } -?> +?>
\ No newline at end of file |