Deleted Added
full compact
pf (136224) pf (136942)
1#!/bin/sh
2#
1#!/bin/sh
2#
3# $FreeBSD: head/etc/rc.d/pf 136224 2004-10-07 13:55:26Z mtm $
3# $FreeBSD: head/etc/rc.d/pf 136942 2004-10-25 08:12:28Z pjd $
4#
5
6# PROVIDE: pf
7# REQUIRE: root mountcritlocal netif pflog
8# BEFORE: DAEMON LOGIN
9# KEYWORD: nojail
10
11. /etc/rc.subr
12
13name="pf"
14rcvar=`set_rcvar`
15load_rc_config $name
16stop_precmd="test -f ${pf_rules}"
17start_precmd="pf_prestart"
18start_cmd="pf_start"
19stop_cmd="pf_stop"
4#
5
6# PROVIDE: pf
7# REQUIRE: root mountcritlocal netif pflog
8# BEFORE: DAEMON LOGIN
9# KEYWORD: nojail
10
11. /etc/rc.subr
12
13name="pf"
14rcvar=`set_rcvar`
15load_rc_config $name
16stop_precmd="test -f ${pf_rules}"
17start_precmd="pf_prestart"
18start_cmd="pf_start"
19stop_cmd="pf_stop"
20check_precmd="$stop_precmd"
21check_cmd="pf_check"
20reload_precmd="$stop_precmd"
21reload_cmd="pf_reload"
22resync_precmd="$stop_precmd"
23resync_cmd="pf_resync"
24status_precmd="$stop_precmd"
25status_cmd="pf_status"
22reload_precmd="$stop_precmd"
23reload_cmd="pf_reload"
24resync_precmd="$stop_precmd"
25resync_cmd="pf_resync"
26status_precmd="$stop_precmd"
27status_cmd="pf_status"
26extra_commands="reload resync status"
28extra_commands="check reload resync status"
27
28pf_prestart()
29{
30 # load pf kernel module if needed
31 if ! kldstat -v | grep -q pf\$; then
32 if kldload pf; then
33 info 'pf module loaded.'
34 else
35 err 1 'pf module failed to load.'
36 fi
37 fi
38
39 # check for pf rules
29
30pf_prestart()
31{
32 # load pf kernel module if needed
33 if ! kldstat -v | grep -q pf\$; then
34 if kldload pf; then
35 info 'pf module loaded.'
36 else
37 err 1 'pf module failed to load.'
38 fi
39 fi
40
41 # check for pf rules
40 if [ ! -r "${pf_rules}" ]
41 then
42 if [ ! -r "${pf_rules}" ]; then
42 warn 'pf: NO PF RULESET FOUND'
43 return 1
44 fi
45}
46
47pf_start()
48{
49 echo "Enabling pf."
50 ${pf_program:-/sbin/pfctl} -Fa > /dev/null 2>&1
43 warn 'pf: NO PF RULESET FOUND'
44 return 1
45 fi
46}
47
48pf_start()
49{
50 echo "Enabling pf."
51 ${pf_program:-/sbin/pfctl} -Fa > /dev/null 2>&1
51 if [ -r "${pf_rules}" ]; then
52 ${pf_program:-/sbin/pfctl} \
53 -f "${pf_rules}" ${pf_flags}
54 fi
52 ${pf_program:-/sbin/pfctl} -f "${pf_rules}" ${pf_flags}
55 if ! ${pf_program:-/sbin/pfctl} -si | grep -q "Enabled" ; then
56 ${pf_program:-/sbin/pfctl} -e
57 fi
58}
59
60pf_stop()
61{
62 if ${pf_program:-/sbin/pfctl} -si | grep -q "Enabled" ; then
63 echo "Disabling pf."
64 ${pf_program:-/sbin/pfctl} -d
65 fi
66}
67
53 if ! ${pf_program:-/sbin/pfctl} -si | grep -q "Enabled" ; then
54 ${pf_program:-/sbin/pfctl} -e
55 fi
56}
57
58pf_stop()
59{
60 if ${pf_program:-/sbin/pfctl} -si | grep -q "Enabled" ; then
61 echo "Disabling pf."
62 ${pf_program:-/sbin/pfctl} -d
63 fi
64}
65
66pf_check()
67{
68 echo "Checking pf rules."
69
70 ${pf_program:-/sbin/pfctl} -n -f "${pf_rules}"
71}
72
68pf_reload()
69{
70 echo "Reloading pf rules."
71
73pf_reload()
74{
75 echo "Reloading pf rules."
76
77 ${pf_program:-/sbin/pfctl} -n -f "${pf_rules}" || return 1
72 ${pf_program:-/sbin/pfctl} -Fa > /dev/null 2>&1
78 ${pf_program:-/sbin/pfctl} -Fa > /dev/null 2>&1
73 if [ -r "${pf_rules}" ]; then
74 ${pf_program:-/sbin/pfctl} \
75 -f "${pf_rules}" ${pf_flags}
76 fi
79 ${pf_program:-/sbin/pfctl} -f "${pf_rules}" ${pf_flags}
77}
78
79pf_resync()
80{
81 # Don't resync if pf is not loaded
82 if ! kldstat -v | grep -q pf\$ ; then
83 return
84 fi
85 ${pf_program:-/sbin/pfctl} -f "${pf_rules}" ${pf_flags}
86}
87
88pf_status()
89{
90 ${pf_program:-/sbin/pfctl} -si
91}
92
93run_rc_command "$1"
80}
81
82pf_resync()
83{
84 # Don't resync if pf is not loaded
85 if ! kldstat -v | grep -q pf\$ ; then
86 return
87 fi
88 ${pf_program:-/sbin/pfctl} -f "${pf_rules}" ${pf_flags}
89}
90
91pf_status()
92{
93 ${pf_program:-/sbin/pfctl} -si
94}
95
96run_rc_command "$1"