11.1Sitojun#!/bin/sh 21.1Sitojun# 31.14Smartin# $NetBSD: pf,v 1.14 2020/09/08 12:52:18 martin Exp $ 41.1Sitojun# 51.1Sitojun 61.1Sitojun# PROVIDE: pf 71.14Smartin# REQUIRE: root bootconf CRITLOCALMOUNTED tty network dhcpcd 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.7Sapb stop_boot 271.5Speter return 1 281.5Speter fi 291.5Speter return 0 301.5Speter} 311.5Speter 321.1Sitojunpf_start() 331.1Sitojun{ 341.1Sitojun echo "Enabling pf firewall." 351.6Speter 361.6Speter # The pf_boot script has enabled pf already. 371.6Speter if [ "$autoboot" != yes ]; then 381.12Sskrll /sbin/pfctl -q ${pf_flags} -e 391.6Speter fi 401.6Speter 411.4Speter if [ -f ${pf_rules} ]; then 421.10Sdarcy /sbin/pfctl -q ${pf_flags} -f ${pf_rules} 431.1Sitojun else 441.4Speter warn "${pf_rules} not found; no pf rules loaded." 451.1Sitojun fi 461.1Sitojun} 471.1Sitojun 481.1Sitojunpf_stop() 491.1Sitojun{ 501.1Sitojun echo "Disabling pf firewall." 511.10Sdarcy /sbin/pfctl -q ${pf_flags} -Fa -d 521.1Sitojun} 531.1Sitojun 541.1Sitojunpf_reload() 551.1Sitojun{ 561.1Sitojun echo "Reloading pf rules." 571.4Speter if [ -f ${pf_rules} ]; then 581.10Sdarcy /sbin/pfctl -q ${pf_flags} -f ${pf_rules} 591.1Sitojun else 601.4Speter warn "${pf_rules} not found; no pf rules loaded." 611.1Sitojun fi 621.1Sitojun} 631.1Sitojun 641.1Sitojunpf_status() 651.1Sitojun{ 661.10Sdarcy /sbin/pfctl ${pf_flags} -s info 671.1Sitojun} 681.1Sitojun 691.1Sitojunload_rc_config $name 701.1Sitojunrun_rc_command "$1" 71