From: Sean Bright Date: Thu, 2 Mar 2023 14:59:51 +0000 (-0500) Subject: contrib: rc.archlinux.asterisk uses invalid redirect. X-Git-Tag: 18.18.0-rc1~40 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2268895b88381b1c0cc761b90324555f3957d363;p=thirdparty%2Fasterisk.git contrib: rc.archlinux.asterisk uses invalid redirect. `rc.archlinux.asterisk`, which explicitly requests bash in its shebang, uses the following command syntax: ${DAEMON} -rx "core stop now" > /dev/null 2&>1 The intent of which is to execute: ${DAEMON} -rx "core stop now" While sending both stdout and stderr to `/dev/null`. Unfortunately, because the `&` is in the wrong place, bash is interpreting the `2` as just an additional argument to the `$DAEMON` command and not as a file descriptor and proceeds to use the bashism `&>` to send stderr and stdout to a file named `1`. So we clean it up and just use bash's shortcut syntax. Issue raised and a fix suggested (but not used) by peutch on GitHub¹. ASTERISK-30449 #close 1. https://github.com/asterisk/asterisk/pull/31 Change-Id: Ie279bf4efb4d95cbf507313483d316e977303d19 (cherry picked from commit 5283d444d9ea4ae85c973b3c4994002a3aebc410) --- diff --git a/contrib/init.d/rc.archlinux.asterisk b/contrib/init.d/rc.archlinux.asterisk index 9c840851c8..47685adf04 100755 --- a/contrib/init.d/rc.archlinux.asterisk +++ b/contrib/init.d/rc.archlinux.asterisk @@ -45,7 +45,7 @@ case "$1" in stop) if [ -r ${ASTVARRUNDIR}/asterisk.pid ]; then stat_busy "Stopping Asterisk..." - ${DAEMON} -rx "core stop now" > /dev/null 2&>1 + ${DAEMON} -rx "core stop now" &>/dev/null if [ $? -gt 0 ]; then stat_fail else