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 12 name=rtadvd 13 rcvar=$name 14 command="/usr/sbin/$name" 15 pidfile="/var/run/$name.pid" 16 extra_commands=reload 17 start_precmd=rtadvd_prestart 18 reload_precmd=rtadvd_prereload 19 20 rtadvd_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 48 rtadvd_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 59 load_rc_config $name 60 run_rc_command "$1" 61