pf revision 1.5
11.1Sitojun#!/bin/sh 21.1Sitojun# 31.5Speter# $NetBSD: pf,v 1.5 2005/08/10 13:52:05 peter Exp $ 41.1Sitojun# 51.1Sitojun 61.1Sitojun# PROVIDE: pf 71.5Speter# REQUIRE: root beforenetlkm mountcritlocal tty 81.5Speter# BEFORE: network 91.1Sitojun 101.2Smycroft$_rc_subr_loaded . /etc/rc.subr 111.1Sitojun 121.1Sitojunname="pf" 131.1Sitojunrcvar=$name 141.5Speterstart_precmd="pf_prestart" 151.1Sitojunstart_cmd="pf_start" 161.1Sitojunstop_cmd="pf_stop" 171.1Sitojunreload_cmd="pf_reload" 181.1Sitojunstatus_cmd="pf_status" 191.1Sitojunextra_commands="reload status" 201.1Sitojun 211.5Speterpf_prestart() 221.5Speter{ 231.5Speter if [ ! -f ${pf_rules} ]; then 241.5Speter warn "${pf_rules} not readable; pf start aborted." 251.5Speter 261.5Speter # If booting directly to multiuser, send SIGTERM to 271.5Speter # the parent (/etc/rc) to abort the boot 281.5Speter if [ "$autoboot" = yes ]; then 291.5Speter echo "ERROR: ABORTING BOOT (sending SIGTERM to parent)!" 301.5Speter kill -TERM $$ 311.5Speter exit 1 321.5Speter fi 331.5Speter return 1 341.5Speter fi 351.5Speter return 0 361.5Speter} 371.5Speter 381.1Sitojunpf_start() 391.1Sitojun{ 401.1Sitojun echo "Enabling pf firewall." 411.1Sitojun /sbin/pfctl -q -e 421.4Speter if [ -f ${pf_rules} ]; then 431.4Speter /sbin/pfctl -q -f ${pf_rules} 441.1Sitojun else 451.4Speter warn "${pf_rules} not found; no pf rules loaded." 461.1Sitojun fi 471.1Sitojun} 481.1Sitojun 491.1Sitojunpf_stop() 501.1Sitojun{ 511.1Sitojun echo "Disabling pf firewall." 521.3Speter /sbin/pfctl -q -Fa -d 531.1Sitojun} 541.1Sitojun 551.1Sitojunpf_reload() 561.1Sitojun{ 571.1Sitojun echo "Reloading pf rules." 581.4Speter if [ -f ${pf_rules} ]; then 591.4Speter /sbin/pfctl -q -f ${pf_rules} 601.1Sitojun else 611.4Speter warn "${pf_rules} not found; no pf rules loaded." 621.1Sitojun fi 631.1Sitojun} 641.1Sitojun 651.1Sitojunpf_status() 661.1Sitojun{ 671.1Sitojun /sbin/pfctl -s info 681.1Sitojun} 691.1Sitojun 701.1Sitojunload_rc_config $name 711.1Sitojunrun_rc_command "$1" 72