From f0d2d462428d73520a327626465c545a0852b299 Mon Sep 17 00:00:00 2001 From: schwarze <> Date: Sat, 9 Apr 2011 15:39:22 +0000 Subject: [PATCH] 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@ --- src/etc/rc.d/rc.subr | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/etc/rc.d/rc.subr b/src/etc/rc.d/rc.subr index 24a2a0c6..373ce99f 100644 --- a/src/etc/rc.d/rc.subr +++ b/src/etc/rc.d/rc.subr @@ -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. @@ -117,6 +117,7 @@ getcap -f /etc/login.conf ${_name} 1>/dev/null 2>&1 && \ [ -n "${_rcflags}" ] && daemon_flags=${_rcflags} [ -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}}" rcexec="su -l -c ${daemon_class} -s /bin/sh ${daemon_user} -c"