aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCy Schubert <cy@FreeBSD.org>2021-02-24 05:12:49 +0000
committerCy Schubert <cy@FreeBSD.org>2021-02-24 05:12:49 +0000
commit6e822e99570fdf4c564be04840a054bccc070222 (patch)
tree1c032fdf2e493afb1f281c335c32b911c80761ae
parentec786886661ac8d6c41420c4460eba8461308e0b (diff)
downloadsrc-6e822e99570fdf4c564be04840a054bccc070222.tar.gz
src-6e822e99570fdf4c564be04840a054bccc070222.zip
rc: fix parse of $local_startup
77e1ccbee3ed6c837929e4e232fd07f95bfc8294 introduced parallel execution of rc. It separated groups with line feeds (\n) and elements within groups using spaces. This is a natural separation due to rcorder using spaces and lines to separate elements within groups with groups of services separated by line feeds. 77e1ccbee3ed6c837929e4e232fd07f95bfc8294 parses the output from rcorder by setting $IFS. However it failed to reset $IFS to default ' \t\n' prior to calling find_local_scripts_new(), causing find_local_scripts_new() to fail parsing $local_startup for site-specific local rc scripts, i.e. ${LOCALBASE}/etc/rc.d. This caused daemons from ports and packages such as postfix, dovecot, nut, and others in ${LOCALBASE} not to be started. PR: 249192 MFC after: 3 week X-MFC with: 77e1ccbee3ed6c837929e4e232fd07f95bfc8294
-rw-r--r--libexec/rc/rc1
1 files changed, 1 insertions, 0 deletions
diff --git a/libexec/rc/rc b/libexec/rc/rc
index 722d7fe35884..b5bc188fc7c0 100644
--- a/libexec/rc/rc
+++ b/libexec/rc/rc
@@ -119,6 +119,7 @@ for _rc_group in ${files}; do
done
unset files local_rc
+unset IFS
# Now that disks are mounted, for each dir in $local_startup
# search for init scripts that use the new rc.d semantics.