470062ac3b
- utilize default methods instead of rolling local ones; - avoid to specify BEFORE conditions we don't really need (pflog will be REQUIRE'd by pf); - omit extra decoration from warning messages, warn() will decorate them sufficiently.
65 lines
1.0 KiB
Bash
65 lines
1.0 KiB
Bash
#!/bin/sh
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
# PROVIDE: pflog
|
|
# REQUIRE: root mountcritlocal netif cleanvar
|
|
# KEYWORD: nojail
|
|
|
|
. /etc/rc.subr
|
|
|
|
name="pflog"
|
|
rcvar=`set_rcvar`
|
|
command="/sbin/pflogd"
|
|
pidfile="/var/run/pflogd.pid"
|
|
start_precmd="pflog_prestart"
|
|
stop_postcmd="pflog_poststop"
|
|
extra_commands="reload resync"
|
|
|
|
# for backward compatibility
|
|
resync_cmd="pflog_resync"
|
|
|
|
pflog_prestart()
|
|
{
|
|
# load pflog kernel module if needed
|
|
if ! kldstat -q -m pflog; then
|
|
if kldload pf; then
|
|
info 'pf module loaded.'
|
|
else
|
|
warn 'pf module failed to load.'
|
|
return 1
|
|
fi
|
|
fi
|
|
|
|
# set pflog0 interface to up state
|
|
if ! ifconfig pflog0 up; then
|
|
warn 'could not not bring up pflog0.'
|
|
return 1
|
|
fi
|
|
|
|
# prepare the command line for pflogd
|
|
rc_flags="-f $pflog_logfile $rc_flags"
|
|
|
|
# report we're ready to run pflogd
|
|
return 0
|
|
}
|
|
|
|
pflog_poststop()
|
|
{
|
|
if ! ifconfig pflog0 down; then
|
|
warn 'could not bring down pflog0.'
|
|
return 1
|
|
fi
|
|
return 0
|
|
}
|
|
|
|
# for backward compatibility
|
|
pflog_resync()
|
|
{
|
|
run_rc_command reload
|
|
}
|
|
|
|
load_rc_config $name
|
|
run_rc_command "$1"
|