summaryrefslogtreecommitdiff
path: root/comms/asterisk
diff options
context:
space:
mode:
authorjnemeth <jnemeth@pkgsrc.org>2014-07-29 04:20:55 +0000
committerjnemeth <jnemeth@pkgsrc.org>2014-07-29 04:20:55 +0000
commit1939294062a04187534ea9ceaf37032737c07049 (patch)
tree313ba230f29d4b3ca3d02ad38b65366d88f7bb06 /comms/asterisk
parent0e535e900fa66464ae918a282cf388add48fe468 (diff)
downloadpkgsrc-1939294062a04187534ea9ceaf37032737c07049.tar.gz
Update to Asterisk 11.11.0: this is primarily a bugfix release.
pkgsrc change: MAKE_JOBS_SAFE=NO from joerg@ The Asterisk Development Team has announced the release of Asterisk 11.11.0. The release of Asterisk 11.11.0 resolves several issues reported by the community and would have not been possible without your participation. Thank you! The following are the issues resolved in this release: Bugs fixed in this release: ----------------------------------- * ASTERISK-22551 - Session timer : UAS (Asterisk) starts counting at Invite, UAC starts counting at 200 OK. (Reported by i2045) * ASTERISK-23792 - Mutex left locked in chan_unistim.c (Reported by Peter Whisker) * ASTERISK-23582 - [patch]Inconsistent column length in *odbc (Reported by Walter Doekes) * ASTERISK-23803 - AMI action UpdateConfig EmptyCat clears all categories but the requested one (Reported by zvision) * ASTERISK-23035 - ConfBridge with name longer than max (32 chars) results in several bridges with same conf_name (Reported by Iñaki Cívico) * ASTERISK-23824 - ConfBridge: Users cannot be muted via CLI or AMI when waiting to enter a conference (Reported by Matt Jordan) * ASTERISK-23683 - #includes - wildcard character in a path more than one directory deep - results in no config parsing on module reload (Reported by tootai) * ASTERISK-23827 - autoservice thread doesn't exit at shutdown (Reported by Corey Farrell) * ASTERISK-23609 - Security: AMI action MixMonitor allows arbitrary programs to be run (Reported by Corey Farrell) * ASTERISK-23673 - Security: DOS by consuming the number of allowed HTTP connections. (Reported by Richard Mudgett) * ASTERISK-23246 - DEBUG messages in sdp_crypto.c display despite a DEBUG level of zero (Reported by Rusty Newton) * ASTERISK-23766 - [patch] Specify timeout for database write in SQLite (Reported by Igor Goncharovsky) * ASTERISK-23844 - Load of pbx_lua fails on sample extensions.lua with Lua 5.2 or greater due to addition of goto statement (Reported by Rusty Newton) * ASTERISK-23818 - PBX_Lua: after asterisk startup module is loaded, but dialplan not available (Reported by Dennis Guse) * ASTERISK-23834 - res_rtp_asterisk debug message gives wrong length if ICE (Reported by Richard Kenner) * ASTERISK-23790 - [patch] - SIP From headers longer than 256 characters result in dropped call and 'No closing bracket' warnings. (Reported by uniken1) * ASTERISK-23917 - res_http_websocket: Delay in client processing large streams of data causes disconnect and stuck socket (Reported by Matt Jordan) * ASTERISK-23908 - [patch]When using FEC error correction, asterisk tries considers negative sequence numbers as missing (Reported by Torrey Searle) * ASTERISK-23921 - refcounter.py uses excessive ram for large refs files (Reported by Corey Farrell) * ASTERISK-23948 - REF_DEBUG fails to record ao2_ref against objects that were already freed (Reported by Corey Farrell) * ASTERISK-23916 - [patch]SIP/SDP fmtp line may include whitespace between attributes (Reported by Alexander Traud) * ASTERISK-23984 - Infinite loop possible in ast_careful_fwrite() (Reported by Steve Davies) * ASTERISK-23897 - [patch]Change in SETUP ACK handling (checking PI) in revision 413765 breaks working environments (Reported by Pavel Troller) Improvements made in this release: ----------------------------------- * ASTERISK-23492 - Add option to safe_asterisk to disable backgrounding (Reported by Walter Doekes) * ASTERISK-22961 - [patch] DTLS-SRTP not working with SHA-256 (Reported by Jay Jideliov) For a full list of changes in this release, please see the ChangeLog: http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-11.11.0 Thank you for your continued support of Asterisk!
Diffstat (limited to 'comms/asterisk')
-rw-r--r--comms/asterisk/Makefile5
-rw-r--r--comms/asterisk/distinfo17
-rw-r--r--comms/asterisk/patches/patch-apps_app__queue.c52
-rw-r--r--comms/asterisk/patches/patch-channels_chan__sip.c42
4 files changed, 90 insertions, 26 deletions
diff --git a/comms/asterisk/Makefile b/comms/asterisk/Makefile
index 3b47be5a1f1..4f53f2c4765 100644
--- a/comms/asterisk/Makefile
+++ b/comms/asterisk/Makefile
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile,v 1.108 2014/07/02 03:06:24 jnemeth Exp $
+# $NetBSD: Makefile,v 1.109 2014/07/29 04:20:55 jnemeth Exp $
#
# NOTE: when updating this package, there are two places that sound
# tarballs need to be checked
-DISTNAME= asterisk-11.10.2
+DISTNAME= asterisk-11.11.0
DIST_SUBDIR= ${PKGNAME_NOREV}
DISTFILES= ${DEFAULT_DISTFILES}
EXTRACT_ONLY= ${DISTNAME}.tar.gz
@@ -16,6 +16,7 @@ OWNER= jnemeth@NetBSD.org
HOMEPAGE= http://www.asterisk.org/
COMMENT= The Asterisk Software PBX
LICENSE= gnu-gpl-v2
+MAKE_JOBS_SAFE= NO
# known to have issues on i386, block the package until the bug is fixed
NOT_FOR_PLATFORM= NetBSD-*-i386
diff --git a/comms/asterisk/distinfo b/comms/asterisk/distinfo
index 929736dec34..39162a4efec 100644
--- a/comms/asterisk/distinfo
+++ b/comms/asterisk/distinfo
@@ -1,23 +1,24 @@
-$NetBSD: distinfo,v 1.63 2014/07/02 03:06:24 jnemeth Exp $
+$NetBSD: distinfo,v 1.64 2014/07/29 04:20:55 jnemeth Exp $
-SHA1 (asterisk-11.10.2/asterisk-11.10.2.tar.gz) = 14a67a52d84931015c06390212a84aabeeb4d8b5
-RMD160 (asterisk-11.10.2/asterisk-11.10.2.tar.gz) = 69ed569eb5bdb6b78b012302ab1f11cc154c9ba7
-Size (asterisk-11.10.2/asterisk-11.10.2.tar.gz) = 34846584 bytes
-SHA1 (asterisk-11.10.2/asterisk-extra-sounds-en-gsm-1.4.14.tar.gz) = 14403cd023e812565085c8232210b8b439274ecf
-RMD160 (asterisk-11.10.2/asterisk-extra-sounds-en-gsm-1.4.14.tar.gz) = 675fc1f3cedd0e17b62a8285f9f0527783cfb1d3
-Size (asterisk-11.10.2/asterisk-extra-sounds-en-gsm-1.4.14.tar.gz) = 4386590 bytes
+SHA1 (asterisk-11.11.0/asterisk-11.11.0.tar.gz) = b50975d7eee7d365678cebad6bb3331a7293cf20
+RMD160 (asterisk-11.11.0/asterisk-11.11.0.tar.gz) = 5dbd4b3a22e4d8660ed61f95cd87c594b090601c
+Size (asterisk-11.11.0/asterisk-11.11.0.tar.gz) = 34867274 bytes
+SHA1 (asterisk-11.11.0/asterisk-extra-sounds-en-gsm-1.4.14.tar.gz) = 14403cd023e812565085c8232210b8b439274ecf
+RMD160 (asterisk-11.11.0/asterisk-extra-sounds-en-gsm-1.4.14.tar.gz) = 675fc1f3cedd0e17b62a8285f9f0527783cfb1d3
+Size (asterisk-11.11.0/asterisk-extra-sounds-en-gsm-1.4.14.tar.gz) = 4386590 bytes
SHA1 (patch-Makefile) = ed581d46026e8e89ed8be374c7085efca19911d2
SHA1 (patch-apps_app__confbridge.c) = c815905994355a19c32e8e3e2eb5dc9f1679eb29
SHA1 (patch-apps_app__dial.c) = 0f78d2571af88384a2d472ece08bf4b06f9ad211
SHA1 (patch-apps_app__followme.c) = a54e08d0dd0b6ff12281d4b7b8447707c1cbe20a
SHA1 (patch-apps_app__meetme.c) = 73485931d63b6482aa549ee73ed6a72ec0e5f9a0
-SHA1 (patch-apps_app__queue.c) = 9d78c6fdaaf7f583f3af8972d32ed3b2c3e67d41
+SHA1 (patch-apps_app__queue.c) = d13a54ba203f182b5d61cf0c2a22f00055e1f358
SHA1 (patch-apps_app__skel.c) = e661a53b61d36343c54be7ad9ea6cde6cb10f180
SHA1 (patch-apps_app__sms.c) = d89b27a9df04d4da98d562241c07d25d182baefc
SHA1 (patch-apps_confbridge_conf__config__parser.c) = 42d5a6e2ce837111d06fa9154c7f66403cb83553
SHA1 (patch-build__tools_mkpkgconfig) = 2bd3c0e24bc6d721cc234feb19b64a57106fcbe4
SHA1 (patch-channels_chan__motif.c) = db6c97ba02a441633338d492032d78cd86f094f5
SHA1 (patch-channels_chan__oss.c) = 0be259a83c4425d08b693a54c43896da039df721
+SHA1 (patch-channels_chan__sip.c) = 61c67e6d7e0a6e27e98614f6d4de15b64c73e7e1
SHA1 (patch-configure) = 88619fe9072ff69ed8da0a1917ac3852d10998a4
SHA1 (patch-configure.ac) = 2fdae524cfc95f152b86a32405b80f6edae6fa20
SHA1 (patch-contrib_scripts_autosupport) = c6c1d917dd0544c4f54ae760f68cbcd1f35030f4
diff --git a/comms/asterisk/patches/patch-apps_app__queue.c b/comms/asterisk/patches/patch-apps_app__queue.c
index 0bf10c742ac..34b4b98f6c9 100644
--- a/comms/asterisk/patches/patch-apps_app__queue.c
+++ b/comms/asterisk/patches/patch-apps_app__queue.c
@@ -1,17 +1,28 @@
-$NetBSD: patch-apps_app__queue.c,v 1.3 2013/12/23 01:34:03 jnemeth Exp $
+$NetBSD: patch-apps_app__queue.c,v 1.4 2014/07/29 04:20:55 jnemeth Exp $
---- apps/app_queue.c.orig 2013-09-12 00:02:37.000000000 +0000
+--- apps/app_queue.c.orig 2014-06-12 15:40:41.000000000 +0000
+++ apps/app_queue.c
-@@ -4735,7 +4735,7 @@ static int wait_our_turn(struct queue_en
+@@ -4045,8 +4045,8 @@ static void record_abandoned(struct queu
+ "Uniqueid: %s\r\n"
+ "Position: %d\r\n"
+ "OriginalPosition: %d\r\n"
+- "HoldTime: %d\r\n",
+- qe->parent->name, ast_channel_uniqueid(qe->chan), qe->pos, qe->opos, (int)(time(NULL) - qe->start));
++ "HoldTime: %jd\r\n",
++ qe->parent->name, ast_channel_uniqueid(qe->chan), qe->pos, qe->opos, (intmax_t)(time(NULL) - qe->start));
- if ((status = get_member_status(qe->parent, qe->max_penalty, qe->min_penalty, qe->parent->leavewhenempty))) {
+ qe->parent->callsabandoned++;
+ ao2_unlock(qe->parent);
+@@ -4818,7 +4818,7 @@ static int wait_our_turn(struct queue_en
+
+ if ((status = get_member_status(qe->parent, qe->max_penalty, qe->min_penalty, qe->parent->leavewhenempty, 0))) {
*reason = QUEUE_LEAVEEMPTY;
- ast_queue_log(qe->parent->name, ast_channel_uniqueid(qe->chan), "NONE", "EXITEMPTY", "%d|%d|%ld", qe->pos, qe->opos, (long) time(NULL) - qe->start);
+ ast_queue_log(qe->parent->name, ast_channel_uniqueid(qe->chan), "NONE", "EXITEMPTY", "%d|%d|%jd", qe->pos, qe->opos, (intmax_t) time(NULL) - qe->start);
leave_queue(qe);
break;
}
-@@ -4975,12 +4975,12 @@ static void send_agent_complete(const st
+@@ -5058,12 +5058,12 @@ static void send_agent_complete(const st
"Channel: %s\r\n"
"Member: %s\r\n"
"MemberName: %s\r\n"
@@ -27,7 +38,7 @@ $NetBSD: patch-apps_app__queue.c,v 1.3 2013/12/23 01:34:03 jnemeth Exp $
qe->parent->eventwhencalled == QUEUE_EVENT_VARIABLES ? vars2manager(qe->chan, vars, vars_len) : "");
}
-@@ -5023,9 +5023,9 @@ static void queue_transfer_fixup(void *d
+@@ -5106,9 +5106,9 @@ static void queue_transfer_fixup(void *d
int callcompletedinsl = qtds->callcompletedinsl;
struct ast_datastore *datastore;
@@ -40,7 +51,7 @@ $NetBSD: patch-apps_app__queue.c,v 1.3 2013/12/23 01:34:03 jnemeth Exp $
update_queue(qe->parent, member, callcompletedinsl, (time(NULL) - callstart));
-@@ -5542,7 +5542,7 @@ static int try_calling(struct queue_ent
+@@ -5625,7 +5625,7 @@ static int try_calling(struct queue_ent
} else if (ast_check_hangup(qe->chan)) {
/* Caller must have hung up just before being connected */
ast_log(LOG_NOTICE, "Caller was about to talk to agent on %s but the caller hungup.\n", ast_channel_name(peer));
@@ -49,7 +60,7 @@ $NetBSD: patch-apps_app__queue.c,v 1.3 2013/12/23 01:34:03 jnemeth Exp $
record_abandoned(qe);
ast_autoservice_chan_hangup_peer(qe->chan, peer);
ao2_ref(member, -1);
-@@ -5591,8 +5591,8 @@ static int try_calling(struct queue_ent
+@@ -5674,8 +5674,8 @@ static int try_calling(struct queue_ent
/* if setqueueentryvar is defined, make queue entry (i.e. the caller) variables available to the channel */
/* use pbx_builtin_setvar to set a load of variables with one call */
if (qe->parent->setqueueentryvar) {
@@ -60,7 +71,7 @@ $NetBSD: patch-apps_app__queue.c,v 1.3 2013/12/23 01:34:03 jnemeth Exp $
pbx_builtin_setvar_multiple(qe->chan, interfacevar);
pbx_builtin_setvar_multiple(peer, interfacevar);
}
-@@ -5809,8 +5809,8 @@ static int try_calling(struct queue_ent
+@@ -5892,8 +5892,8 @@ static int try_calling(struct queue_ent
}
}
qe->handled++;
@@ -71,7 +82,7 @@ $NetBSD: patch-apps_app__queue.c,v 1.3 2013/12/23 01:34:03 jnemeth Exp $
if (ast_channel_cdr(qe->chan)) {
struct ast_cdr *cdr;
-@@ -5864,12 +5864,12 @@ static int try_calling(struct queue_ent
+@@ -5947,12 +5947,12 @@ static int try_calling(struct queue_ent
"Channel: %s\r\n"
"Member: %s\r\n"
"MemberName: %s\r\n"
@@ -87,7 +98,7 @@ $NetBSD: patch-apps_app__queue.c,v 1.3 2013/12/23 01:34:03 jnemeth Exp $
qe->parent->eventwhencalled == QUEUE_EVENT_VARIABLES ? vars2manager(qe->chan, vars, sizeof(vars)) : "");
ast_copy_string(oldcontext, ast_channel_context(qe->chan), sizeof(oldcontext));
ast_copy_string(oldexten, ast_channel_exten(qe->chan), sizeof(oldexten));
-@@ -5901,17 +5901,17 @@ static int try_calling(struct queue_ent
+@@ -5984,17 +5984,17 @@ static int try_calling(struct queue_ent
/* detect a blind transfer */
if (!(ast_channel_softhangup_internal_flag(qe->chan) | ast_channel_softhangup_internal_flag(peer)) && (strcasecmp(oldcontext, ast_channel_context(qe->chan)) || strcasecmp(oldexten, ast_channel_exten(qe->chan)))) {
@@ -112,7 +123,7 @@ $NetBSD: patch-apps_app__queue.c,v 1.3 2013/12/23 01:34:03 jnemeth Exp $
send_agent_complete(qe, queuename, peer, member, callstart, vars, sizeof(vars), AGENT);
}
if ((tds = ast_channel_datastore_find(qe->chan, &queue_transfer_info, NULL))) {
-@@ -7088,8 +7088,8 @@ check_turns:
+@@ -7174,8 +7174,8 @@ check_turns:
record_abandoned(&qe);
reason = QUEUE_TIMEOUT;
res = 0;
@@ -123,8 +134,8 @@ $NetBSD: patch-apps_app__queue.c,v 1.3 2013/12/23 01:34:03 jnemeth Exp $
break;
}
-@@ -7133,7 +7133,7 @@ check_turns:
- if ((status = get_member_status(qe.parent, qe.max_penalty, qe.min_penalty, qe.parent->leavewhenempty))) {
+@@ -7219,7 +7219,7 @@ check_turns:
+ if ((status = get_member_status(qe.parent, qe.max_penalty, qe.min_penalty, qe.parent->leavewhenempty, 0))) {
record_abandoned(&qe);
reason = QUEUE_LEAVEEMPTY;
- ast_queue_log(args.queuename, ast_channel_uniqueid(chan), "NONE", "EXITEMPTY", "%d|%d|%ld", qe.pos, qe.opos, (long)(time(NULL) - qe.start));
@@ -132,7 +143,7 @@ $NetBSD: patch-apps_app__queue.c,v 1.3 2013/12/23 01:34:03 jnemeth Exp $
res = 0;
break;
}
-@@ -7155,7 +7155,7 @@ check_turns:
+@@ -7241,7 +7241,7 @@ check_turns:
record_abandoned(&qe);
reason = QUEUE_TIMEOUT;
res = 0;
@@ -141,7 +152,7 @@ $NetBSD: patch-apps_app__queue.c,v 1.3 2013/12/23 01:34:03 jnemeth Exp $
break;
}
-@@ -7183,8 +7183,8 @@ stop:
+@@ -7269,8 +7269,8 @@ stop:
if (!qe.handled) {
record_abandoned(&qe);
ast_queue_log(args.queuename, ast_channel_uniqueid(chan), "NONE", "ABANDON",
@@ -152,3 +163,12 @@ $NetBSD: patch-apps_app__queue.c,v 1.3 2013/12/23 01:34:03 jnemeth Exp $
res = -1;
} else if (qcontinue) {
reason = QUEUE_CONTINUE;
+@@ -7278,7 +7278,7 @@ stop:
+ }
+ } else if (qe.valid_digits) {
+ ast_queue_log(args.queuename, ast_channel_uniqueid(chan), "NONE", "EXITWITHKEY",
+- "%s|%d|%d|%ld", qe.digits, qe.pos, qe.opos, (long) time(NULL) - qe.start);
++ "%s|%d|%d|%jd", qe.digits, qe.pos, qe.opos, (intmax_t) time(NULL) - qe.start);
+ }
+ }
+
diff --git a/comms/asterisk/patches/patch-channels_chan__sip.c b/comms/asterisk/patches/patch-channels_chan__sip.c
new file mode 100644
index 00000000000..e7f85341ff7
--- /dev/null
+++ b/comms/asterisk/patches/patch-channels_chan__sip.c
@@ -0,0 +1,42 @@
+$NetBSD: patch-channels_chan__sip.c,v 1.1 2014/07/29 04:20:55 jnemeth Exp $
+
+--- channels/chan_sip.c.orig 2014-06-30 19:42:18.000000000 +0000
++++ channels/chan_sip.c
+@@ -17537,6 +17537,8 @@ static int get_rdnis(struct sip_pvt *p,
+ return 0;
+ }
+
++RAII_DECL(char *, tmpf, ast_free);
++
+ /*!
+ * \brief Find out who the call is for.
+ *
+@@ -17554,7 +17556,7 @@ static int get_rdnis(struct sip_pvt *p,
+ static enum sip_get_dest_result get_destination(struct sip_pvt *p, struct sip_request *oreq, int *cc_recall_core_id)
+ {
+ char tmp[256] = "", *uri, *unused_password, *domain;
+- RAII_VAR(char *, tmpf, NULL, ast_free);
++ RAII_VAR(char *, tmpf, NULL);
+ char *from = NULL;
+ struct sip_request *req;
+ char *decoded_uri;
+@@ -18426,6 +18428,8 @@ static enum check_auth_result check_peer
+ return res;
+ }
+
++RAII_DECL(char *, ofbuf, ast_free); /* beware, everyone starts pointing to this */
++RAII_DECL(char *, namebuf, ast_free);
+
+ /*! \brief Check if matching user or peer is defined
+ Match user on From: user name and peer on IP/port
+@@ -18437,8 +18441,8 @@ static enum check_auth_result check_user
+ struct ast_sockaddr *addr, struct sip_peer **authpeer)
+ {
+ char *of, *name, *unused_password, *domain;
+- RAII_VAR(char *, ofbuf, NULL, ast_free); /* beware, everyone starts pointing to this */
+- RAII_VAR(char *, namebuf, NULL, ast_free);
++ RAII_VAR(char *, ofbuf, NULL); /* beware, everyone starts pointing to this */
++ RAII_VAR(char *, namebuf, NULL);
+ enum check_auth_result res = AUTH_DONT_KNOW;
+ char calleridname[256];
+ char *uri2 = ast_strdupa(uri);