summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaco Kroon <jaco@uls.co.za>2024-03-22 08:37:09 +0200
committerMichał Górny <mgorny@gentoo.org>2024-08-05 17:04:44 +0200
commit8e858006681c6d4308ffe96fdea90908c9b5c797 (patch)
treea059408788ee4d18bb4ae279e1214839bc115df1 /net-misc/asterisk
parentnet-misc/asterisk: drop overshadowed versions (diff)
downloadgentoo-8e858006681c6d4308ffe96fdea90908c9b5c797.tar.gz
gentoo-8e858006681c6d4308ffe96fdea90908c9b5c797.tar.bz2
gentoo-8e858006681c6d4308ffe96fdea90908c9b5c797.zip
net-misc/asterisk/files: drop files/* that's no longer in use.
Signed-off-by: Jaco Kroon <jaco@uls.co.za> Closes: https://github.com/gentoo/gentoo/pull/35818 Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'net-misc/asterisk')
-rw-r--r--net-misc/asterisk/files/1.6.2/asterisk.logrotate427
-rw-r--r--net-misc/asterisk/files/asterisk-18.17.1-20.2.1-configure-fix-test-code-to-match-gethostbyname_r-pro.patch71
-rw-r--r--net-misc/asterisk/files/asterisk.service23
-rw-r--r--net-misc/asterisk/files/asterisk.service.conf11
-rw-r--r--net-misc/asterisk/files/asterisk.tmpfiles-16.22.0-18.8.0.conf2
-rw-r--r--net-misc/asterisk/files/asterisk_wrapper-16.26.1-18.12.1202
-rw-r--r--net-misc/asterisk/files/asterisk_wrapper-18.17.1-20.2.1227
-rw-r--r--net-misc/asterisk/files/confd-16.26.1-18.12.1169
-rw-r--r--net-misc/asterisk/files/initd-16.26.1-18.12.1309
-rw-r--r--net-misc/asterisk/files/initd-18.17.1-20.2.1311
10 files changed, 0 insertions, 1352 deletions
diff --git a/net-misc/asterisk/files/1.6.2/asterisk.logrotate4 b/net-misc/asterisk/files/1.6.2/asterisk.logrotate4
deleted file mode 100644
index 29e78eb16064..000000000000
--- a/net-misc/asterisk/files/1.6.2/asterisk.logrotate4
+++ /dev/null
@@ -1,27 +0,0 @@
-/var/log/asterisk/messages /var/log/asterisk/queue_log {
- missingok
- notifempty
-
- postrotate
- test -e /run/openrc/softlevel && /etc/init.d/asterisk --quiet status && /usr/sbin/asterisk -rnx "logger reload" || /bin/true
- test -e /run/systemd/system && systemctl is-active --quiet asterisk.service && /usr/sbin/asterisk -rnx "logger reload" || /bin/true
- endscript
-}
-
-/var/log/asterisk/debug /var/log/asterisk/full {
- missingok
- notifempty
- daily
-
- postrotate
- test -e /run/openrc/softlevel && /etc/init.d/asterisk --quiet status && /usr/sbin/asterisk -rnx "logger reload" || /bin/true
- test -e /run/systemd/system && systemctl is-active --quiet asterisk.service && /usr/sbin/asterisk -rnx "logger reload" || /bin/true
- endscript
-}
-
-/var/log/asterisk/cdr-csv/*.csv /var/log/asterisk/cdr-custom/*.csv {
- missingok
- notifempty
- weekly
- rotate 52
-}
diff --git a/net-misc/asterisk/files/asterisk-18.17.1-20.2.1-configure-fix-test-code-to-match-gethostbyname_r-pro.patch b/net-misc/asterisk/files/asterisk-18.17.1-20.2.1-configure-fix-test-code-to-match-gethostbyname_r-pro.patch
deleted file mode 100644
index 540888368223..000000000000
--- a/net-misc/asterisk/files/asterisk-18.17.1-20.2.1-configure-fix-test-code-to-match-gethostbyname_r-pro.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 79468a12c3533720c938731a8b7728ba4ff5a326 Mon Sep 17 00:00:00 2001
-From: Jaco Kroon <jaco@uls.co.za>
-Date: Wed, 10 May 2023 23:13:17 +0200
-Subject: [PATCH] configure: fix test code to match gethostbyname_r prototype.
-
-This enables the test to work with CC=clang.
-
-Without this the test for 6 args would fail with:
-
-utils.c:99:12: error: static declaration of 'gethostbyname_r' follows non-static declaration
-static int gethostbyname_r (const char *name, struct hostent *ret, char *buf,
- ^
-/usr/include/netdb.h:177:12: note: previous declaration is here
-extern int gethostbyname_r (const char *__restrict __name,
- ^
-
-Fixing the expected return type to int sorts this out.
-
-Signed-off-by: Jaco Kroon <jaco@uls.co.za>
----
- configure | 4 ++--
- configure.ac | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/configure b/configure
-index bf78e2aade..b046dfc755 100755
---- a/configure
-+++ b/configure
-@@ -17537,7 +17537,7 @@ $as_echo_n "checking for gethostbyname_r with 6 arguments... " >&6; }
- int
- main ()
- {
--struct hostent *he = gethostbyname_r((const char *)NULL, (struct hostent *)NULL, (char *)NULL, (int)0, (struct hostent **)NULL, (int *)NULL);
-+int r = gethostbyname_r((const char *)NULL, (struct hostent *)NULL, (char *)NULL, (int)0, (struct hostent **)NULL, (int *)NULL);
- ;
- return 0;
- }
-@@ -17565,7 +17565,7 @@ $as_echo_n "checking for gethostbyname_r with 5 arguments... " >&6; }
- int
- main ()
- {
--struct hostent *he = gethostbyname_r((const char *)NULL, (struct hostent *)NULL, (char *)NULL, (int)0, (int *)NULL);
-+int r = gethostbyname_r((const char *)NULL, (struct hostent *)NULL, (char *)NULL, (int)0, (int *)NULL);
- ;
- return 0;
- }
-diff --git a/configure.ac b/configure.ac
-index ab6632beac..aeec352054 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -962,7 +962,7 @@ if test "x$have_gethostbyname_r_public_declaration" = "xyes"; then
- AC_LINK_IFELSE(
- [AC_LANG_PROGRAM([#include <stdlib.h>
- #include <netdb.h>],
-- [struct hostent *he = gethostbyname_r((const char *)NULL, (struct hostent *)NULL, (char *)NULL, (int)0, (struct hostent **)NULL, (int *)NULL);])],
-+ [int r = gethostbyname_r((const char *)NULL, (struct hostent *)NULL, (char *)NULL, (int)0, (struct hostent **)NULL, (int *)NULL);])],
- AC_MSG_RESULT(yes)
- AC_DEFINE([HAVE_GETHOSTBYNAME_R_6], 1, [Define to 1 if your system has gethostbyname_r with 6 arguments.]),
- AC_MSG_RESULT(no)
-@@ -972,7 +972,7 @@ if test "x$have_gethostbyname_r_public_declaration" = "xyes"; then
- AC_LINK_IFELSE(
- [AC_LANG_PROGRAM([#include <stdlib.h>
- #include <netdb.h>],
-- [struct hostent *he = gethostbyname_r((const char *)NULL, (struct hostent *)NULL, (char *)NULL, (int)0, (int *)NULL);])],
-+ [int r = gethostbyname_r((const char *)NULL, (struct hostent *)NULL, (char *)NULL, (int)0, (int *)NULL);])],
- AC_MSG_RESULT(yes)
- AC_DEFINE([HAVE_GETHOSTBYNAME_R_5], 1, [Define to 1 if your system has gethostbyname_r with 5 arguments.]),
- AC_MSG_RESULT(no)
---
-2.39.3
-
diff --git a/net-misc/asterisk/files/asterisk.service b/net-misc/asterisk/files/asterisk.service
deleted file mode 100644
index 08245d9fe87f..000000000000
--- a/net-misc/asterisk/files/asterisk.service
+++ /dev/null
@@ -1,23 +0,0 @@
-[Unit]
-Description=Asterisk PBX and telephony daemon.
-After=network.target
-
-[Service]
-Type=simple
-WorkingDirectory=/var/lib/asterisk
-User=asterisk
-Group=asterisk
-ExecStart=/usr/sbin/asterisk -f -C /etc/asterisk/asterisk.conf
-ExecStop=/usr/sbin/asterisk -rx 'core stop now'
-ExecReload=/usr/sbin/asterisk -rx 'core reload'
-
-LimitNOFILE=4096
-ProtectSystem=full
-ProtectHome=yes
-PrivateTmp=yes
-
-Restart=always
-RestartSec=5
-
-[Install]
-WantedBy=multi-user.target
diff --git a/net-misc/asterisk/files/asterisk.service.conf b/net-misc/asterisk/files/asterisk.service.conf
deleted file mode 100644
index b7f83b71c5b0..000000000000
--- a/net-misc/asterisk/files/asterisk.service.conf
+++ /dev/null
@@ -1,11 +0,0 @@
-# Uncomment the following 7 lines to start asterisk with a console on tty7
-#
-# Warning! Use only for debugging, this is a potential security issue!
-#
-# [Service]
-# ExecStart=
-# ExecStart=/usr/sbin/asterisk -f -c -C /etc/asterisk/asterisk.conf
-# TTYPath=/dev/tty7
-# StandardInput=tty
-# StandardOutput=tty
-# StandardError=tty
diff --git a/net-misc/asterisk/files/asterisk.tmpfiles-16.22.0-18.8.0.conf b/net-misc/asterisk/files/asterisk.tmpfiles-16.22.0-18.8.0.conf
deleted file mode 100644
index 224d060a3c92..000000000000
--- a/net-misc/asterisk/files/asterisk.tmpfiles-16.22.0-18.8.0.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-d /run/asterisk 0750 asterisk asterisk
-d /var/cache/asterisk 0750 asterisk asterisk
diff --git a/net-misc/asterisk/files/asterisk_wrapper-16.26.1-18.12.1 b/net-misc/asterisk/files/asterisk_wrapper-16.26.1-18.12.1
deleted file mode 100644
index 8624bfa3383e..000000000000
--- a/net-misc/asterisk/files/asterisk_wrapper-16.26.1-18.12.1
+++ /dev/null
@@ -1,202 +0,0 @@
-#! /bin/bash
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-progname="$(basename "$0")"
-
-T="$(getopt -o "h" --long "help,corecompress:,corerename:,crashemail:,dumpcore:,instance:,maxfd:,nicelevel:,restartdelay:,rundir:,syslog,tty:" -n "$progname" -- "$@")"
-eval set -- "${T}"
-
-rundir=/run/asterisk
-restartdelay=5
-nicelevel=0
-maxfd=4096
-dumpcore=0
-unset tty instance syslog corecompress corerename crashemail
-
-function usage() {
- cat <<USAGE
-USAGE: $progname [options] -- asterisk options"
-OPTIONS:
- -h|--help
- Output this text and exit.
- --corecompress[=tool]
- asterisk's address space can get quite large, compressing the core dumps can
- save significant space, especially if asterisk core dumps frequently.
- --corerename pattern
- It's assumed core files (if enabled) will go into PWD, this specifies a
- rename pattern. The following % codes are recognised:
- %h - hostname
- %D - date in format YYYYMMDD
- %T - time in format HHMMSS
- It must be mentioned that if kernel.core_pattern (sysctl) is modified
- from the default 'core' value this option is unlikely to work.
- --crashemail email@address
- This will send an email whenver asterisk crashes (does not terminate
- cleanly with a zero exit code). You need a working sendmail binary.
- --dumpcore sizelimit
- Maximum size of core limit, or the word unlimited. Default is disabled
- (sizelimit of 0).
- --instance name
- Updated label for sylog logger.
- --maxfd maxfd
- Sets the maximum number of file descriptors (default 4096).
- --nicelevel nicelevel
- Will set the asterisk nice level to the specified value.
- --restartdelay delay_in_seconds
- Number of seconds to wait before attempting to restart asterisk. This helps
- to avoid tight-loop crashes. Defaults to 5s. Minimum 1.
- --rundir path
- Where to store the asterisk asterisk_wrapper.pid file. In order to terminate the
- wrapper (when asterisk next terminates), remove this file.
- --syslog
- Pass to redirect output to syslog rather than using stdout and stderr.
- --tty tty
- If asterisk should be attached to a TTY device, then pass this, eg --tty /dev/tty8.
- Use of this is not recommended in general.
-
-NOTE: There are some quirks with bash getopt shunting non-options prior to --
- to asterisk options, so be careful of this. Typically stuff will break.
-USAGE
-}
-
-while [ "$1" != "--" ]; do
- case "$1" in
- --corecompress|--corerename|--crashemail|--dumpcore|--instance|--maxfd|--nicelevel|--restartdelay|--rundir|--tty)
- eval "${1:2}=\"\${2}\""
- shift 2
- ;;
- --syslog)
- eval "${1:2}=1"
- shift
- ;;
- --help|-h)
- usage
- exit 0
- ;;
- *)
- echo "BUG: Don't know how to process option $1." >&2
- usage >&2
- exit 1
- ;;
- esac
-done
-shift # --
-
-ast_opts=("$@")
-
-if ! [[ "${restartdelay}" =~ ^[1-9][0-9]*$ ]]; then
- echo "Invalid --restartdelay value ${restartdelay}, resetting to 5." >&2
- restartdelay=5
-fi
-
-if [[ -n "${corecompress}" && ! -x "${corecompress}" ]]; then
- corecompress=$(which "${corecompress}" 2>/dev/null)
- [[ -z "${corecompress}" ]] && echo "Error locating core compression tool, disabling core compression." >&2
-fi
-
-# Before here will still be output (potentially munged, to the terminal).
-if [[ -n "${syslog}" ]]; then
- exec 1> >(logger -t "asterisk_wrapper${instance:+:}${instance}" &>/dev/null)
- exec 2>&1
-fi
-
-echo "Initializing ${progname}"
-
-function cleanup(){
- # There is a tiny race here, if this gets replaced inbetween the read and the rm.
- # To fix this is quite complex in that we need to keep an fd, compare inode numbers
- # and manage flock's.
- [[ -r "${rundir}/${progname}.pid" ]] && \
- [[ "$(<"${rundir}/${progname}.pid")" = $$ ]] && \
- rm "${rundir}/${progname}.pid"
-}
-trap cleanup EXIT
-
-# We could be clobbering an old version's pid, in which case it'll just terminate on
-# it's next iteration. Towards this end, if asterisk.pid exists, attempt to find it's
-# config file and request a core stop when convenient so that we can take over.
-echo $$ > "${rundir}/${progname}.pid"
-if [[ -r "${rundir}/asterisk.pid" ]]; then
- ast_pid="$(<"${rundir}/asterisk.pid")"
- [[ -r "/proc/${ast_pid}/cmdline" ]] && ast_conf="$(tr '\0' '\n' < "/proc/${ast_pid}/cmdline" | grep -A1 '^-C$' | tail -n1)" && /usr/sbin/asterisk -C "${ast_conf:-/etc/asterisk/asterisk.conf}" -rx "core stop when convenient"
- # We may hit a few (depending on how busy the server is a great many number) loop failures still ...
-fi
-
-ulimit -c "${dumpcore}"
-ulimit -n "${maxfd}"
-
-ast_cmd=()
-if [ -n "${nicelevel}" ]; then
- ast_cmd+=(nice -n "${nicelevel}")
-fi
-ast_cmd+=(/usr/sbin/asterisk "${ast_opts[@]}")
-
-while [[ -r "${rundir}/${progname}.pid" ]]; do
- # Another instance is looking to replace us, so terminate.
- if [[ "$(<"${rundir}/${progname}.pid")" != $$ ]]; then
- break
- fi
-
- echo "Starting asterisk with ${ast_opts[*]}"
- if [ -n "${tty+yes}" ]; then
- /bin/stty -F "${tty}" sane
- "${ast_cmd[@]}" >"${tty}" 2>&1 <"${tty}"
- result=$?
- else
- # Purposefully leave stderr alone, this will under certain odd cases (like exceptions,
- # and other odd cases logged from glibc) result in those logs at least being captured
- # in syslog.
- "${ast_cmd[@]}" </dev/null >/dev/null
- result=$?
- fi
-
- if [ "$result" -eq 0 ]; then
- echo "Asterisk terminated normally."
- break
- fi
-
- if [ "$result" -gt 128 ]; then
- signal="$(( result - 128 ))"
- signame="$(kill -l $signal 2>/dev/null)"
- MSG="Asterisk terminated with Signal: $signal (SIG${signame:-???})"
-
- # TODO: figure out how to use /proc/sys/kernel/core_pattern here, but if someone is using
- # that, chances are they're already dealing with what we want here.
- if [[ -r core ]]; then
- if [[ -n "${corerename+yes}" ]]; then
- core_target="${core_pattern}"
- core_target="${core_target//%h/"$(hostname)"}"
- core_target="${core_target//%D/"$(date +%Y%m%d)"}"
- core_target="${core_target//%T/"$(date +%H%M%S)"}"
- mv core "${core_target}"
- core_target=$(readlink -f "${core_target}")
- else
- core_target=$(readlink -f core)
- fi
-
- if [[ -n "${corecompress}" && -x "${corecompress}" ]]; then
- "${corecompress}" "${core_target}"
- # TODO: Figure out a way to tag the extension onto core_target.
- fi
-
- MSG="${MSG}\r\nCore dumped: ${core_target}"
- fi
- else
- MSG="Asterisk terminated with return code: $result"
- fi
-
- [ -n "${tty+yes}" ] \
- && echo "${MSG}" >"${tty}" \
- || echo "${MSG}"
-
- if [[ -n "${crashemail+yes}" && -x /usr/sbin/sendmail ]]; then
- echo -e -n "Subject: Asterisk crashed\r\n${MSG}\r\n" |\
- /usr/sbin/sendmail "${crashemail}"
- fi
- echo "Restarting asterisk after ${restartdelay}s ..."
- sleep "${restartdelay}"
-done
-
-echo "Terminating $progname."
-exit 0
diff --git a/net-misc/asterisk/files/asterisk_wrapper-18.17.1-20.2.1 b/net-misc/asterisk/files/asterisk_wrapper-18.17.1-20.2.1
deleted file mode 100644
index 1a85eccf9b25..000000000000
--- a/net-misc/asterisk/files/asterisk_wrapper-18.17.1-20.2.1
+++ /dev/null
@@ -1,227 +0,0 @@
-#! /bin/sh
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-progname="$(basename "$0")"
-
-T="$(getopt -o "h" --long "help,corecompress:,corerename:,crashemail:,dumpcore:,instance:,maxfd:,nicelevel:,restartdelay:,rundir:,syslog,tty:" -n "$progname" -- "$@")"
-eval set -- "${T}"
-
-# bash builtins are special ...
-echo_e="$([ "${SHELL}" = "/bin/bash" ] && echo "echo -e" || echo echo)"
-
-rundir=/run/asterisk
-restartdelay=5
-nicelevel=0
-maxfd=4096
-dumpcore=0
-unset tty instance syslog corecompress corerename crashemail
-
-usage() {
- cat <<USAGE
-USAGE: $progname [options] -- asterisk options"
-OPTIONS:
- -h|--help
- Output this text and exit.
- --corecompress[=tool]
- asterisk's address space can get quite large, compressing the core dumps can
- save significant space, especially if asterisk core dumps frequently.
- --corerename pattern
- It's assumed core files (if enabled) will go into PWD, this specifies a
- rename pattern. The following % codes are recognised:
- %h - hostname
- %D - date in format YYYYMMDD
- %T - time in format HHMMSS
- It must be mentioned that if kernel.core_pattern (sysctl) is modified
- from the default 'core' value this option is unlikely to work.
- --crashemail email@address
- This will send an email whenver asterisk crashes (does not terminate
- cleanly with a zero exit code). You need a working sendmail binary.
- --dumpcore sizelimit
- Maximum size of core limit, or the word unlimited. Default is disabled
- (sizelimit of 0).
- --instance name
- Updated label for sylog logger.
- --maxfd maxfd
- Sets the maximum number of file descriptors (default 4096).
- --nicelevel nicelevel
- Will set the asterisk nice level to the specified value.
- --restartdelay delay_in_seconds
- Number of seconds to wait before attempting to restart asterisk. This helps
- to avoid tight-loop crashes. Defaults to 5s. Minimum 1.
- --rundir path
- Where to store the asterisk asterisk_wrapper.pid file. In order to terminate the
- wrapper (when asterisk next terminates), remove this file.
- --syslog
- Pass to redirect output to syslog rather than using stdout and stderr.
- --tty tty
- If asterisk should be attached to a TTY device, then pass this, eg --tty /dev/tty8.
- Use of this is not recommended in general.
-
-NOTE: There are some quirks with bash getopt shunting non-options prior to --
- to asterisk options, so be careful of this. Typically stuff will break.
-USAGE
-}
-
-matchreg() {
- local v=$1
- shift
- echo "$v" | grep -q "$@"
-}
-
-while [ "$1" != "--" ]; do
- case "$1" in
- --corecompress|--corerename|--crashemail|--dumpcore|--instance|--maxfd|--nicelevel|--restartdelay|--rundir|--tty)
- eval "${1#--}=\"\${2}\""
- shift 2
- ;;
- --syslog)
- eval "${1#--}=1"
- shift
- ;;
- --help|-h)
- usage
- exit 0
- ;;
- *)
- echo "BUG: Don't know how to process option $1." >&2
- usage >&2
- exit 1
- ;;
- esac
-done
-shift # --
-
-if ! matchreg "${restartdelay}" "^[1-9][0-9]*$"; then
- echo "Invalid --restartdelay value ${restartdelay}, resetting to 5." >&2
- restartdelay=5
-fi
-
-if ! matchreg "${maxfd}" "^[1-9][0-9]*$"; then
- echo "Invalid --maxfd value, resetting to 4096." >&2
- maxfd=4096
-fi
-
-if [ $maxfd -lt 1024 ]; then
- echo "maxfd is guaranteed too low, bumping to at least 1024" >&2
- maxfd=1024
-fi
-
-if [ -n "${nicelevel}" ] && ! matchreg "${nicelevel}" -E "^-?[0-9]+$"; then
- echo "Invalid --nicelevel which much be a valid integer (values from -20 to 20 makes sense)."
- exit 1
-fi
-
-if [ -n "${corecompress}" -a ! -x "${corecompress}" ]; then
- corecompress=$(which "${corecompress}" 2>/dev/null)
- [ -z "${corecompress}" ] && echo "Error locating core compression tool, disabling core compression." >&2
-fi
-
-# Before here will still be output (potentially munged, to the terminal).
-if [ -n "${syslog}" ]; then
- tdir="$(mktemp -d)"
- tfifo="${tdir}/asterisk_wrapper.logger.fifo"
- mkfifo "${tfifo}"
- logger -t "asterisk_wrapper${instance:+:}${instance}" --id=$$ >/dev/null 2>&1 <"${tfifo}" &
- exec 1>"${tfifo}"
- exec 2>&1
-
- rm "${tfifo}"
- rmdir "${tdir}"
-fi
-
-echo "Initializing ${progname}"
-
-cleanup(){
- # There is a tiny race here, if this gets replaced inbetween the read and the rm.
- # To fix this is quite complex in that we need to keep an fd, compare inode numbers
- # and manage flock's.
- [ -r "${rundir}/${progname}.pid" ] && \
- [ "$(cat "${rundir}/${progname}.pid")" = $$ ] && \
- rm "${rundir}/${progname}.pid"
-}
-trap cleanup EXIT
-
-# We could be clobbering an old version's pid, in which case it'll just terminate on
-# it's next iteration. Towards this end, if asterisk.pid exists, attempt to find it's
-# config file and request a core stop when convenient so that we can take over.
-echo $$ > "${rundir}/${progname}.pid"
-if [ -r "${rundir}/asterisk.pid" ]; then
- ast_pid="$(cat "${rundir}/asterisk.pid")"
- [ -r "/proc/${ast_pid}/cmdline" ] && ast_conf="$(tr '\0' '\n' < "/proc/${ast_pid}/cmdline" | grep -A1 '^-C$' | tail -n1)" && /usr/sbin/asterisk -C "${ast_conf:-/etc/asterisk/asterisk.conf}" -rx "core stop when convenient"
- # We may hit a few (depending on how busy the server is a great many number) loop failures still ...
-fi
-
-prlimit --core=${dumpcore} --pid=$$
-prlimit --nofile=${maxfd} --pid=$$
-
-ast_cmd=/usr/sbin/asterisk
-if [ -n "${nicelevel}" ]; then
- ast_cmd="nice -n ${nicelevel} ${ast_cmd}"
-fi
-
-while [ -r "${rundir}/${progname}.pid" ]; do
- # Another instance is looking to replace us, so terminate.
- if [ "$(cat "${rundir}/${progname}.pid")" != $$ ]; then
- break
- fi
-
- echo "Starting asterisk with ${ast_cmd} $*"
- if [ -n "${tty+yes}" ]; then
- /bin/stty -F "${tty}" sane
- ${ast_cmd} "$@" >"${tty}" 2>&1 <"${tty}"
- result=$?
- else
- # Purposefully leave stderr alone, this will under certain odd cases (like exceptions,
- # and other odd cases logged from glibc) result in those logs at least being captured
- # in syslog.
- ${ast_cmd} "$@" </dev/null >/dev/null
- result=$?
- fi
-
- if [ "$result" -eq 0 ]; then
- echo "Asterisk terminated normally."
- break
- fi
-
- if [ "$result" -gt 128 ]; then
- signal="$(( result - 128 ))"
- signame="$(kill -l $signal 2>/dev/null)"
- MSG="Asterisk terminated with Signal: $signal (SIG${signame:-???})"
-
- # TODO: figure out how to use /proc/sys/kernel/core_pattern here, but if someone is using
- # that, chances are they're already dealing with what we want here.
- if [ -r core ]; then
- if [ -n "${corerename+yes}" ]; then
- core_target="$(echo "${core_pattern}" | sed -e "s/%h/$(hostname)/" \
- -e "s/%D/$(date +%Y%m%d)/" -e "s/%T/$(date +%H%M%S)/")"
- mv core "${core_target}"
- core_target=$(readlink -f "${core_target}")
- else
- core_target=$(readlink -f core)
- fi
-
- if [ -n "${corecompress}" && -x "${corecompress}" ]; then
- "${corecompress}" "${core_target}"
- fi
-
- MSG="${MSG}\r\nCore dumped: ${core_target}"
- fi
- else
- MSG="Asterisk terminated with return code: $result"
- fi
-
- [ -n "${tty+yes}" ] \
- && echo "${MSG}" >"${tty}" \
- || echo "${MSG}"
-
- if [ -n "${crashemail+yes}" && -x /usr/sbin/sendmail ]; then
- $echo_e -n "Subject: Asterisk crashed\r\n${MSG}\r\n" |\
- /usr/sbin/sendmail "${crashemail}"
- fi
- echo "Restarting asterisk after ${restartdelay}s ..."
- sleep "${restartdelay}"
-done
-
-echo "Terminating $progname."
-exit 0
diff --git a/net-misc/asterisk/files/confd-16.26.1-18.12.1 b/net-misc/asterisk/files/confd-16.26.1-18.12.1
deleted file mode 100644
index c350b7e9161d..000000000000
--- a/net-misc/asterisk/files/confd-16.26.1-18.12.1
+++ /dev/null
@@ -1,169 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-#
-# Additional options for asterisk
-#
-# see "asterisk -h" for a list of options
-#
-# No default.
-#
-#ASTERISK_OPTS=""
-
-#
-# User and group to run asterisk as
-#
-# Value: double-colon separated list of user and group, or empty to run as root:
-#
-#
-# "asterisk:asterisk" to run as user "asterisk" and group "asterisk"
-# "asterisk" to run as user "asterisk" and all groups that user "asterisk" is a member of
-# ":asterisk" to run as user "root" and group "asterisk"
-#
-# Default: asterisk
-#
-#ASTERISK_USER="asterisk"
-
-#
-# Nicelevel
-#
-# Set the priority of the asterisk process
-#
-# Value: (highest) -20..19 (lowest)
-#
-# No default (leave scheduling to be system default).
-#
-#ASTERISK_NICE="19"
-
-# Send crash notifications emails to this address
-# (needs a working mail service and /usr/sbin/sendmail to do so (e.g. ssmtp))
-#
-# Value: Email address or empty to disable
-#
-# No default.
-#
-#ASTERISK_NOTIFY_EMAIL="root"
-
-#
-# Send asterisk's output to this terminal
-#
-# Value: Full path to device node or a number
-#
-# No default.
-#
-#ASTERISK_TTY="/dev/tty9"
-
-#
-# Start an asterisk console on the terminal specified by ASTERISK_TTY
-#
-# Warning! Use only for debugging, this is a potential security issue!
-#
-# Value: yes/no
-#
-# Default: no
-#
-#ASTERISK_CONSOLE="no"
-
-#
-# Maximum size of core files.
-#
-# Value: Size in bytes, unlimited for no limit or empty to disable.
-#
-# Default: do not generate core dumps
-#
-#ASTERISK_CORE_SIZE="unlimited"
-
-#
-# ASTERISK_CORE_DIR
-#
-# Value: Directory (will be created if non-existant).
-#
-# Default: /tmp
-#
-#ASTERISK_CORE_DIR="/var/lib/asterisk/core"
-
-#
-# Max number of filedescriptors. asterisk can trivially run out of
-# descriptors. In most (SIP) cases it uses at least four descriptors per call,
-# and this is a conservative value.
-#
-# Value: Number of descriptors
-#
-# Default: leave system default in place.
-#
-ASTERISK_MAX_FD="4096"
-
-#
-# Delay time before restarting asterisk after a crash.
-#
-# Value: Number of seconds to sleep after a crash before restarting.
-#
-# Default: 5
-#
-#ASTERISK_RESTART_DELAY=5
-
-#
-# The stop mechanism to use. Asterisk can do gracefully, when convenient or now.
-# By default we expect you to want to stop as soon as possible, so we default
-#
-# Default: gracefully
-#
-#ASTERISK_STOP_METHOD="when convenient"
-
-#
-# By default the init script waits two minutes for asterisk to stop. This allows
-# you to change that, or even completely disable and go into wait for ever mode (-1).
-# The value here is in seconds.
-#
-# Default: 120
-#
-#ASTERISK_STOP_TIMEOUT=-1
-
-#
-# ASTERISK_CONFDIR
-#
-# If you'd like an alternative folder to /etc/${RC_SVCNAME} to be used
-# (typically /etc/asterisk) to be used for configuration.
-#
-# Default: /etc/${RC_SVCNAME}
-#
-#ASTERISK_CONFDIR="/etc/foo/bar"
-
-# ASTERISK_CACHEDIR
-#
-# Value: Directory to which astcachedir in asterisk.conf is set.
-#
-# Default: /var/cache/asterisk
-#
-#ASTERISK_CACHEDIR="/var/cache/asterisk"
-
-
-#
-# Normally the init script will not wait for asterisk to fully boot. With this
-# setting set to yes/true/1 it will issue a "core waitfullybooted" directly
-# after starting asterisk, and wait for asterisk to start up completely. This
-# is useful in certain conditions where other software requires asterisk to be
-# properly started before they themselves can be started.
-#
-# Default: no
-#
-#ASTERISK_WAITBOOTED=yes
-
-#
-# When core-dumping, the default was to generate core-$(date +%Y%m%d-%H%M%S).
-# In certain highly unusual configurations it's helpful to also get the
-# hostname into this filename. By enabling this option the wrapper loop will
-# adjust the core file to be named core-$(hostname)-$(date ...).
-#
-# Default: no
-#
-#ASTERISK_CORE_USEHOSTNAME=yes
-
-#
-# When core-dumping, the default is to not compress these files. However, as it turns
-# out, compressing these core files can save significant amount of space, so if you
-# want them compressed, specify the tool to use here.
-#
-# Default: do not compress
-#
-#ASTERISK_CORE_COMPRESS=bzip2
diff --git a/net-misc/asterisk/files/initd-16.26.1-18.12.1 b/net-misc/asterisk/files/initd-16.26.1-18.12.1
deleted file mode 100644
index cc6a3dee575b..000000000000
--- a/net-misc/asterisk/files/initd-16.26.1-18.12.1
+++ /dev/null
@@ -1,309 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-extra_started_commands="forcestop reload"
-
-depend() {
- need net
- use nscd dns dahdi mysql postgresql slapd capi
-}
-
-is_running() {
- [ -r "${ast_rundir}/asterisk.pid" ] || return 1
- PID="$(cat "${ast_rundir}/asterisk.pid")"
- [ -d "/proc/${PID}" ] || return 1
- EXE="$(readlink -f /proc/${PID}/exe)"
- EXE="${EXE% (deleted)}" # in case asterisk got upgraded and we're still looking at an old one.
- [ "${EXE}" = /usr/sbin/asterisk ] || return 1 # pid got re-used for another process.
-
- # PID reported in pidfile is active, and is still an asterisk instance.
- return 0
-}
-
-# Sets up a few variables for us for use
-# ast_instancename: eg, asterisk when RC_SVCNAME=asterisk, or asterisk(foo) when asterisk.foo.
-# ast_rundir: directory to be used as run folder (pid and ctl files).
-setup_svc_variables()
-{
- local t
-
- ast_instancename=asterisk
- ast_rundir=/run/${RC_SVCNAME}
- ast_logdir=/var/log/${RC_SVCNAME}
- ast_confdir=/etc/${RC_SVCNAME}
- ast_cachedir=/var/cache/asterisk
- ast_stop_timeout=120
- ast_stop_method="gracefully"
-
- if [ "${RC_SVCNAME}" != "asterisk" ]; then
- t="${RC_SVCNAME#asterisk.}"
- if [ "${RC_SVCNAME}" = "${t}" ]; then
- eerror "Invalid SVCNAME of ${RC_SVCNAME}, must be of the format asterisk.name."
- return 1
- fi
- ast_instancename="${ast_instancename}(${t})"
- fi
-
- [ -n "${ASTERISK_RUNDIR}" ] && ast_rundir="${ASTERISK_RUNDIR}"
- [ -n "${ASTERISK_LOGDIR}" ] && ast_logdir="${ASTERISK_LOGDIR}"
- [ -n "${ASTERISK_CONFDIR}" ] && ast_confdir="${ASTERISK_CONFDIR}"
- [ -n "${ASTERISK_CACHEDIR}" ] && ast_confdir="${ASTERISK_CACHEDIR}"
- [ -n "${ASTERISK_STOP_TIMEOUT}" ] && ast_stop_timeout="${ASTERISK_STOP_TIMEOUT}"
- case "${ASTERISK_STOP_METHOD}" in
- gracefully|when\ convenient|now)
- ast_stop_method="${ASTERISK_STOP_METHOD}"
- ;;
- esac
- ast_group=
- if [ -n "${ASTERISK_USER}" ]; then
- ast_user="${ASTERISK_USER%%:*}"
- if [ "${ast_user}" != "${ASTERISK_USER}" ]; then
- ast_group="${ASTERISK_USER#*:}"
- ast_group="${ast_group%%:*}"
- fi
- fi
-
- [ -z "${ast_user}" ] && ast_user=asterisk
-
- ast_pgroup="$(getent group $(getent passwd "${ast_user}" | awk -F: '{ print $4 }') | sed -re 's/:.*//')"
-
- return 0
-}
-
-start() {
- local OPTS PID
- local tmp x
-
- local OPTS ARGS WRAPPER_OPTS
-
- setup_svc_variables || return $?
-
- ebegin "Starting ${ast_instancename} PBX"
-
- eindent
-
- # filter (redundant) arguments
- OPTS="$(echo "${ASTERISK_OPTS}" | sed -re "s:-[cfF]::g")"
-
- # default options
- OPTS="${OPTS}${OPTS:+ }-C ${ast_confdir}/asterisk.conf -f" # don't fork / detach breaks wrapper script...
-
- WRAPPER_OPTS="--syslog"
- if [ "${RC_SVCNAME}" != "asterisk" ]; then
- WRAPPER_OPTS="${WRAPPER_OPTS} --instance ${RC_SVCNAME#asterisk.}"
- fi
- WRAPPER_OPTS="${WRAPPER_OPTS} --rundir ${ast_rundir}"
-
- # ensure that ASTERISK_RESTART_DELAY is integer.
- ASTERISK_RESTART_DELAY="$(echo "${ASTERISK_RESTART_DELAY}" | sed -re 's/^([0-9]*).*/\1/')"
- [ -z "${ASTERISK_RESTART_DELAY}" ] && ASTERISK_RESTART_DELAY=5
- WRAPPER_OPTS="${WRAPPER_OPTS} --restartdelay ${ASTERISK_RESTART_DELAY}"
-
- if [ -n "${ASTERISK_CORE_SIZE}" ] &&
- [ "${ASTERISK_CORE_SIZE}" != "0" ]; then
- WRAPPER_OPTS="${WRAPPER_OPTS} --dumpcore ${ASTERISK_CORE_SIZE}"
- OPTS="${OPTS} -g"
-
- if [ -n "${ASTERISK_CORE_DIR}" ] && \
- [ ! -d "${ASTERISK_CORE_DIR}" ]
- then
- checkpath -d -m 0755 -o ${ast_user}:${ast_group} "${ASTERISK_CORE_DIR}"
- fi
- ASTERISK_CORE_DIR="${ASTERISK_CORE_DIR:-/tmp}"
-
- cd "${ASTERISK_CORE_DIR}"
- einfo "Core dump size : ${ASTERISK_CORE_SIZE}"
- einfo "Core dump location : ${ASTERISK_CORE_DIR}"
-
- if [ -n "${ASTERISK_CORE_COMPRESS}" ]; then
- einfo "Core compression tool : ${ASTERISK_CORE_COMPRESS}"
- WRAPPER_OPTS="${WRAPPER_OPTS} --corecompress ${ASTERISK_CORE_COMPRESS}"
- fi
-
- if yesno "${ASTERISK_CORE_USEHOSTNAME}"; then
- WRAPPER_OPTS="${WRAPPER_OPTS} --corerename core-%H-%D-%T"
- else
- WRAPPER_OPTS="${WRAPPER_OPTS} --corerename core-%D-%T"
- fi
- fi
-
- if [ -n "${ASTERISK_MAX_FD}" ]; then
- WRAPPER_OPTS="${WRAPPER_OPTS} --maxfd ${ASTERISK_MAX_FD}"
- einfo "Max open filedescriptors : ${ASTERISK_MAX_FD}"
- fi
-
- if [ -n "${ASTERISK_NICE}" ]; then
- if [ ${ASTERISK_NICE} -ge -20 ] && \
- [ ${ASTERISK_NICE} -le 19 ]; then
- einfo "Nice level : ${ASTERISK_NICE}"
- WRAPPER_OPTS="${WRAPPER_OPTS} --nicelevel ${ASTERISK_NICE}"
- else
- eerror "Nice value must be between -20 and 19"
- return 1
- fi
- fi
-
- if [ -n "${ASTERISK_NOTIFY_EMAIL}" ]; then
- if [ -x /usr/sbin/sendmail ]; then
- einfo "Email notifications go to : ${ASTERISK_NOTIFY_EMAIL}"
- WRAPPER_OPTS="${WRAPPER_OPTS} --crashemail ${ASTERISK_NOTIFY_EMAIL}"
- else
- ewarn "Notifications disabled, /usr/sbin/sendmail doesn't exist or is not executable!"
- fi
- fi
-
- if [ -n "${ASTERISK_TTY}" ]; then
- for x in "${ASTERISK_TTY}" \
- "/dev/tty${ASTERISK_TTY}" \
- "/dev/vc/${ASTERISK_TTY}"
- do
- if [ -c "${x}" ]; then
- TTY="${x}"
- fi
- done
- if [ -n "${TTY}" ]; then
- einfo "Messages are sent to : ${TTY}"
- WRAPPER_OPTS="${WRAPPER_OPTS} --tty ${TTY}"
- else
- ewarn "ASTERISK_TTY=${TTY} ignored, not valid."
- fi
- fi
-
- if yesno "${ASTERISK_CONSOLE}" && [ -n "${TTY}" ]; then
- einfo "Starting Asterisk console : Yes"
- OPTS="${OPTS} -c"
- fi
-
- if ! getent passwd "${ast_user}" >/dev/null 2>&1; then
- eerror "Requested to run asterisk as ${ast_user}, which doesn't exist."
- return 1
- fi
- OPTS="${OPTS} -U ${ast_user}"
-
- if [ -n "${ast_group}" ] && ! getent group "${ast_group}" >/dev/null 2>&1; then
- eerror "Requested to run ${ast_instancename} with group ${ast_group}, which doesn't exist."
- return 1
- fi
- [ -n "${ast_group}" ] && OPTS="${OPTS} -G ${ast_group}"
-
- if [ "${ast_user}" = root ]; then
- ewarn "Starting asterisk as root is not recommended (SERIOUS SECURITY CONSIDERATIONS)."
- elif [ "${ast_group}" = root ]; then
- ewarn "Starting asterisk with group root is not recommended (SERIOUS SECURITY CONSIDERATIONS)."
- fi
-
- checkpath -d -m 0755 -o "${ast_user}:${ast_group}" "${ast_logdir}" "${ast_rundir}"
- checkpath -d -m 0750 -o "${ast_user}:${ast_group}" "${ast_cachedir}"
-
- einfo "Starting asterisk as : ${ast_user}:${ast_group:-${ast_pgroup} (+supplementaries)}"
- einfo "Wrapper options : ${WRAPPER_OPTS}"
- einfo "Asterisk options : ${OPTS}"
-
- /usr/sbin/asterisk_wrapper ${WRAPPER_OPTS} -- ${OPTS} &
- result=$?
-
- if [ $result -eq 0 ]; then
- # 2 seconds should be enough for asterisk to start
- sleep 2
- is_running
- result=$?
-
- [ $result -eq 0 ] || wrapperstop
- fi
-
- eoutdent
- eend $result
-
- if [ $result -eq 0 ] && yesno "${ASTERISK_WAITBOOTED}"; then
- if [ ! -r "${ast_rundir}/asterisk.ctl" ]; then
- # asterisk can crash during startup ...
- ebegin "Waiting for ctl file to appear"
- while is_running && [ ! -r "${ast_rundir}/asterisk.ctl" ]; do
- sleep 1
- done
- is_running
- result=$?
- eend $result
- fi
- if [ $result -eq 0 ]; then
- ebegin "Waiting for ${ast_instancename} to fully boot"
- /usr/sbin/asterisk -C "${ast_confdir}/asterisk.conf" -r -x "core waitfullybooted" >/dev/null 2>&1
- eend $?
- fi
- fi
-
- return $result
-}
-
-wrapperstop() {
- # Older path.
- if [ -r "${ast_rundir}/wrapper_loop.running" ]; then
- ebegin "Signalling ${ast_instancename} wrapper script to terminate"
- rm "${ast_rundir}/wrapper_loop.running"
- eend $?
- fi
-
- if [ -r "${ast_rundir}/asterisk_wrapper.pid" ]; then
- ebegin "Signalling ${ast_instancename} wrapper script to terminate"
- rm "${ast_rundir}/asterisk_wrapper.pid"
- eend $?
- fi
-
- return 0
-}
-
-forcestop() {
- setup_svc_variables || return $?
-
- # Just to be sure - when we want to forcestop we should make it all tear down.
- wrapperstop
-
- ebegin "Stopping ${ast_instancename} PBX"
- start-stop-daemon --stop --pidfile /run/asterisk/asterisk.pid
- eend $?
-}
-
-stop() {
- setup_svc_variables || return $?
-
- wrapperstop
-
- if ! is_running; then
- eerror "${ast_instancename} is not running!"
- return 0
- fi
-
- ebegin "Stopping ${ast_instancename} PBX ${ast_stop_method}"
- /usr/sbin/asterisk -C "${ast_confdir}/asterisk.conf" -r -x "core stop ${ast_stop_method}" >/dev/null 2>&1
- # Now we have to wait until asterisk has _really_ stopped.
- sleep 1
- if is_running; then
- einfon "Waiting for ${ast_instancename} to shutdown ."
- local cnt=0
- while is_running; do
- cnt="$(expr $cnt + 2)"
- if [ ${ast_stop_timeout} -gt 0 -a $cnt -gt ${ast_stop_timeout} ] ; then
- echo
- eend 1 "Failed waiting for ${ast_instancename} to stop."
- return 1
- fi
- sleep 2
- printf "."
- done
- echo
- fi
- eend 0
-}
-
-reload() {
- setup_svc_variables || return $?
-
- if is_running; then
- ebegin "Requesting ${ast_instancename} to reload configuration"
- /usr/sbin/asterisk -C "${ast_confdir}/asterisk.conf" -r -x "module reload" >/dev/null 2>&1
- eend $?
- else
- eerror "${ast_instancename} is not running!"
- fi
-}
diff --git a/net-misc/asterisk/files/initd-18.17.1-20.2.1 b/net-misc/asterisk/files/initd-18.17.1-20.2.1
deleted file mode 100644
index 7d48b36456bf..000000000000
--- a/net-misc/asterisk/files/initd-18.17.1-20.2.1
+++ /dev/null
@@ -1,311 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-extra_started_commands="forcestop reload"
-
-depend() {
- need net
- use nscd dns dahdi mysql postgresql slapd capi
-}
-
-is_running() {
- [ -r "${ast_rundir}/asterisk.pid" ] || return 1
- PID="$(cat "${ast_rundir}/asterisk.pid")"
- [ -d "/proc/${PID}" ] || return 1
- EXE="$(readlink -f /proc/${PID}/exe)"
- EXE="${EXE% (deleted)}" # in case asterisk got upgraded and we're still looking at an old one.
- [ "${EXE}" = /usr/sbin/asterisk ] || return 1 # pid got re-used for another process.
-
- # PID reported in pidfile is active, and is still an asterisk instance.
- return 0
-}
-
-# Sets up a few variables for us for use
-# ast_instancename: eg, asterisk when RC_SVCNAME=asterisk, or asterisk(foo) when asterisk.foo.
-# ast_rundir: directory to be used as run folder (pid and ctl files).
-setup_svc_variables()
-{
- local t
-
- ast_instancename=asterisk
- ast_rundir=/run/${RC_SVCNAME}
- ast_logdir=/var/log/${RC_SVCNAME}
- ast_confdir=/etc/${RC_SVCNAME}
- ast_cachedir=/var/cache/asterisk
- ast_stop_timeout=120
- ast_stop_method="gracefully"
-
- if [ "${RC_SVCNAME}" != "asterisk" ]; then
- t="${RC_SVCNAME#asterisk.}"
- if [ "${RC_SVCNAME}" = "${t}" ]; then
- eerror "Invalid SVCNAME of ${RC_SVCNAME}, must be of the format asterisk.name."
- return 1
- fi
- ast_instancename="${ast_instancename}(${t})"
- fi
-
- [ -n "${ASTERISK_RUNDIR}" ] && ast_rundir="${ASTERISK_RUNDIR}"
- [ -n "${ASTERISK_LOGDIR}" ] && ast_logdir="${ASTERISK_LOGDIR}"
- [ -n "${ASTERISK_CONFDIR}" ] && ast_confdir="${ASTERISK_CONFDIR}"
- [ -n "${ASTERISK_CACHEDIR}" ] && ast_confdir="${ASTERISK_CACHEDIR}"
- [ -n "${ASTERISK_STOP_TIMEOUT}" ] && ast_stop_timeout="${ASTERISK_STOP_TIMEOUT}"
- case "${ASTERISK_STOP_METHOD}" in
- gracefully|when\ convenient|now)
- ast_stop_method="${ASTERISK_STOP_METHOD}"
- ;;
- esac
- ast_group=
- if [ -n "${ASTERISK_USER}" ]; then
- ast_user="${ASTERISK_USER%%:*}"
- if [ "${ast_user}" != "${ASTERISK_USER}" ]; then
- ast_group="${ASTERISK_USER#*:}"
- ast_group="${ast_group%%:*}"
- fi
- fi
-
- [ -z "${ast_user}" ] && ast_user=asterisk
-
- ast_pgroup="$(getent group $(getent passwd "${ast_user}" | awk -F: '{ print $4 }') | sed -re 's/:.*//')"
-
- return 0
-}
-
-start() {
- local OPTS PID
- local tmp x
-
- local OPTS ARGS WRAPPER_OPTS
-
- setup_svc_variables || return $?
-
- ebegin "Starting ${ast_instancename} PBX"
-
- eindent
-
- # filter (redundant) arguments
- OPTS="$(echo "${ASTERISK_OPTS}" | sed -re "s:-[cfF]::g")"
-
- # default options
- OPTS="${OPTS}${OPTS:+ }-C ${ast_confdir}/asterisk.conf -f" # don't fork / detach breaks wrapper script...
-
- WRAPPER_OPTS="--syslog"
- if [ "${RC_SVCNAME}" != "asterisk" ]; then
- WRAPPER_OPTS="${WRAPPER_OPTS} --instance ${RC_SVCNAME#asterisk.}"
- fi
- WRAPPER_OPTS="${WRAPPER_OPTS} --rundir ${ast_rundir}"
-
- # ensure that ASTERISK_RESTART_DELAY is integer.
- ASTERISK_RESTART_DELAY="$(echo "${ASTERISK_RESTART_DELAY}" | sed -re 's/^([0-9]*).*/\1/')"
- [ -z "${ASTERISK_RESTART_DELAY}" ] && ASTERISK_RESTART_DELAY=5
- WRAPPER_OPTS="${WRAPPER_OPTS} --restartdelay ${ASTERISK_RESTART_DELAY}"
-
- if [ -n "${ASTERISK_CORE_SIZE}" ] &&
- [ "${ASTERISK_CORE_SIZE}" != "0" ]; then
- WRAPPER_OPTS="${WRAPPER_OPTS} --dumpcore ${ASTERISK_CORE_SIZE}"
- OPTS="${OPTS} -g"
-
- if [ -n "${ASTERISK_CORE_DIR}" ] && \
- [ ! -d "${ASTERISK_CORE_DIR}" ]
- then
- checkpath -d -m 0755 -o ${ast_user}:${ast_group} "${ASTERISK_CORE_DIR}"
- fi
- ASTERISK_CORE_DIR="${ASTERISK_CORE_DIR:-/tmp}"
-
- cd "${ASTERISK_CORE_DIR}"
- einfo "Core dump size : ${ASTERISK_CORE_SIZE}"
- einfo "Core dump location : ${ASTERISK_CORE_DIR}"
-
- if [ -n "${ASTERISK_CORE_COMPRESS}" ]; then
- einfo "Core compression tool : ${ASTERISK_CORE_COMPRESS}"
- WRAPPER_OPTS="${WRAPPER_OPTS} --corecompress ${ASTERISK_CORE_COMPRESS}"
- fi
-
- if yesno "${ASTERISK_CORE_USEHOSTNAME}"; then
- WRAPPER_OPTS="${WRAPPER_OPTS} --corerename core-%H-%D-%T"
- else
- WRAPPER_OPTS="${WRAPPER_OPTS} --corerename core-%D-%T"
- fi
- else
- cd /
- fi
-
- if [ -n "${ASTERISK_MAX_FD}" ]; then
- WRAPPER_OPTS="${WRAPPER_OPTS} --maxfd ${ASTERISK_MAX_FD}"
- einfo "Max open filedescriptors : ${ASTERISK_MAX_FD}"
- fi
-
- if [ -n "${ASTERISK_NICE}" ]; then
- if [ ${ASTERISK_NICE} -ge -20 ] && \
- [ ${ASTERISK_NICE} -le 19 ]; then
- einfo "Nice level : ${ASTERISK_NICE}"
- WRAPPER_OPTS="${WRAPPER_OPTS} --nicelevel ${ASTERISK_NICE}"
- else
- eerror "Nice value must be between -20 and 19"
- return 1
- fi
- fi
-
- if [ -n "${ASTERISK_NOTIFY_EMAIL}" ]; then
- if [ -x /usr/sbin/sendmail ]; then
- einfo "Email notifications go to : ${ASTERISK_NOTIFY_EMAIL}"
- WRAPPER_OPTS="${WRAPPER_OPTS} --crashemail ${ASTERISK_NOTIFY_EMAIL}"
- else
- ewarn "Notifications disabled, /usr/sbin/sendmail doesn't exist or is not executable!"
- fi
- fi
-
- if [ -n "${ASTERISK_TTY}" ]; then
- for x in "${ASTERISK_TTY}" \
- "/dev/tty${ASTERISK_TTY}" \
- "/dev/vc/${ASTERISK_TTY}"
- do
- if [ -c "${x}" ]; then
- TTY="${x}"
- fi
- done
- if [ -n "${TTY}" ]; then
- einfo "Messages are sent to : ${TTY}"
- WRAPPER_OPTS="${WRAPPER_OPTS} --tty ${TTY}"
- else
- ewarn "ASTERISK_TTY=${TTY} ignored, not valid."
- fi
- fi
-
- if yesno "${ASTERISK_CONSOLE}" && [ -n "${TTY}" ]; then
- einfo "Starting Asterisk console : Yes"
- OPTS="${OPTS} -c"
- fi
-
- if ! getent passwd "${ast_user}" >/dev/null 2>&1; then
- eerror "Requested to run asterisk as ${ast_user}, which doesn't exist."
- return 1
- fi
- OPTS="${OPTS} -U ${ast_user}"
-
- if [ -n "${ast_group}" ] && ! getent group "${ast_group}" >/dev/null 2>&1; then
- eerror "Requested to run ${ast_instancename} with group ${ast_group}, which doesn't exist."
- return 1
- fi
- [ -n "${ast_group}" ] && OPTS="${OPTS} -G ${ast_group}"
-
- if [ "${ast_user}" = root ]; then
- ewarn "Starting asterisk as root is not recommended (SERIOUS SECURITY CONSIDERATIONS)."
- elif [ "${ast_group}" = root ]; then
- ewarn "Starting asterisk with group root is not recommended (SERIOUS SECURITY CONSIDERATIONS)."
- fi
-
- checkpath -d -m 0755 -o "${ast_user}:${ast_group}" "${ast_logdir}" "${ast_rundir}"
- checkpath -d -m 0750 -o "${ast_user}:${ast_group}" "${ast_cachedir}"
-
- einfo "Starting asterisk as : ${ast_user}:${ast_group:-${ast_pgroup} (+supplementaries)}"
- einfo "Wrapper options : ${WRAPPER_OPTS}"
- einfo "Asterisk options : ${OPTS}"
-
- /usr/sbin/asterisk_wrapper ${WRAPPER_OPTS} -- ${OPTS} &
- result=$?
-
- if [ $result -eq 0 ]; then
- # 2 seconds should be enough for asterisk to start
- sleep 2
- is_running
- result=$?
-
- [ $result -eq 0 ] || wrapperstop
- fi
-
- eoutdent
- eend $result
-
- if [ $result -eq 0 ] && yesno "${ASTERISK_WAITBOOTED}"; then
- if [ ! -r "${ast_rundir}/asterisk.ctl" ]; then
- # asterisk can crash during startup ...
- ebegin "Waiting for ctl file to appear"
- while is_running && [ ! -r "${ast_rundir}/asterisk.ctl" ]; do
- sleep 1
- done
- is_running
- result=$?
- eend $result
- fi
- if [ $result -eq 0 ]; then
- ebegin "Waiting for ${ast_instancename} to fully boot"
- /usr/sbin/asterisk -C "${ast_confdir}/asterisk.conf" -r -x "core waitfullybooted" >/dev/null 2>&1
- eend $?
- fi
- fi
-
- return $result
-}
-
-wrapperstop() {
- # Older path.
- if [ -r "${ast_rundir}/wrapper_loop.running" ]; then
- ebegin "Signalling ${ast_instancename} wrapper script to terminate"
- rm "${ast_rundir}/wrapper_loop.running"
- eend $?
- fi
-
- if [ -r "${ast_rundir}/asterisk_wrapper.pid" ]; then
- ebegin "Signalling ${ast_instancename} wrapper script to terminate"
- rm "${ast_rundir}/asterisk_wrapper.pid"
- eend $?
- fi
-
- return 0
-}
-
-forcestop() {
- setup_svc_variables || return $?
-
- # Just to be sure - when we want to forcestop we should make it all tear down.
- wrapperstop
-
- ebegin "Stopping ${ast_instancename} PBX"
- start-stop-daemon --stop --pidfile /run/asterisk/asterisk.pid
- eend $?
-}
-
-stop() {
- setup_svc_variables || return $?
-
- wrapperstop
-
- if ! is_running; then
- eerror "${ast_instancename} is not running!"
- return 0
- fi
-
- ebegin "Stopping ${ast_instancename} PBX ${ast_stop_method}"
- /usr/sbin/asterisk -C "${ast_confdir}/asterisk.conf" -r -x "core stop ${ast_stop_method}" >/dev/null 2>&1
- # Now we have to wait until asterisk has _really_ stopped.
- sleep 1
- if is_running; then
- einfon "Waiting for ${ast_instancename} to shutdown ."
- local cnt=0
- while is_running; do
- cnt="$(expr $cnt + 2)"
- if [ ${ast_stop_timeout} -gt 0 -a $cnt -gt ${ast_stop_timeout} ] ; then
- echo
- eend 1 "Failed waiting for ${ast_instancename} to stop."
- return 1
- fi
- sleep 2
- printf "."
- done
- echo
- fi
- eend 0
-}
-
-reload() {
- setup_svc_variables || return $?
-
- if is_running; then
- ebegin "Requesting ${ast_instancename} to reload configuration"
- /usr/sbin/asterisk -C "${ast_confdir}/asterisk.conf" -r -x "module reload" >/dev/null 2>&1
- eend $?
- else
- eerror "${ast_instancename} is not running!"
- fi
-}