aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCy Schubert <cy@FreeBSD.org>2025-12-09 23:42:07 +0000
committerCy Schubert <cy@FreeBSD.org>2025-12-10 00:03:38 +0000
commitcc1e4aae5a67a20f3c0fff13612364e6e4404f93 (patch)
tree354b0132f12c1acdceb36cb2704c474f10bf6896
parenta837d1fe49e0255d81c670dc271ff245ae960097 (diff)
rc.d/ipfilter: ipfilter must be enabled for options to take
ipfilter options are erased and reset to default when ipfilter is disabled. This results in nullifying options from rc.conf that were previously set. 8d6feaaaa26f, which added this code, was incorrect as it was for a bug in ipfilter 4.2.28 and no longer applies to ipfilter 5.1.2. Fixes: 8d6feaaaa26f MFC after: 1 day
-rwxr-xr-xlibexec/rc/rc.d/ipfilter9
1 files changed, 3 insertions, 6 deletions
diff --git a/libexec/rc/rc.d/ipfilter b/libexec/rc/rc.d/ipfilter
index 1253294b09cf..a68e6f60a6f2 100755
--- a/libexec/rc/rc.d/ipfilter
+++ b/libexec/rc/rc.d/ipfilter
@@ -33,14 +33,11 @@ required_modules="ipl:ipfilter"
ipfilter_start()
{
echo "Enabling ipfilter."
+ if ! ${ipfilter_program:-/sbin/ipf} -V | grep -q 'Running: yes'; then
+ ${ipfilter_program:-/sbin/ipf} -E
+ fi
if [ -n "${ipfilter_optionlist}" ]; then
- if ${ipfilter_program:-/sbin/ipf} -V | grep -q 'Running: yes'; then
- ${ipfilter_program:-/sbin/ipf} -D
- fi
${ipfilter_program:-/sbin/ipf} -T "${ipfilter_optionlist}"
- ${ipfilter_program:-/sbin/ipf} -E
- elif ! ${ipfilter_program:-/sbin/ipf} -V | grep -q 'Running: yes'; then
- ${ipfilter_program:-/sbin/ipf} -E
fi
${ipfilter_program:-/sbin/ipf} -Fa
if [ -r "${ipfilter_rules}" ]; then