NetBSD/etc/rc.d/ipnat
lukem bd11504cb2 - only perform the checkyesno on the variable named in $rcvar (rather than
implicitly using $name if $rcvar isn't set), and always perform this check,
  even when using start_cmd (et al).
  this check is performed before the pidcmd
  is run, speeding up scripts that weren't going to be run anyway.
  this should speed up booting slow systems.

- take advantage of the above and remove
	start_precmd="checkyesno foo"
  in scripts that use start_cmd.

- explicitly set rcvar=foo in the rc.d/foo scripts which have an equivalent
  rc.conf entry

- fix `rcvar' and `restart' when $rcvar isn't set.
  these above changes fix PR [bin/11027].

- when doing `force*', ignore the return value of *_precmd.
  this fixes PR [bin/10781].

- rename what sysdb provides from `databases' to `sysdb', to reflect
  the name of the script.

- improve the comments in rc.subr
2000-09-19 13:04:38 +00:00

34 lines
611 B
Bash
Executable File

#!/bin/sh
#
# $NetBSD: ipnat,v 1.6 2000/09/19 13:04:38 lukem Exp $
#
# PROVIDE: ipnat
# REQUIRE: ipfilter mountcritremote
. /etc/rc.subr
name="ipnat"
rcvar=$name
config="/etc/ipnat.conf"
start_cmd="ipnat_start"
stop_cmd="/usr/sbin/ipnat -F -C"
reload_cmd="/usr/sbin/ipnat -F -C -f ${config}"
extra_commands="reload"
ipnat_start()
{
if [ ! -f ${config} ]; then
return 0
fi
if ! checkyesno ipfilter || [ ! -f /etc/ipf.conf ]; then
echo "Enabling ipfilter for NAT."
/sbin/ipf -E -Fa
fi
echo -n "Installing NAT rules ... "
/usr/sbin/ipnat -F -f ${config}
}
load_rc_config $name
run_rc_command "$1"