#!/bin/sh # # $NetBSD: rtadvd,v 1.8 2013/07/09 09:34:58 roy Exp $ # # PROVIDE: rtadvd # REQUIRE: DAEMON # BEFORE: LOGIN $_rc_subr_loaded . /etc/rc.subr name=rtadvd rcvar=$name command="/usr/sbin/$name" pidfile="/var/run/$name.pid" extra_commands=reload start_precmd=rtadvd_prestart reload_precmd=rtadvd_prereload rtadvd_prereload() { local chdir="$(getent passwd _rtadvd | cut -d: -f6)" local conf=/etc/rtadvd.conf myflags o confdir [ -z "$chdir" -o "$chdir" = / ] && return 0 if [ -n "$flags" ]; then myflags=$flags else eval myflags=\$${name}_flags fi set -- ${myflags} while getopts c:dDfM:Rs o; do case "$1" in -c) conf="$OPTARG";; esac shift done confdir=$(dirname "$conf") echo "$name: copying $conf to $chdir$conf" cp "$conf" "$chdir$conf" # Provide a link to the chrooted dump file ln -snf "$chdir/var/run/$name.dump" /var/run } rtadvd_prestart() { if [ "$ip6mode" != router ]; then warn \ "${name} cannot be used on IPv6 host, only on an IPv6 router." return 1 fi rtadvd_prereload } load_rc_config $name run_rc_command "$1"