Browse Source

Fix multiple issues and make the code simpler and more robust:

- As noticed by ajacoutot@, re_format(7) does not treat '\t' as a tab,
so some t's got stripped from daemon names.
- The tr(1) failed to sanitize mixtures of blanks and tabs.
ok ajacoutot@
OPENBSD_5_0
schwarze 13 years ago
parent
commit
f0d2d46242
1 changed files with 3 additions and 2 deletions
  1. +3
    -2
      src/etc/rc.d/rc.subr

+ 3
- 2
src/etc/rc.d/rc.subr View File

@ -1,4 +1,4 @@
# $OpenBSD: rc.subr,v 1.34 2011/04/06 17:10:38 robert Exp $
# $OpenBSD: rc.subr,v 1.35 2011/04/09 15:39:22 schwarze Exp $
# Default functions and variables used by rc.d(8) scripts. # Default functions and variables used by rc.d(8) scripts.
@ -117,6 +117,7 @@ getcap -f /etc/login.conf ${_name} 1>/dev/null 2>&1 && \
[ -n "${_rcflags}" ] && daemon_flags=${_rcflags} [ -n "${_rcflags}" ] && daemon_flags=${_rcflags}
[ -n "${_rcuser}" ] && daemon_user=${_rcuser} [ -n "${_rcuser}" ] && daemon_user=${_rcuser}
daemon_flags=$(printf '%s\n' "${daemon_flags}" | tr -s "[:space:]" | sed 's/^[ \t]*//;s/[ \t]*$//')
daemon_flags=$(printf ' %s' ${daemon_flags})
daemon_flags=${daemon_flags## }
pexp="${daemon}${daemon_flags:+ ${daemon_flags}}" pexp="${daemon}${daemon_flags:+ ${daemon_flags}}"
rcexec="su -l -c ${daemon_class} -s /bin/sh ${daemon_user} -c" rcexec="su -l -c ${daemon_class} -s /bin/sh ${daemon_user} -c"

Loading…
Cancel
Save