ipfs revision 126744
1#!/bin/sh
2#
3# $NetBSD: ipfs,v 1.3 2002/02/11 13:55:42 lukem Exp $
4# $FreeBSD: head/etc/rc.d/ipfs 126744 2004-03-08 12:25:05Z pjd $
5#
6
7# PROVIDE: ipfs
8# REQUIRE: ipnat
9# BEFORE:  netif
10# KEYWORD: FreeBSD nojail shutdown
11
12. /etc/rc.subr
13
14name="ipfs"
15rcvar=`set_rcvar`
16start_cmd="ipfs_start"
17stop_cmd="ipfs_stop"
18start_precmd="ipfs_prestart"
19
20ipfs_prestart()
21{
22	# Do not continue if either ipnat or ipfilter is not enabled or
23	# if the ipfilter module is not loaded.
24	#
25	if ! checkyesno ipfilter_enable -o ! checkyesno ipnat_enable ; then
26		err 1  "${name} requires either ipfilter or ipnat enabled"
27	fi
28	if ! sysctl net.inet.ipf.fr_pass >/dev/null 2>&1; then
29		err 1 "ipfilter module is not loaded"
30	fi
31	return 0
32}
33
34ipfs_start()
35{
36	if [ -r /var/db/ipf/ipstate.ipf -a -r /var/db/ipf/ipnat.ipf ]; then
37		${ipfs_program} -R ${rc_flags}
38		rm -f /var/db/ipf/ipstate.ipf /var/db/ipf/ipnat.ipf
39	fi
40}
41
42ipfs_stop()
43{
44	if [ ! -d /var/db/ipf ]; then
45		mkdir /var/db/ipf
46		chmod 700 /var/db/ipf
47		chown root:wheel /var/db/ipf
48	fi
49	${ipfs_program} -W ${rc_flags}
50}
51
52load_rc_config $name
53run_rc_command "$1"
54