pf revision 195026
164562Sgshapiro#!/bin/sh 264562Sgshapiro# 364562Sgshapiro# $FreeBSD: head/etc/rc.d/pf 195026 2009-06-26 01:04:50Z dougb $ 464562Sgshapiro# 564562Sgshapiro 664562Sgshapiro# PROVIDE: pf 764562Sgshapiro# REQUIRE: FILESYSTEMS netif pflog pfsync 864562Sgshapiro# BEFORE: routing 964562Sgshapiro# KEYWORD: nojail 1064562Sgshapiro 1164562Sgshapiro. /etc/rc.subr 1290792Sgshapiro 1390792Sgshapironame="pf" 1490792Sgshapirorcvar=`set_rcvar` 1564562Sgshapiroload_rc_config $name 1690792Sgshapirostart_cmd="pf_start" 1764562Sgshapirostop_cmd="pf_stop" 1890792Sgshapirocheck_cmd="pf_check" 1990792Sgshapiroreload_cmd="pf_reload" 2090792Sgshapiroresync_cmd="pf_resync" 2164562Sgshapirostatus_cmd="pf_status" 2290792Sgshapiroextra_commands="check reload resync status" 2390792Sgshapirorequired_files="$pf_rules" 2490792Sgshapirorequired_modules="pf" 2590792Sgshapiro 2690792Sgshapiropf_start() 2790792Sgshapiro{ 2890792Sgshapiro [ -z "${rc_quiet}" ] && echo "Enabling pf." 2990792Sgshapiro $pf_program -F all > /dev/null 2>&1 3090792Sgshapiro $pf_program -f "$pf_rules" $pf_flags 3190792Sgshapiro if ! $pf_program -s info | grep -q "Enabled" ; then 3290792Sgshapiro $pf_program -e 3390792Sgshapiro fi 3464562Sgshapiro} 3564562Sgshapiro 3664562Sgshapiropf_stop() 3764562Sgshapiro{ 3864562Sgshapiro if $pf_program -s info | grep -q "Enabled" ; then 3964562Sgshapiro [ -z "${rc_quiet}" ] && echo "Disabling pf." 4064562Sgshapiro $pf_program -d 4164562Sgshapiro fi 4290792Sgshapiro} 4364562Sgshapiro 4464562Sgshapiropf_check() 4564562Sgshapiro{ 4664562Sgshapiro echo "Checking pf rules." 4764562Sgshapiro $pf_program -n -f "$pf_rules" 4890792Sgshapiro} 4990792Sgshapiro 5064562Sgshapiropf_reload() 5164562Sgshapiro{ 5264562Sgshapiro echo "Reloading pf rules." 5364562Sgshapiro $pf_program -n -f "$pf_rules" || return 1 5464562Sgshapiro # Flush everything but existing state entries that way when 5564562Sgshapiro # rules are read in, it doesn't break established connections. 5664562Sgshapiro $pf_program -Fnat -Fqueue -Frules -FSources -Finfo -FTables -Fosfp > /dev/null 2>&1 5773188Sgshapiro $pf_program -f "$pf_rules" $pf_flags 5873188Sgshapiro} 5973188Sgshapiro 6073188Sgshapiropf_resync() 6164562Sgshapiro{ 6273188Sgshapiro $pf_program -f "$pf_rules" $pf_flags 6364562Sgshapiro} 6464562Sgshapiro 6564562Sgshapiropf_status() 6664562Sgshapiro{ 6764562Sgshapiro $pf_program -s info 6864562Sgshapiro} 6964562Sgshapiro 7064562Sgshapirorun_rc_command "$1" 7164562Sgshapiro