From b67f71ca5dd4b21b1e342ce8f27a565093f25e44 Mon Sep 17 00:00:00 2001 From: Roy Marples Date: Sun, 22 Jul 2007 10:45:56 +0000 Subject: Harden gendepends.sh some more so we only capture the stdout we want from the depend function, #186072. --- ChangeLog | 15 ++++++++++----- sh/gendepends.sh | 5 +++++ 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9a81b7cf..df0eb0cd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,13 +1,18 @@ # ChangeLog for Gentoo System Intialization ("rc") scripts # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPLv2 + 22 Jul 2007; Roy Marples : + + Harden gendepends.sh some more so we only capture the stdout we want from + the depend function, #186072. + 21 Jul 2007; Roy Marples : - RC_DEPEND_STRICT now controls dependency strictness. - If yes then we only use services in the boot and default runlevels, - regradless of service state. - If no then we take into account coldplugged services and the state - of currently running services. + RC_DEPEND_STRICT now controls dependency strictness. + If yes then we only use services in the boot and default runlevels, + regradless of service state. + If no then we take into account coldplugged services and the state + of currently running services. Fixes #185640. 15 Jul 2007; Roy Marples : diff --git a/sh/gendepends.sh b/sh/gendepends.sh index 6c86f2a9..0cb04e66 100755 --- a/sh/gendepends.sh +++ b/sh/gendepends.sh @@ -33,6 +33,9 @@ for SVCNAME in * ; do SVCNAME=${SVCNAME##*/} ( + # Save stdout in fd3, then remap it to stderr + exec 3>&1 1>&2 + rc_c=${SVCNAME%%.*} if [ -n "${rc_c}" -a "${rc_c}" != "${SVCNAME}" ] ; then [ -e /etc/conf.d/"${rc_c}" ] && . /etc/conf.d/"${rc_c}" >&2 @@ -42,6 +45,8 @@ for SVCNAME in * ; do [ -e /etc/conf.d/"${SVCNAME}" ] && . /etc/conf.d/"${SVCNAME}" >&2 if . /etc/init.d/"${SVCNAME}" ; then + # Restore stdout now + exec 1>&3 echo "${SVCNAME}" depend -- cgit v1.2.3