support loading ipf6.conf as well as ipf.conf.

inspired by [misc/11033] by Gregory McGarry <g.mcgarry@ieee.org>
This commit is contained in:
lukem 2000-10-01 05:58:06 +00:00
parent b5b6e95c7b
commit 641a3c9378
1 changed files with 19 additions and 10 deletions

View File

@ -1,6 +1,6 @@
#!/bin/sh
#
# $NetBSD: ipfilter,v 1.7 2000/09/19 13:04:38 lukem Exp $
# $NetBSD: ipfilter,v 1.8 2000/10/01 05:58:06 lukem Exp $
#
# PROVIDE: ipfilter
@ -12,7 +12,7 @@ name="ipfilter"
rcvar=$name
start_precmd="ipfilter_prestart"
start_cmd="ipfilter_start"
stop_precmd="test -f /etc/ipf.conf"
stop_precmd="test -f /etc/ipf.conf -o -f /etc/ipf6.conf"
stop_cmd="ipfilter_stop"
reload_precmd="$stop_precmd"
reload_cmd="ipfilter_reload"
@ -22,8 +22,8 @@ extra_commands="reload status"
ipfilter_prestart()
{
if [ ! -f /etc/ipf.conf ]; then
warn "/etc/ipf.conf not readable; ipfilter start aborted."
if [ ! -f /etc/ipf.conf -a ! -f /etc/ipf6.conf ]; then
warn "/etc/ipf*.conf not readable; ipfilter start aborted."
#
# If booting directly to multiuser, send SIGTERM to
# the parent (/etc/rc) to abort the boot
@ -41,7 +41,13 @@ ipfilter_prestart()
ipfilter_start()
{
echo "Enabling ipfilter."
/sbin/ipf -E -Fa -f /etc/ipf.conf
/sbin/ipf -E -Fa
if [ -f /etc/ipf.conf ]; then
/sbin/ipf -f /etc/ipf.conf
fi
if [ -f /etc/ipf6.conf ]; then
/sbin/ipf -6 -f /etc/ipf6.conf
fi
}
ipfilter_stop()
@ -53,12 +59,15 @@ ipfilter_stop()
ipfilter_reload()
{
echo "Reloading ipfilter rules."
/sbin/ipf -I -Fa -f /etc/ipf.conf
if [ $? -eq 0 ]; then
/sbin/ipf -s
else
warn "Reload failed; not swapping to new ruleset."
/sbin/ipf -I -Fa
if [ -f /etc/ipf.conf ] && ! /sbin/ipf -I -f /etc/ipf.conf; then
err 1 "reload of ipf.conf failed; not swapping to new ruleset."
fi
if [ -f /etc/ipf6.conf ] && ! /sbin/ipf -I -6 -f /etc/ipf6.conf; then
err 1 "reload of ipf6.conf failed; not swapping to new ruleset."
fi
/sbin/ipf -s
}
ipfilter_status()