]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
contrib: rc.archlinux.asterisk uses invalid redirect.
authorSean Bright <sean@seanbright.com>
Thu, 2 Mar 2023 14:59:51 +0000 (09:59 -0500)
committerFriendly Automation <jenkins2@gerrit.asterisk.org>
Mon, 6 Mar 2023 18:13:24 +0000 (12:13 -0600)
`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

index 9c840851c8169f08d8a99b2ee024353dd665b3c1..47685adf04a667d91d2c90b010cb004cdf0e1982 100755 (executable)
@@ -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