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 revs 1.5-1.6



details:   https://anonhg.NetBSD.org/src/rev/22a74902aa0b
branches:  netbsd-1-5
changeset: 489003:22a74902aa0b
user:      lukem <lukem%NetBSD.org@localhost>
date:      Wed Aug 09 18:45:22 2000 +0000

description:
pull up revs 1.5-1.6
approved by: thorpej

* add support for `status'
* if ipf.conf isn't readable and the system is booting directly to multiuser,
  send SIGTERM to the parent (/etc/rc) so that init(8) aborts the boot.

diffstat:

 etc/rc.d/ipfilter |  43 +++++++++++++++++++++++++++++++------------
 1 files changed, 31 insertions(+), 12 deletions(-)

diffs (73 lines):

diff -r 2bdabcd1d18f -r 22a74902aa0b etc/rc.d/ipfilter
--- a/etc/rc.d/ipfilter Wed Aug 09 18:40:25 2000 +0000
+++ b/etc/rc.d/ipfilter Wed Aug 09 18:45:22 2000 +0000
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $NetBSD: ipfilter,v 1.4 2000/05/13 08:45:07 lukem Exp $
+# $NetBSD: ipfilter,v 1.4.4.1 2000/08/09 18:45:22 lukem Exp $
 #
 
 # PROVIDE: ipfilter
@@ -9,25 +9,39 @@
 . /etc/rc.subr
 
 name="ipfilter"
+start_precmd="ipfilter_prestart"
 start_cmd="ipfilter_start"
 stop_precmd="checkyesno ipfilter && [ -f /etc/ipf.conf ]"
 stop_cmd="ipfilter_stop"
 reload_precmd="$stop_precmd"
 reload_cmd="ipfilter_reload"
-extra_commands="reload"
+status_precmd="$stop_precmd"
+status_cmd="ipfilter_status"
+extra_commands="reload status"
+
+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 booting directly to multiuser, send SIGTERM to
+                       # the parent (/etc/rc) to abort the boot
+                       #
+               if [ "$autoboot" = yes ]; then
+                       echo "ERROR: ABORTING BOOT (sending SIGTERM to parent)!"
+                       kill -TERM $$
+                       exit 1
+               fi
+               return 1
+       fi
+       return 0
+}
 
 ipfilter_start()
 {
-       if ! checkyesno ipfilter; then
-               return 0
-       fi
-
-       #       if /etc/ipf.conf isn't readable, abort the boot rather
-       #       than risk a security problem
-       #
-       if [ ! -f /etc/ipf.conf ]; then
-               err 1 "/etc/ipf.conf not readable; ipfilter start aborted."
-       fi
        echo "Enabling ipfilter."
        /sbin/ipf -E -Fa -f /etc/ipf.conf
 }
@@ -49,5 +63,10 @@
        fi
 }
 
+ipfilter_status()
+{
+       /sbin/ipf -V
+}
+
 load_rc_config $name
 run_rc_command "$1"



Home | Main Index | Thread Index | Old Index