[Midnightbsd-cvs] src [6616] trunk/etc/rc.subr: reserved vars
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Sun Mar 16 17:28:10 EDT 2014
Revision: 6616
http://svnweb.midnightbsd.org/src/?rev=6616
Author: laffer1
Date: 2014-03-16 17:28:10 -0400 (Sun, 16 Mar 2014)
Log Message:
-----------
reserved vars
Modified Paths:
--------------
trunk/etc/rc.subr
Modified: trunk/etc/rc.subr
===================================================================
--- trunk/etc/rc.subr 2014-03-08 21:36:04 UTC (rev 6615)
+++ trunk/etc/rc.subr 2014-03-16 21:28:10 UTC (rev 6616)
@@ -32,7 +32,6 @@
# functions used by various rc scripts
#
-: ${rcvar_manpage:='rc.conf(5)'}
: ${RC_PID:=$$}; export RC_PID
#
@@ -108,10 +107,7 @@
rcvars_obsolete="${rcvars_obsolete# } $1"
eval ${1}_newvar=\"$2\"
- case $# in
- 2)
- shift 2
- esac
+ shift 2
eval ${_var}_obsolete_msg=\"$*\"
}
@@ -162,7 +158,7 @@
return 1
;;
*)
- warn "\$${1} is not set properly - see ${rcvar_manpage}."
+ warn "\$${1} is not set properly - see rc.conf(5)."
return 1
;;
esac
@@ -306,8 +302,8 @@
_pref=
if [ $_interpreter != "." ]; then # an interpreted script
- _script=${_chroot}${_chroot:+"/"}$_procname
- if [ -r $_script ]; then
+ _script="${_chroot}${_chroot:+/}$_procname"
+ if [ -r "$_script" ]; then
read _interp < $_script # read interpreter name
case "$_interp" in
\#!*)
@@ -335,7 +331,7 @@
_interpbn=${1##*/}
_fp_args='_argv'
_fp_match='case "$_argv" in
- ${_interp}|"${_interp} "*|"${_interpbn}: ${_procname}"*)'
+ ${_interp}|"${_interp} "*|"[${_interpbn}]"|"${_interpbn}: ${_procname}"*)'
else # a normal daemon
_procnamebn=${_procname##*/}
_fp_args='_arg0 _argv'
@@ -507,6 +503,8 @@
# NOTE: $flags from the parent environment
# can be used to override this.
#
+# ${name}_fib n Routing table number to run ${command} with.
+#
# ${name}_nice n Nice level to run ${command} at.
#
# ${name}_user n User to run ${command} as, using su(1) if not
@@ -685,7 +683,8 @@
fi
eval _chdir=\$${name}_chdir _chroot=\$${name}_chroot \
_nice=\$${name}_nice _user=\$${name}_user \
- _group=\$${name}_group _groups=\$${name}_groups
+ _group=\$${name}_group _groups=\$${name}_groups \
+ _fib=\$${name}_fib
if [ -n "$_user" ]; then # unset $_user if running as that user
if [ "$_user" = "$(eval $IDCMD)" ]; then
@@ -746,11 +745,14 @@
start)
if [ -z "$rc_fast" -a -n "$rc_pid" ]; then
- echo 1>&2 "${name} already running? (pid=$rc_pid)."
+ if [ -z "$rc_quiet" ]; then
+ echo 1>&2 "${name} already running? " \
+ "(pid=$rc_pid)."
+ fi
return 1
fi
- if [ ! -x ${_chroot}${_chroot:+"/"}${command} ]; then
+ if [ ! -x "${_chroot}${_chroot:+/}${command}" ]; then
warn "run_rc_command: cannot run $command"
return 1
fi
@@ -766,11 +768,13 @@
if [ -n "$_chroot" ]; then
_doit="\
${_nice:+nice -n $_nice }\
+${_fib:+setfib -F $_fib }\
chroot ${_user:+-u $_user }${_group:+-g $_group }${_groups:+-G $_groups }\
$_chroot $command $rc_flags $command_args"
else
_doit="\
${_chdir:+cd $_chdir && }\
+${_fib:+setfib -F $_fib }\
$command $rc_flags $command_args"
if [ -n "$_user" ]; then
_doit="su -m $_user -c 'sh -c \"$_doit\"'"
@@ -1322,7 +1326,7 @@
#
devfs_rulesets_from_file()
{
- local file _err _me
+ local file _err _me _opts
file="$1"
_me="devfs_rulesets_from_file"
_err=0
@@ -1335,6 +1339,11 @@
debug "$_me: no such file ($file)"
return 0
fi
+
+ # Disable globbing so that the rule patterns are not expanded
+ # by accident with matching filesystem entries.
+ _opts=$-; set -f
+
debug "reading rulesets from file ($file)"
{ while read line
do
@@ -1381,6 +1390,7 @@
break
fi
done } < $file
+ case $_opts in *f*) ;; *) set +f ;; esac
return $_err
}
@@ -1764,6 +1774,23 @@
fi
}
+# check_namevarlist var
+# Return "0" if ${name}_var is reserved in rc.subr.
+
+_rc_namevarlist="program chroot chdir flags fib nice user group groups"
+check_namevarlist()
+{
+ local _v
+
+ for _v in $_rc_namevarlist; do
+ case $1 in
+ $_v) return 0 ;;
+ esac
+ done
+
+ return 1
+}
+
# _echoonce var msg mode
# mode=0: Echo $msg if ${$var} is empty.
# After doing echo, a string is set to ${$var}.
More information about the Midnightbsd-cvs
mailing list