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:
parent
b5b6e95c7b
commit
641a3c9378
|
@ -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()
|
||||
|
|
Loading…
Reference in New Issue