pf revision 197947
13263Sdg#!/bin/sh 23263Sdg# 33263Sdg# $FreeBSD: head/etc/rc.d/pf 197947 2009-10-10 22:17:03Z dougb $ 43263Sdg# 53263Sdg 63263Sdg# PROVIDE: pf 73263Sdg# REQUIRE: FILESYSTEMS netif pflog pfsync 83263Sdg# BEFORE: routing 93263Sdg# KEYWORD: nojail 103263Sdg 113263Sdg. /etc/rc.subr 123263Sdg 133263Sdgname="pf" 143264Sdgrcvar=`set_rcvar` 153264Sdgload_rc_config $name 163263Sdgstart_cmd="pf_start" 173263Sdgstop_cmd="pf_stop" 183263Sdgcheck_cmd="pf_check" 193263Sdgreload_cmd="pf_reload" 203263Sdgresync_cmd="pf_resync" 213263Sdgstatus_cmd="pf_status" 223263Sdgextra_commands="check reload resync status" 233263Sdgrequired_files="$pf_rules" 243263Sdgrequired_modules="pf" 253263Sdg 263263Sdgpf_start() 273263Sdg{ 283263Sdg check_startmsgs && echo -n 'Enabling pf' 293263Sdg $pf_program -F all > /dev/null 2>&1 303263Sdg $pf_program -f "$pf_rules" $pf_flags 313263Sdg if ! $pf_program -s info | grep -q "Enabled" ; then 323263Sdg $pf_program -e 333263Sdg fi 343263Sdg check_startmsgs && echo '.' 353263Sdg} 363263Sdg 373263Sdgpf_stop() 38{ 39 if $pf_program -s info | grep -q "Enabled" ; then 40 echo -n 'Disabling pf' 41 $pf_program -d 42 echo '.' 43 fi 44} 45 46pf_check() 47{ 48 echo "Checking pf rules." 49 $pf_program -n -f "$pf_rules" 50} 51 52pf_reload() 53{ 54 echo "Reloading pf rules." 55 $pf_program -n -f "$pf_rules" || return 1 56 # Flush everything but existing state entries that way when 57 # rules are read in, it doesn't break established connections. 58 $pf_program -Fnat -Fqueue -Frules -FSources -Finfo -FTables -Fosfp > /dev/null 2>&1 59 $pf_program -f "$pf_rules" $pf_flags 60} 61 62pf_resync() 63{ 64 $pf_program -f "$pf_rules" $pf_flags 65} 66 67pf_status() 68{ 69 $pf_program -s info 70} 71 72run_rc_command "$1" 73