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