pflog revision 136224
1#!/bin/sh 2# 3# $FreeBSD: head/etc/rc.d/pflog 136224 2004-10-07 13:55:26Z mtm $ 4# 5 6# PROVIDE: pflog 7# REQUIRE: root mountcritlocal netif 8# BEFORE: DAEMON LOGIN 9# KEYWORD: nojail 10 11. /etc/rc.subr 12 13name="pflog" 14rcvar=`set_rcvar` 15load_rc_config $name 16stop_precmd="test -x ${pflog_program}" 17start_precmd="pflog_prestart" 18start_cmd="pflog_start" 19stop_cmd="pflog_stop" 20resync_precmd="$stop_precmd" 21resync_cmd="pflog_resync" 22status_precmd="$stop_precmd" 23status_cmd="pflog_status" 24extra_commands="resync status" 25 26pflog_prestart() 27{ 28 # load pflog kernel module if needed 29 if ! kldstat -v | grep -q pflog\$; then 30 if kldload pf; then 31 info 'pflog module loaded.' 32 else 33 err 1 'pflog module failed to load.' 34 fi 35 fi 36 37 # set pflog0 interface to up state 38 if ! ifconfig pflog0 up; then 39 warn 'pflog: COULD NOT SET UP pflog0' 40 fi 41 42 # check for pflogd binary 43 if [ ! -x "${pflog_program:-/sbin/pflogd}" ] 44 then 45 warn 'pflog: NO PFLOGD BINARY FOUND' 46 return 1 47 fi 48} 49 50pflog_start() 51{ 52 echo -n "Enabling pflogd" 53 if ! ${pflog_program:-/sbin/pflogd} ${pflog_flags} \ 54 -f ${pflog_logfile:-/var/log/pflog}; then 55 echo " failed!" 56 else 57 echo "." 58 fi 59} 60 61pflog_stop() 62{ 63 if [ -r /var/run/pflogd.pid ]; then 64 echo "Stopping pflogd." 65 kill `cat /var/run/pflogd.pid` 66 fi 67} 68 69pflog_resync() 70{ 71 if [ -r /var/run/pflogd.pid ]; then 72 kill -SIGHUP `cat /var/run/pflogd.pid` 73 fi 74} 75 76pflog_status() 77{ 78 if [ -r /var/run/pflogd.pid ]; then 79 ps -p `cat /var/run/pflogd.pid` | tail -n 1 80 else 81 echo 'pflogd not running.' 82 fi 83} 84 85run_rc_command "$1" 86