Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/etc/rc.d/ipfilter,v retrieving revision 1.4 retrieving revision 1.5 diff -u -p -r1.4 -r1.5 --- src/etc/rc.d/ipfilter 2000/05/13 08:45:07 1.4 +++ src/etc/rc.d/ipfilter 2000/07/17 12:58:14 1.5 @@ -1,6 +1,6 @@ #!/bin/sh # -# $NetBSD: ipfilter,v 1.4 2000/05/13 08:45:07 lukem Exp $ +# $NetBSD: ipfilter,v 1.5 2000/07/17 12:58:14 lukem Exp $ # # PROVIDE: ipfilter @@ -9,25 +9,30 @@ . /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_start() +ipfilter_prestart() { if ! checkyesno ipfilter; then - return 0 + return 1 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." + warn "/etc/ipf.conf not readable; ipfilter start aborted." + return 1 fi + return 0 +} + +ipfilter_start() +{ echo "Enabling ipfilter." /sbin/ipf -E -Fa -f /etc/ipf.conf } @@ -49,5 +54,10 @@ ipfilter_reload() fi } +ipfilter_status() +{ + /sbin/ipf -V +} + load_rc_config $name run_rc_command "$1"