Index: pf =================================================================== RCS file: /private/FreeBSD/src/etc/rc.d/pf,v retrieving revision 1.5 diff -u -p -r1.5 pf --- pf 7 Oct 2004 13:55:26 -0000 1.5 +++ pf 25 Oct 2004 07:39:39 -0000 @@ -17,13 +17,15 @@ stop_precmd="test -f ${pf_rules}" start_precmd="pf_prestart" start_cmd="pf_start" stop_cmd="pf_stop" +check_precmd="$stop_precmd" +check_cmd="pf_check" reload_precmd="$stop_precmd" reload_cmd="pf_reload" resync_precmd="$stop_precmd" resync_cmd="pf_resync" status_precmd="$stop_precmd" status_cmd="pf_status" -extra_commands="reload resync status" +extra_commands="check reload resync status" pf_prestart() { @@ -37,8 +39,7 @@ pf_prestart() fi # check for pf rules - if [ ! -r "${pf_rules}" ] - then + if [ ! -r "${pf_rules}" ]; then warn 'pf: NO PF RULESET FOUND' return 1 fi @@ -48,10 +49,7 @@ pf_start() { echo "Enabling pf." ${pf_program:-/sbin/pfctl} -Fa > /dev/null 2>&1 - if [ -r "${pf_rules}" ]; then - ${pf_program:-/sbin/pfctl} \ - -f "${pf_rules}" ${pf_flags} - fi + ${pf_program:-/sbin/pfctl} -f "${pf_rules}" ${pf_flags} if ! ${pf_program:-/sbin/pfctl} -si | grep -q "Enabled" ; then ${pf_program:-/sbin/pfctl} -e fi @@ -65,15 +63,20 @@ pf_stop() fi } +pf_check() +{ + echo "Checking pf rules." + + ${pf_program:-/sbin/pfctl} -n -f "${pf_rules}" +} + pf_reload() { echo "Reloading pf rules." + ${pf_program:-/sbin/pfctl} -n -f "${pf_rules}" || return 1 ${pf_program:-/sbin/pfctl} -Fa > /dev/null 2>&1 - if [ -r "${pf_rules}" ]; then - ${pf_program:-/sbin/pfctl} \ - -f "${pf_rules}" ${pf_flags} - fi + ${pf_program:-/sbin/pfctl} -f "${pf_rules}" ${pf_flags} } pf_resync()