pf revision 180440
164562Sgshapiro#!/bin/sh 264562Sgshapiro# 364562Sgshapiro# $FreeBSD: head/etc/rc.d/pf 180440 2008-07-11 08:11:49Z mtm $ 464562Sgshapiro# 564562Sgshapiro 664562Sgshapiro# PROVIDE: pf 764562Sgshapiro# REQUIRE: FILESYSTEMS netif pflog pfsync 864562Sgshapiro# BEFORE: routing 964562Sgshapiro# KEYWORD: nojail 1064562Sgshapiro 1164562Sgshapiro. /etc/rc.subr 1264562Sgshapiro 1364562Sgshapironame="pf" 1464562Sgshapirorcvar=`set_rcvar` 1564562Sgshapiroload_rc_config $name 1664562Sgshapirostart_cmd="pf_start" 1764562Sgshapirostop_cmd="pf_stop" 1864562Sgshapirocheck_cmd="pf_check" 1964562Sgshapiroreload_cmd="pf_reload" 2064562Sgshapiroresync_cmd="pf_resync" 2164562Sgshapirostatus_cmd="pf_status" 2264562Sgshapiroextra_commands="check reload resync status" 2364562Sgshapirorequired_files="$pf_rules" 2464562Sgshapirorequired_modules="pf" 2564562Sgshapiro 2664562Sgshapiropf_start() 2764562Sgshapiro{ 2864562Sgshapiro [ -z "${rc_quiet}" ] && echo "Enabling pf." 2964562Sgshapiro $pf_program -F all > /dev/null 2>&1 3064562Sgshapiro $pf_program -f "$pf_rules" $pf_flags 3164562Sgshapiro if ! $pf_program -s info | grep -q "Enabled" ; then 3264562Sgshapiro $pf_program -e 3364562Sgshapiro 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 4264562Sgshapiro} 4364562Sgshapiro 4464562Sgshapiropf_check() 4564562Sgshapiro{ 4664562Sgshapiro echo "Checking pf rules." 4764562Sgshapiro $pf_program -n -f "$pf_rules" 4864562Sgshapiro} 4964562Sgshapiro 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 5764562Sgshapiro $pf_program -f "$pf_rules" $pf_flags 5864562Sgshapiro} 5964562Sgshapiro 6064562Sgshapiropf_resync() 6164562Sgshapiro{ 6264562Sgshapiro $pf_program -f "$pf_rules" $pf_flags 6364562Sgshapiro} 6464562Sgshapiro 6564562Sgshapiropf_status() 6664562Sgshapiro{ 6764562Sgshapiro $pf_program -s info 6864562Sgshapiro} 6964562Sgshapiro 7064562Sgshapirorun_rc_command "$1" 7164562Sgshapiro