Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-1-5]: src/etc/rc.d pull up rev 1.7-1.8 (approved by thorpej):



details:   https://anonhg.NetBSD.org/src/rev/819842b6bb4f
branches:  netbsd-1-5
changeset: 489615:819842b6bb4f
user:      lukem <lukem%NetBSD.org@localhost>
date:      Mon Oct 02 00:37:08 2000 +0000

description:
pull up rev 1.7-1.8 (approved by thorpej):
        - support loading ipf6.conf as well as ipf.conf
        - always use $rcvar to determine the name of the var to checkyesno
        - fix force*

diffstat:

 etc/rc.d/ipfilter |  33 ++++++++++++++++++++-------------
 1 files changed, 20 insertions(+), 13 deletions(-)

diffs (73 lines):

diff -r c10844d68747 -r 819842b6bb4f etc/rc.d/ipfilter
--- a/etc/rc.d/ipfilter Mon Oct 02 00:33:23 2000 +0000
+++ b/etc/rc.d/ipfilter Mon Oct 02 00:37:08 2000 +0000
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $NetBSD: ipfilter,v 1.4.4.1 2000/08/09 18:45:22 lukem Exp $
+# $NetBSD: ipfilter,v 1.4.4.2 2000/10/02 00:37:08 lukem Exp $
 #
 
 # PROVIDE: ipfilter
@@ -9,9 +9,10 @@
 . /etc/rc.subr
 
 name="ipfilter"
+rcvar=$name
 start_precmd="ipfilter_prestart"
 start_cmd="ipfilter_start"
-stop_precmd="checkyesno ipfilter && [ -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"
@@ -21,11 +22,8 @@
 
 ipfilter_prestart()
 {
-       if ! checkyesno ipfilter; then
-               return 1
-       fi
-       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
@@ -43,7 +41,13 @@
 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()
@@ -55,12 +59,15 @@
 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()



Home | Main Index | Thread Index | Old Index