From cb8e3aa59043998e737f906d639b2ebfd12f2d5d Mon Sep 17 00:00:00 2001 From: Sean Bright Date: Thu, 2 Mar 2023 09:59:51 -0500 Subject: [PATCH] contrib: rc.archlinux.asterisk uses invalid redirect. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `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 --- contrib/init.d/rc.archlinux.asterisk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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