ipfs revision 124616
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 124616 2004-01-17 10:16:38Z mtm $
5#
6
7# PROVIDE: ipfs
8# REQUIRE: ipnat
9# BEFORE:  netif
10# KEYWORD: FreeBSD shutdown
11
12. /etc/rc.subr
13
14name="ipfs"
15rcvar=`set_rcvar`
16start_cmd="ipfs_start"
17stop_cmd="ipfs_stop"
18case ${OSTYPE} in
19FreeBSD)
20	start_precmd="ipfs_prestart"
21	;;
22NetBSD)
23	ipfs_program="/usr/sbin/ipfs"
24	;;
25esac
26
27ipfs_prestart()
28{
29	# Do not continue if either ipnat or ipfilter is not enabled or
30	# if the ipfilter module is not loaded.
31	#
32	if ! checkyesno ipfilter_enable -o ! checkyesno ipnat_enable ; then
33		err 1  "${name} requires either ipfilter or ipnat enabled"
34	fi
35	if ! sysctl net.inet.ipf.fr_pass >/dev/null 2>&1; then
36		err 1 "ipfilter module is not loaded"
37	fi
38	return 0
39}
40
41ipfs_start()
42{
43	if [ -r /var/db/ipf/ipstate.ipf -a -r /var/db/ipf/ipnat.ipf ]; then
44		${ipfs_program} -R ${rc_flags}
45		rm -f /var/db/ipf/ipstate.ipf /var/db/ipf/ipnat.ipf
46	fi
47}
48
49ipfs_stop()
50{
51	if [ ! -d /var/db/ipf ]; then
52		mkdir /var/db/ipf
53		chmod 700 /var/db/ipf
54		chown root:wheel /var/db/ipf
55	fi
56	${ipfs_program} -W ${rc_flags}
57}
58
59load_rc_config $name
60run_rc_command "$1"
61