pf revision 195026
1261363Sgshapiro#!/bin/sh 290792Sgshapiro# 390792Sgshapiro# $FreeBSD: head/etc/rc.d/pf 195026 2009-06-26 01:04:50Z dougb $ 490792Sgshapiro# 590792Sgshapiro 690792Sgshapiro# PROVIDE: pf 790792Sgshapiro# REQUIRE: FILESYSTEMS netif pflog pfsync 890792Sgshapiro# BEFORE: routing 9266692Sgshapiro# KEYWORD: nojail 1090792Sgshapiro 11266692Sgshapiro. /etc/rc.subr 1290792Sgshapiro 1390792Sgshapironame="pf" 1490792Sgshapirorcvar=`set_rcvar` 1590792Sgshapiroload_rc_config $name 1690792Sgshapirostart_cmd="pf_start" 1790792Sgshapirostop_cmd="pf_stop" 1890792Sgshapirocheck_cmd="pf_check" 1990792Sgshapiroreload_cmd="pf_reload" 2090792Sgshapiroresync_cmd="pf_resync" 2190792Sgshapirostatus_cmd="pf_status" 2290792Sgshapiroextra_commands="check reload resync status" 2390792Sgshapirorequired_files="$pf_rules" 2490792Sgshapirorequired_modules="pf" 2590792Sgshapiro 26112810Sgshapiropf_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 3490792Sgshapiro} 3590792Sgshapiro 3690792Sgshapiropf_stop() 3790792Sgshapiro{ 3890792Sgshapiro if $pf_program -s info | grep -q "Enabled" ; then 3990792Sgshapiro [ -z "${rc_quiet}" ] && echo "Disabling pf." 4090792Sgshapiro $pf_program -d 4190792Sgshapiro fi 4290792Sgshapiro} 4390792Sgshapiro 4490792Sgshapiropf_check() 4590792Sgshapiro{ 4690792Sgshapiro echo "Checking pf rules." 4790792Sgshapiro $pf_program -n -f "$pf_rules" 4890792Sgshapiro} 4990792Sgshapiro 5090792Sgshapiropf_reload() 5190792Sgshapiro{ 5290792Sgshapiro echo "Reloading pf rules." 5390792Sgshapiro $pf_program -n -f "$pf_rules" || return 1 5490792Sgshapiro # Flush everything but existing state entries that way when 5590792Sgshapiro # rules are read in, it doesn't break established connections. 5690792Sgshapiro $pf_program -Fnat -Fqueue -Frules -FSources -Finfo -FTables -Fosfp > /dev/null 2>&1 5790792Sgshapiro $pf_program -f "$pf_rules" $pf_flags 5890792Sgshapiro} 5990792Sgshapiro 6090792Sgshapiropf_resync() 6190792Sgshapiro{ 6290792Sgshapiro $pf_program -f "$pf_rules" $pf_flags 6390792Sgshapiro} 6490792Sgshapiro 6590792Sgshapiropf_status() 6690792Sgshapiro{ 6790792Sgshapiro $pf_program -s info 6890792Sgshapiro} 6990792Sgshapiro 7090792Sgshapirorun_rc_command "$1" 7190792Sgshapiro