pf revision 1.6
11.1Sitojun#!/bin/sh 21.1Sitojun# 31.6Speter# $NetBSD: pf,v 1.6 2005/08/23 12:12:56 peter Exp $ 41.1Sitojun# 51.1Sitojun 61.1Sitojun# PROVIDE: pf 71.6Speter# REQUIRE: root beforenetlkm mountcritlocal tty network dhclient 81.6Speter# BEFORE: NETWORKING 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.6Speter 421.6Speter # The pf_boot script has enabled pf already. 431.6Speter if [ "$autoboot" != yes ]; then 441.6Speter /sbin/pfctl -q -e 451.6Speter fi 461.6Speter 471.4Speter if [ -f ${pf_rules} ]; then 481.4Speter /sbin/pfctl -q -f ${pf_rules} 491.1Sitojun else 501.4Speter warn "${pf_rules} not found; no pf rules loaded." 511.1Sitojun fi 521.1Sitojun} 531.1Sitojun 541.1Sitojunpf_stop() 551.1Sitojun{ 561.1Sitojun echo "Disabling pf firewall." 571.3Speter /sbin/pfctl -q -Fa -d 581.1Sitojun} 591.1Sitojun 601.1Sitojunpf_reload() 611.1Sitojun{ 621.1Sitojun echo "Reloading pf rules." 631.4Speter if [ -f ${pf_rules} ]; then 641.4Speter /sbin/pfctl -q -f ${pf_rules} 651.1Sitojun else 661.4Speter warn "${pf_rules} not found; no pf rules loaded." 671.1Sitojun fi 681.1Sitojun} 691.1Sitojun 701.1Sitojunpf_status() 711.1Sitojun{ 721.1Sitojun /sbin/pfctl -s info 731.1Sitojun} 741.1Sitojun 751.1Sitojunload_rc_config $name 761.1Sitojunrun_rc_command "$1" 77