7591311640
as shell script fragments, add example to the route.conf man page of evaluating variables. Remove route.conf man page statement that staticroute is enabled in rc.conf since that's incorrect. Wrap the staticroute while in parens, per <apb> & <christos>, and quote all the arguments for the evals.
53 lines
892 B
Bash
Executable File
53 lines
892 B
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# $NetBSD: staticroute,v 1.6 2012/05/02 15:57:15 gendalia Exp $
|
|
#
|
|
|
|
# PROVIDE: staticroute
|
|
# REQUIRE: network
|
|
# BEFORE: NETWORKING
|
|
|
|
# See the route.conf(5) manual page for details.
|
|
|
|
$_rc_subr_loaded . /etc/rc.subr
|
|
|
|
name="staticroute"
|
|
start_cmd="staticroute_doit Adding add"
|
|
stop_cmd="staticroute_doit Deleting delete"
|
|
|
|
staticroute_doit() {
|
|
retval=0
|
|
|
|
if [ -s /etc/route.conf ]; then
|
|
echo "$1 static routes."
|
|
( while read args; do
|
|
[ -z "$args" ] && continue
|
|
case "$args" in
|
|
"#"*)
|
|
;;
|
|
"+"*)
|
|
if [ $2 = "add" ]; then
|
|
eval "${args#*+}" || retval=1
|
|
fi
|
|
;;
|
|
"-"*)
|
|
if [ $2 = "delete" ]; then
|
|
eval "${args#*-}" || retval=1
|
|
fi
|
|
;;
|
|
"!"*)
|
|
eval "${args#*!}" || retval=1
|
|
;;
|
|
*)
|
|
eval "route -q $2 -$args" || retval=1
|
|
;;
|
|
esac
|
|
done < /etc/route.conf )
|
|
fi
|
|
|
|
return $retval
|
|
}
|
|
|
|
load_rc_config $name
|
|
run_rc_command "$1"
|