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