198576Sobrien#!/bin/sh 298576Sobrien# 3113959Smtm# $FreeBSD: releng/10.3/etc/rc.d/ipfs 255450 2013-09-10 13:48:33Z cy $ 498576Sobrien# 598576Sobrien 698576Sobrien# PROVIDE: ipfs 7113959Smtm# REQUIRE: ipnat 8136224Smtm# KEYWORD: nojail shutdown 998576Sobrien 1098576Sobrien. /etc/rc.subr 1198576Sobrien 1298576Sobrienname="ipfs" 13230099Sdougbrcvar="ipfs_enable" 1498576Sobrienstart_cmd="ipfs_start" 1598576Sobrienstop_cmd="ipfs_stop" 16124618Smtmstart_precmd="ipfs_prestart" 1798576Sobrien 18113959Smtmipfs_prestart() 19113959Smtm{ 20113959Smtm # Do not continue if either ipnat or ipfilter is not enabled or 21113959Smtm # if the ipfilter module is not loaded. 22113959Smtm # 23113959Smtm if ! checkyesno ipfilter_enable -o ! checkyesno ipnat_enable ; then 24113959Smtm err 1 "${name} requires either ipfilter or ipnat enabled" 25113959Smtm fi 26255450Scy if ! ${ipfilter_program:-/sbin/ipf} -V | grep -q 'Running: yes' >/dev/null 2>&1; then 27113959Smtm err 1 "ipfilter module is not loaded" 28113959Smtm fi 29113959Smtm return 0 30113959Smtm} 31113959Smtm 3298576Sobrienipfs_start() 3398576Sobrien{ 3498576Sobrien if [ -r /var/db/ipf/ipstate.ipf -a -r /var/db/ipf/ipnat.ipf ]; then 35113959Smtm ${ipfs_program} -R ${rc_flags} 3698576Sobrien rm -f /var/db/ipf/ipstate.ipf /var/db/ipf/ipnat.ipf 3798576Sobrien fi 3898576Sobrien} 3998576Sobrien 4098576Sobrienipfs_stop() 4198576Sobrien{ 4298576Sobrien if [ ! -d /var/db/ipf ]; then 4398576Sobrien mkdir /var/db/ipf 4498576Sobrien chmod 700 /var/db/ipf 4598576Sobrien chown root:wheel /var/db/ipf 4698576Sobrien fi 47113959Smtm ${ipfs_program} -W ${rc_flags} 4898576Sobrien} 4998576Sobrien 5098576Sobrienload_rc_config $name 5198576Sobrienrun_rc_command "$1" 52