ipfs revision 124616
198576Sobrien#!/bin/sh 298576Sobrien# 398576Sobrien# $NetBSD: ipfs,v 1.3 2002/02/11 13:55:42 lukem Exp $ 4113959Smtm# $FreeBSD: head/etc/rc.d/ipfs 124616 2004-01-17 10:16:38Z mtm $ 598576Sobrien# 698576Sobrien 798576Sobrien# PROVIDE: ipfs 8113959Smtm# REQUIRE: ipnat 9113959Smtm# BEFORE: netif 10124616Smtm# KEYWORD: FreeBSD shutdown 1198576Sobrien 1298576Sobrien. /etc/rc.subr 1398576Sobrien 1498576Sobrienname="ipfs" 15113959Smtmrcvar=`set_rcvar` 1698576Sobrienstart_cmd="ipfs_start" 1798576Sobrienstop_cmd="ipfs_stop" 18113959Smtmcase ${OSTYPE} in 19113959SmtmFreeBSD) 20113959Smtm start_precmd="ipfs_prestart" 21113959Smtm ;; 22113959SmtmNetBSD) 23113959Smtm ipfs_program="/usr/sbin/ipfs" 24113959Smtm ;; 25113959Smtmesac 2698576Sobrien 27113959Smtmipfs_prestart() 28113959Smtm{ 29113959Smtm # Do not continue if either ipnat or ipfilter is not enabled or 30113959Smtm # if the ipfilter module is not loaded. 31113959Smtm # 32113959Smtm if ! checkyesno ipfilter_enable -o ! checkyesno ipnat_enable ; then 33113959Smtm err 1 "${name} requires either ipfilter or ipnat enabled" 34113959Smtm fi 35113959Smtm if ! sysctl net.inet.ipf.fr_pass >/dev/null 2>&1; then 36113959Smtm err 1 "ipfilter module is not loaded" 37113959Smtm fi 38113959Smtm return 0 39113959Smtm} 40113959Smtm 4198576Sobrienipfs_start() 4298576Sobrien{ 4398576Sobrien if [ -r /var/db/ipf/ipstate.ipf -a -r /var/db/ipf/ipnat.ipf ]; then 44113959Smtm ${ipfs_program} -R ${rc_flags} 4598576Sobrien rm -f /var/db/ipf/ipstate.ipf /var/db/ipf/ipnat.ipf 4698576Sobrien fi 4798576Sobrien} 4898576Sobrien 4998576Sobrienipfs_stop() 5098576Sobrien{ 5198576Sobrien if [ ! -d /var/db/ipf ]; then 5298576Sobrien mkdir /var/db/ipf 5398576Sobrien chmod 700 /var/db/ipf 5498576Sobrien chown root:wheel /var/db/ipf 5598576Sobrien fi 56113959Smtm ${ipfs_program} -W ${rc_flags} 5798576Sobrien} 5898576Sobrien 5998576Sobrienload_rc_config $name 6098576Sobrienrun_rc_command "$1" 61