Home | History | Annotate | Line # | Download | only in rc.d
rtadvd revision 1.8
      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