diff options
author | yar <yar@FreeBSD.org> | 2006-07-25 17:25:44 +0000 |
---|---|---|
committer | yar <yar@FreeBSD.org> | 2006-07-25 17:25:44 +0000 |
commit | 14382e740717a32fd9247bcbcf7c7b5ce79c9f12 (patch) | |
tree | 603a31125a88677070448b43cc028f733dcbe321 /etc/rc.d | |
parent | 01293392f343479e4ddf00daf7bcb1e5b6a9867f (diff) | |
download | FreeBSD-src-14382e740717a32fd9247bcbcf7c7b5ce79c9f12.zip FreeBSD-src-14382e740717a32fd9247bcbcf7c7b5ce79c9f12.tar.gz |
Use more rc.subr(8) features.
Skip useless work when ${natd_interface} is unset.
Double quote user-supplied vars unless there is a reason not to.
Diffstat (limited to 'etc/rc.d')
-rw-r--r-- | etc/rc.d/natd | 38 |
1 files changed, 16 insertions, 22 deletions
diff --git a/etc/rc.d/natd b/etc/rc.d/natd index 60e9e15..a99df25 100644 --- a/etc/rc.d/natd +++ b/etc/rc.d/natd @@ -12,8 +12,8 @@ name="natd" rcvar=`set_rcvar` command="/sbin/${name}" +pidfile="/var/run/${name}.pid" start_precmd="natd_precmd" -start_cmd="natd_start" natd_precmd() { @@ -24,31 +24,25 @@ natd_precmd() fi fi - return 0 -} - -natd_start() -{ - dhcp_list="`list_net_interfaces dhcp`" - for ifn in ${dhcp_list}; do - case ${natd_interface} in - ${ifn}) - natd_flags="$natd_flags -dynamic" - ;; - *) - ;; - esac - done if [ -n "${natd_interface}" ]; then - if echo ${natd_interface} | \ - grep -q -E '^[0-9]+(\.[0-9]+){0,3}$'; then - natd_flags="$natd_flags -a ${natd_interface}" + dhcp_list="`list_net_interfaces dhcp`" + for ifn in ${dhcp_list}; do + case "${natd_interface}" in + ${ifn}) + rc_flags="$rc_flags -dynamic" + ;; + esac + done + + if echo "${natd_interface}" | \ + grep -q -E '^[0-9]+(\.[0-9]+){0,3}$'; then + rc_flags="$rc_flags -a ${natd_interface}" else - natd_flags="$natd_flags -n ${natd_interface}" + rc_flags="$rc_flags -n ${natd_interface}" fi fi - echo -n ' natd' - ${natd_program:-/sbin/natd} ${natd_flags} ${natd_ifarg} + + return 0 } load_rc_config $name |