1#!/bin/sh 2# 3# $NetBSD: rtadvd,v 1.8 2013/07/09 09:34:58 roy Exp $ 4# 5 6# PROVIDE: rtadvd 7# REQUIRE: DAEMON 8# BEFORE: LOGIN 9 10$_rc_subr_loaded . /etc/rc.subr 11 12name=rtadvd 13rcvar=$name 14command="/usr/sbin/$name" 15pidfile="/var/run/$name.pid" 16extra_commands=reload 17start_precmd=rtadvd_prestart 18reload_precmd=rtadvd_prereload 19 20rtadvd_prereload() 21{ 22 local chdir="$(getent passwd _rtadvd | cut -d: -f6)" 23 local conf=/etc/rtadvd.conf myflags o confdir 24 25 [ -z "$chdir" -o "$chdir" = / ] && return 0 26 27 if [ -n "$flags" ]; then 28 myflags=$flags 29 else 30 eval myflags=\$${name}_flags 31 fi 32 set -- ${myflags} 33 while getopts c:dDfM:Rs o; do 34 case "$1" in 35 -c) conf="$OPTARG";; 36 esac 37 shift 38 done 39 confdir=$(dirname "$conf") 40 41 echo "$name: copying $conf to $chdir$conf" 42 cp "$conf" "$chdir$conf" 43 44 # Provide a link to the chrooted dump file 45 ln -snf "$chdir/var/run/$name.dump" /var/run 46} 47 48rtadvd_prestart() 49{ 50 if [ "$ip6mode" != router ]; then 51 warn \ 52 "${name} cannot be used on IPv6 host, only on an IPv6 router." 53 return 1 54 fi 55 56 rtadvd_prereload 57} 58 59load_rc_config $name 60run_rc_command "$1" 61