head 1.6; access; symbols pkgsrc-2013Q2:1.6.0.4 pkgsrc-2013Q2-base:1.6 pkgsrc-2012Q4:1.6.0.2 pkgsrc-2012Q4-base:1.6 pkgsrc-2012Q2:1.5.0.16 pkgsrc-2012Q2-base:1.5 pkgsrc-2012Q1:1.5.0.14 pkgsrc-2012Q1-base:1.5 pkgsrc-2011Q4:1.5.0.12 pkgsrc-2011Q4-base:1.5 pkgsrc-2011Q3:1.5.0.10 pkgsrc-2011Q3-base:1.5 pkgsrc-2011Q2:1.5.0.8 pkgsrc-2011Q2-base:1.5 pkgsrc-2011Q1:1.5.0.6 pkgsrc-2011Q1-base:1.5 pkgsrc-2010Q4:1.5.0.4 pkgsrc-2010Q4-base:1.5 pkgsrc-2010Q3:1.5.0.2 pkgsrc-2010Q3-base:1.5 pkgsrc-2010Q2:1.4.0.6 pkgsrc-2010Q2-base:1.4 pkgsrc-2010Q1:1.4.0.4 pkgsrc-2010Q1-base:1.4 pkgsrc-2009Q4:1.4.0.2 pkgsrc-2009Q4-base:1.4 pkgsrc-2009Q3:1.3.0.2 pkgsrc-2009Q3-base:1.3 pkgsrc-2009Q2:1.1.1.1.0.2 pkgsrc-2009Q2-base:1.1.1.1 pkgsrc-base:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.6 date 2012.09.14.02.41.09; author jnemeth; state dead; branches; next 1.5; 1.5 date 2010.09.23.23.30.38; author jnemeth; state Exp; branches; next 1.4; 1.4 date 2009.12.30.04.11.02; author jnemeth; state Exp; branches; next 1.3; 1.3 date 2009.09.14.08.44.51; author jnemeth; state Exp; branches; next 1.2; 1.2 date 2009.07.07.08.14.43; author jnemeth; state Exp; branches; next 1.1; 1.1 date 2009.06.12.09.04.57; author jnemeth; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2009.06.12.09.04.57; author jnemeth; state Exp; branches 1.1.1.1.2.1; next ; 1.1.1.1.2.1 date 2009.09.13.14.18.23; author tron; state Exp; branches; next ; desc @@ 1.6 log @Remove Asterisk 1.6. This version series went end-of-line on April 21st, 2012. It most likely has multiple security issues. By this point, all users of this package should have migrated to comms/asterisk18 or comms/asterisk10 as this version has been marked as being deprecated for some time now. Note that this directory is likely to re-appear in late 2017 when Asterisk 16 comes out, assuming the current schedule is followed. However that will be a vastly different version as Asterisk 11 is only in the RC stage now (i.e. it will be five major versions after the one that is expected to be released later this year). @ text @$NetBSD: patch-ax,v 1.5 2010/09/23 23:30:38 jnemeth Exp $ --- apps/app_queue.c.orig 2010-07-28 16:51:11.000000000 +0000 +++ apps/app_queue.c @@@@ -2801,8 +2801,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, qe->chan->uniqueid, qe->pos, qe->opos, (int)(time(NULL) - qe->start)); + "HoldTime: %jd\r\n", + qe->parent->name, qe->chan->uniqueid, qe->pos, qe->opos, (intmax_t)(time(NULL) - qe->start)); qe->parent->callsabandoned++; ao2_unlock(qe->parent); @@@@ -3227,7 +3227,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))) { *reason = QUEUE_LEAVEEMPTY; - ast_queue_log(qe->parent->name, qe->chan->uniqueid, "NONE", "EXITEMPTY", "%d|%d|%ld", qe->pos, qe->opos, (long) time(NULL) - qe->start); + ast_queue_log(qe->parent->name, qe->chan->uniqueid, "NONE", "EXITEMPTY", "%d|%d|%jd", qe->pos, qe->opos, (intmax_t) time(NULL) - qe->start); leave_queue(qe); break; } @@@@ -3421,12 +3421,12 @@@@ static void send_agent_complete(const st "Channel: %s\r\n" "Member: %s\r\n" "MemberName: %s\r\n" - "HoldTime: %ld\r\n" - "TalkTime: %ld\r\n" + "HoldTime: %jd\r\n" + "TalkTime: %jd\r\n" "Reason: %s\r\n" "%s", queuename, qe->chan->uniqueid, peer->name, member->interface, member->membername, - (long)(callstart - qe->start), (long)(time(NULL) - callstart), reason, + (intmax_t)(callstart - qe->start), (intmax_t)(time(NULL) - callstart), reason, qe->parent->eventwhencalled == QUEUE_EVENT_VARIABLES ? vars2manager(qe->chan, vars, vars_len) : ""); } @@@@ -3469,9 +3469,9 @@@@ static void queue_transfer_fixup(void *d int callcompletedinsl = qtds->callcompletedinsl; struct ast_datastore *datastore; - ast_queue_log(qe->parent->name, qe->chan->uniqueid, member->membername, "TRANSFER", "%s|%s|%ld|%ld|%d", - new_chan->exten, new_chan->context, (long) (callstart - qe->start), - (long) (time(NULL) - callstart), qe->opos); + ast_queue_log(qe->parent->name, qe->chan->uniqueid, member->membername, "TRANSFER", "%s|%s|%jd|%jd|%d", + new_chan->exten, new_chan->context, (intmax_t) (callstart - qe->start), + (intmax_t) (time(NULL) - callstart), qe->opos); update_queue(qe->parent, member, callcompletedinsl, (time(NULL) - callstart)); @@@@ -3954,7 +3954,7 @@@@ static int try_calling(struct queue_ent } else if (res2) { /* 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", peer->name); - ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "ABANDON", "%d|%d|%ld", qe->pos, qe->opos, (long) time(NULL) - qe->start); + ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "ABANDON", "%d|%d|%jd", qe->pos, qe->opos, (intmax_t) time(NULL) - qe->start); record_abandoned(qe); ast_hangup(peer); ao2_ref(member, -1); @@@@ -4000,8 +4000,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) { - snprintf(interfacevar, sizeof(interfacevar), "QEHOLDTIME=%ld,QEORIGINALPOS=%d", - (long) time(NULL) - qe->start, qe->opos); + snprintf(interfacevar, sizeof(interfacevar), "QEHOLDTIME=%jd,QEORIGINALPOS=%d", + (intmax_t) time(NULL) - qe->start, qe->opos); pbx_builtin_setvar_multiple(qe->chan, interfacevar); pbx_builtin_setvar_multiple(peer, interfacevar); } @@@@ -4248,8 +4248,8 @@@@ static int try_calling(struct queue_ent ast_log(LOG_WARNING, "Asked to execute an AGI on this channel, but could not find application (agi)!\n"); } qe->handled++; - ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "CONNECT", "%ld|%s|%ld", (long) time(NULL) - qe->start, peer->uniqueid, - (long)(orig - to > 0 ? (orig - to) / 1000 : 0)); + ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "CONNECT", "%jd|%s|%jd", (intmax_t) time(NULL) - qe->start, peer->uniqueid, + (intmax_t)(orig - to > 0 ? (orig - to) / 1000 : 0)); if (update_cdr && qe->chan->cdr) ast_copy_string(qe->chan->cdr->dstchannel, member->membername, sizeof(qe->chan->cdr->dstchannel)); if (qe->parent->eventwhencalled) @@@@ -4259,12 +4259,12 @@@@ static int try_calling(struct queue_ent "Channel: %s\r\n" "Member: %s\r\n" "MemberName: %s\r\n" - "Holdtime: %ld\r\n" + "Holdtime: %jd\r\n" "BridgedChannel: %s\r\n" - "Ringtime: %ld\r\n" + "Ringtime: %jd\r\n" "%s", queuename, qe->chan->uniqueid, peer->name, member->interface, member->membername, - (long) time(NULL) - qe->start, peer->uniqueid, (long)(orig - to > 0 ? (orig - to) / 1000 : 0), + (intmax_t) time(NULL) - qe->start, peer->uniqueid, (intmax_t)(orig - to > 0 ? (orig - to) / 1000 : 0), qe->parent->eventwhencalled == QUEUE_EVENT_VARIABLES ? vars2manager(qe->chan, vars, sizeof(vars)) : ""); ast_copy_string(oldcontext, qe->chan->context, sizeof(oldcontext)); ast_copy_string(oldexten, qe->chan->exten, sizeof(oldexten)); @@@@ -4296,17 +4296,17 @@@@ static int try_calling(struct queue_ent /* detect a blind transfer */ if (!(qe->chan->_softhangup | peer->_softhangup) && (strcasecmp(oldcontext, qe->chan->context) || strcasecmp(oldexten, qe->chan->exten))) { - ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "TRANSFER", "%s|%s|%ld|%ld|%d", - qe->chan->exten, qe->chan->context, (long) (callstart - qe->start), - (long) (time(NULL) - callstart), qe->opos); + ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "TRANSFER", "%s|%s|%jd|%jd|%d", + qe->chan->exten, qe->chan->context, (intmax_t) (callstart - qe->start), + (intmax_t) (time(NULL) - callstart), qe->opos); send_agent_complete(qe, queuename, peer, member, callstart, vars, sizeof(vars), TRANSFER); } else if (ast_check_hangup(qe->chan)) { - ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "COMPLETECALLER", "%ld|%ld|%d", - (long) (callstart - qe->start), (long) (time(NULL) - callstart), qe->opos); + ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "COMPLETECALLER", "%jd|%jd|%d", + (intmax_t) (callstart - qe->start), (intmax_t) (time(NULL) - callstart), qe->opos); send_agent_complete(qe, queuename, peer, member, callstart, vars, sizeof(vars), CALLER); } else { - ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "COMPLETEAGENT", "%ld|%ld|%d", - (long) (callstart - qe->start), (long) (time(NULL) - callstart), qe->opos); + ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "COMPLETEAGENT", "%jd|%jd|%d", + (intmax_t) (callstart - qe->start), (intmax_t) (time(NULL) - callstart), qe->opos); send_agent_complete(qe, queuename, peer, member, callstart, vars, sizeof(vars), AGENT); } if ((tds = ast_channel_datastore_find(qe->chan, &queue_transfer_info, NULL))) { @@@@ -5186,8 +5186,8 @@@@ check_turns: record_abandoned(&qe); reason = QUEUE_TIMEOUT; res = 0; - ast_queue_log(args.queuename, chan->uniqueid,"NONE", "EXITWITHTIMEOUT", "%d|%d|%ld", - qe.pos, qe.opos, (long) time(NULL) - qe.start); + ast_queue_log(args.queuename, chan->uniqueid,"NONE", "EXITWITHTIMEOUT", "%d|%d|%jd", + qe.pos, qe.opos, (intmax_t) time(NULL) - qe.start); break; } @@@@ -5229,7 +5229,7 @@@@ check_turns: if ((status = get_member_status(qe.parent, qe.max_penalty, qe.min_penalty, qe.parent->leavewhenempty))) { record_abandoned(&qe); reason = QUEUE_LEAVEEMPTY; - ast_queue_log(args.queuename, chan->uniqueid, "NONE", "EXITEMPTY", "%d|%d|%ld", qe.pos, qe.opos, (long)(time(NULL) - qe.start)); + ast_queue_log(args.queuename, chan->uniqueid, "NONE", "EXITEMPTY", "%d|%d|%jd", qe.pos, qe.opos, (intmax_t)(time(NULL) - qe.start)); res = 0; break; } @@@@ -5251,7 +5251,7 @@@@ check_turns: record_abandoned(&qe); reason = QUEUE_TIMEOUT; res = 0; - ast_queue_log(qe.parent->name, qe.chan->uniqueid,"NONE", "EXITWITHTIMEOUT", "%d|%d|%ld", qe.pos, qe.opos, (long) time(NULL) - qe.start); + ast_queue_log(qe.parent->name, qe.chan->uniqueid,"NONE", "EXITWITHTIMEOUT", "%d|%d|%jd", qe.pos, qe.opos, (intmax_t) time(NULL) - qe.start); break; } @@@@ -5278,8 +5278,8 @@@@ stop: if (!qe.handled) { record_abandoned(&qe); ast_queue_log(args.queuename, chan->uniqueid, "NONE", "ABANDON", - "%d|%d|%ld", qe.pos, qe.opos, - (long) time(NULL) - qe.start); + "%d|%d|%jd", qe.pos, qe.opos, + (intmax_t) time(NULL) - qe.start); res = -1; } else if (qcontinue) { reason = QUEUE_CONTINUE; @ 1.5 log @ Update to the 1.6.2 series (specifically 1.6.2.13). This is a feature update, so users that are upgrading should read UPDATE.txt. pkgsrc changes: - update to 1.6.2.13 - bury the asterisk-sounds-extra inside this one to keep it in sync - handle sound tarballs directly (upstream had changed this to do a download during the install phase and dump files in $HOME) - add new documentation files: - asterisk.txt - building_queues.txt - database_transactions.txt - followme.txt ======== 1.6.2.13 ======== This release resolves an issue where the .version and ChangeLog files were not updated for 1.6.2.12. Asterisk 1.6.2.13 has no additional changes from 1.6.2.12 other than the .version, ChangeLog and summary files. For a full list of changes in the current release, please see the ChangeLog: http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-1.6.2.13 ======== 1.6.2.12 ======== The release of Asterisk 1.6.2.12 resolves several issues reported by the community and would have not been possible without your participation. Thank you! The following is a sample of the issues resolved in this release: * Fix issue where DNID does not get cleared on a new call when using immediate=yes with ISDN signaling. (Closes issue #17568. Reported by wuwu. Patched by rmudgett) * Several updates to res_config_ldap. (Closes issue #13573. Reported by navkumar. Patched by navkumar, bencer. Tested by suretec) * Prevent loss of Caller ID information set on local channel after masquerade. (Closes issue #17138. Reported by kobaz, patched by jpeeler) * Fix SIP peers memory leak. (Closes issue #17774. Reported, patched by kkm) * Add Danish support to say.conf.sample (Closes issue #17836. Reported, patched by RoadKill) * Ensure SSRC is changed when media source is changed to resolve audio delay. (Closes issue #17404. Reported, tested by sdolloff. Patched by jpeeler) * Only do magic pickup when notifycid is enabled. A new way of doing BLF pickup was introduced into 1.6.2. This feature adds a call-id value into the XML of a SIP_NOTIFY message sent to alert a subscriber that a device is ringing. This option should only be enabled when the new 'notifycid' option is set, but this was not the case. Instead the call-id value was included for every RINGING Notify message, which caused a regression for people who used other methods for call pickup. (Closes issue #17633. Reported, patched by urosh. Patched by dvossel. Tested by: dvossel, urosh, okrief, alecdavis) For a full list of changes in the current release, please see the ChangeLog: http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-1.6.2.12 ======== 1.6.2.11 ======== The release of Asterisk 1.6.2.11 resolves several issues reported by the community and would have not been possible without your participation. Thank you! The following are a few of the issues resolved by community developers: * Send DialPlanComplete as a response, not as a separate event. Otherwise, it goes to all manager sessions and may exclude the current session, if the Events mask excludes it. (Closes issue #17504. Reported, patched by rrb3942) * Allow the "useragent" value to be restored into memory from the realtime backend. This value is purely informational. It does not alter configuration at all. (Closes issue #16029. Reported, patched by Guggemand) * Fix rt(c)p set debug ip taking wrong argument Also clean up some coding errors. (Closes issue #17469. Reported, patched by wdoekes) * Ensure channel placed in meetme in ringing state is properly hung up. An outgoing channel placed in meetme while still ringing which was then hung up would not exit meetme and the channel was not properly destroyed. (Closes issue #15871. Reported, patched by Ivan) * Correct how 100, 200, 300, etc. is said. Also add the crazy British numbers. (Closes issue #16102. Reported, patched by Delvar) * cdr_pgsql does not detect when a table is found. This change adds an ERROR message to let you know when a failure exists to get the columns from the pgsql database, which typically means that the table does not exist. (Closes issue #17478. Reported, patched by kobaz) * Avoid crashing when installing a duplicate translation path with a lower cost. (Closes issue #17092. Reported, patched by moy) * Add missing handling for ringing state for use with queue empty options. (Closes issue #17471. Reported, patched by jazzy) * Fix reporting estimated queue hold time. Just say the number of seconds (after minutes) rather than doing some incorrect calculation with respect to minutes. (Closes issue #17498. Reported, patched by corruptor) For a full list of changes in the current release, please see the ChangeLog: http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-1.6.2.11 ======== 1.6.2.10 ======== The release of Asterisk 1.6.2.10 resolves several issues reported by the community and would have not been possible without your participation. Thank you! The following are a few of the issues resolved by community developers: * Allow users to specify a port for DUNDI peers. (Closes issue #17056. Reported, patched by klaus3000) * Decrease the module ref count in sip_hangup when SIP_DEFER_BYE_ON_TRANSFER is set. (Closes issue #16815. Reported, patched by rain) * If there is realtime configuration, it does not get re-read on reload unless the config file also changes. (Closes issue #16982. Reported, patched by dmitri) * Send AgentComplete manager event for attended transfers. (Closes issue #16819. Reported, patched by elbriga) * Correct manager variable 'EventList' case. (Closes issue #17520. Reported, patched by kobaz) In addition, changes to res_timing_pthread that should make it more stable have also been implemented. For a full list of changes in the current release, please see the ChangeLog: http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-1.6.2.10 ======= 1.6.2.9 ======= The release of Asterisk 1.6.2.9 resolves several issues reported by the community, and would have not been possible without your participation. Thank you! The following are a few of the issues resolved by community developers: * Fix the PickupChan() application (Closes issue #16863. Reported, patched by schern. Patched by cjacobsen. Tested by Graber, cjacobsen, lathama, rickead2000, dvossel) * Improve logging by displaying line number (Closes issue #16303. Reported by dant. Patched by pabelanger. Tested by dant, pabelanger, lmadsen) * Notify CLI when modules are loaded/unloaded (Closes issue #17308. Reported, patched by pabelanger. Tested by russell) * Make the Makefile logic more explicit and move the Snow Leopard logic down to where it's not executed on non-Darwin systems (Closes issue #17028. Reported by pabelanger. Patched by seanbright, tilghman. Tested by pabelanger) * Manager cookies are not compatible with RFC2109. Make that no longer true. (Closes issue #17231. Reported, patched by ecarruda) * With IMAP backend, messages in INBOX were counted twice for MWI (Closes issue #17135. Reported by edhorton. Patched by ebroad, tilghman) * Fix possible segfault when logging (Closes issue #17331. Reported, patched by under. Patched by dvossel) * Fix memory hogging behavior of app_queue (Closes issue #17081. Reported by wliegel. Patched by mmichelson) * Allow type=user SIP endpoints to be loaded properly from realtime (Closes issue #16021. Reported, patched by Guggemand) Additionally, the following issue may be of interest: * Fix transcode_via_sln option with SIP calls and improve PLC usage (Review: https://reviewboard.asterisk.org/r/622/) For a full list of changes in the current release, please see the ChangeLog: http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-1.6.2.9 ======= 1.6.2.8 ======= The release of Asterisk 1.6.2.8 resolves several issues reported by the community, and would have not been possible without your participation. Thank you! The following are a few of the issues resolved by community developers: * Enable auto complete for CLI command 'logger set level'. (Closes issue #17152. Reported, patched by pabelanger) * Make the mixmonitor thread process audio frames faster. (Closes issue #17078. Reported, tested by geoff2010. Patched by dhubbard) * Add missing 'useragent' field to sip-friends.sql file. (Closes issue #17171. Reported, patched by thehar) * Add example dialplan for dialing ISN numbers (http://www.freenum.org) (Closes issue #17058. Reported, patched by pprindeville) * Fix issue with double "sip:" in header field. (Closes issue #15847. Reported, patched by ebroad) * Add ability to generate ASCII documentation from the TeX files by running 'make asterisk.txt'. (Closes issue #17220. Reported by lmadsen. Tested, patched by pabelanger) * When StopMonitor() is called, ensure that it will not be restarted by a channel event. (Closes issue #16590. Reported, patched by kkm) * Small error in the T.140 RTP port verbose log. (Closes issue #16998. Reported, patched by frawd. Tested by russell) For a full list of changes in the current release, please see the ChangeLog: http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-1.6.2.8 ======= 1.6.2.7 ======= The release of Asterisk 1.6.2.7 resolves several issues reported by the community, and would have not been possible without your participation. Thank you! The following are a few of the issues resolved by community developers: * Fix building CDR and CEL SQLite3 modules. (Closes issue #17017. Reported by alephlg. Patched by seanbright) * Resolve crash in SLAtrunk when the specified trunk doesn't exist. (Reported in #asterisk-dev by philipp64. Patched by seanbright) * Include an extra newline after "Aliased CLI command" to get back the prompt. (Issue #16978. Reported by jw-asterisk. Tested, patched by seanbright) * Prevent segfault if bad magic number is encountered. (Issue #17037. Reported, patched by alecdavis) * Update code to reflect that handle_speechset has 4 arguments. (Closes issue #17093. Reported, patched by gpatri. Tested by pabelanger, mmichelson) * Resolve a deadlock in chan_local. (Closes issue #16840. Reported, patched by bzing2, russell. Tested by bzing2) For a full list of changes in this releases, please see the ChangeLog: http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-1.6.2.7 ======= 1.6.2.6 ======= The release of Asterisk 1.6.2.6 resolves several issues reported by the community, and would have not been possible without your participation. Thank you! The following are a few of the issues resolved by community developers: * Make sure to clear red alarm after polarity reversal. (Closes issue #14163. Reported, patched by jedi98. Tested by mattbrown, Chainsaw, mikeeccleston) * Fix problem with duplicate TXREQ packets in chan_iax2 (Closes issue #16904. Reported, patched by rain. Tested by rain, dvossel) * Fix crash in app_voicemail related to message counting. (Closes issue #16921. Reported, tested by whardier. Patched by seanbright) * Overlap receiving: Automatically send CALL PROCEEDING when dialplan starts (Reported, Patched, and Tested by alecdavis) * For T.38 reINVITEs treat a 606 the same as a 488. (Closes issue #16792. Reported, patched by vrban) * Fix ConfBridge crash when no timing module is loaded. (Closes issue #16471. Reported, tested by kjotte. Patched, tested by junky) For a full list of changes in this releases, please see the ChangeLog: http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-1.6.2.6 ======= 1.6.2.5 ======= The Asterisk Development Team has announced security releases for the following versions of Asterisk: * 1.6.2.5 The releases of Asterisk 1.6.0.25, 1.6.1.17, and 1.6.2.5 resolve an issue with invalid parsing of ACL (Access Control List) rules leading to a possible compromise in security. The issue and resolution are described in the AST-2010-003 security advisory. For more information about the details of this vulnerability, please read the security advisory AST-2010-003, which was released at the same time as this announcement. For a full list of changes in the current releases, please see the ChangeLog: http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-1.6.2.5 Security advisory AST-2010-003 is available at: http://downloads.asterisk.org/pub/security/AST-2010-003.pdf ======= 1.6.2.4 ======= The Asterisk Development Team has announced security releases for the following versions of Asterisk: * 1.6.2.4 The releases of Asterisk 1.2.40, 1.4.29.1, 1.6.0.24, 1.6.1.16, and 1.6.2.4 include documention describing a possible dialplan string injection with common usage of the ${EXTEN} (and other expansion variables). The issue and resolution are described in the AST-2010-002 security advisory. If you have a channel technology which can accept characters other than numbers and letters (such as SIP) it may be possible to craft an INVITE which sends data such as 300&Zap/g1/4165551212 which would create an additional outgoing channel leg that was not originally intended by the dialplan programmer. Please note that this is not limited to an specific protocol or the Dial() application. The expansion of variables into programmatically-interpreted strings is a common behavior in many script or script-like languages, Asterisk included. The ability for a variable to directly replace components of a command is a feature, not a bug - that is the entire point of string expansion. However, it is often the case due to expediency or design misunderstanding that a developer will not examine and filter string data from external sources before passing it into potentially harmful areas of their dialplan. With the flexibility of the design of Asterisk come these risks if the dialplan designer is not suitably cautious as to how foreign data is allowed to enter the system unchecked. This security release is intended to raise awareness of how it is possible to insert malicious strings into dialplans, and to advise developers to read the best practices documents so that they may easily avoid these dangers. For more information about the details of this vulnerability, please read the security advisory AST-2010-002, which was released at the same time as this announcement. For a full list of changes in the current releases, please see the ChangeLog: http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-1.6.2.4 Security advisory AST-2010-002 is available at: http://downloads.asterisk.org/pub/security/AST-2010-002.pdf The README-SERIOUSLY.bestpractices.txt document is available in the top-level directory of your Asterisk sources, or available in all Asterisk branches from 1.2 and up. http://svn.asterisk.org/svn/asterisk/trunk/README-SERIOUSLY.bestpractices.txt ======= 1.6.2.3 ======= Was never released. ======= 1.6.2.2 ======= The Asterisk Development Team has announced security releases for Asterisk as the following versions: * 1.6.2.2 The releases of Asterisk 1.6.0.22, 1.6.1.14, and 1.6.2.2 include the fix described in security advisory AST-2010-001. The issue is that an attacker attempting to negotiate T.38 over SIP can remotely crash Asterisk by modifying the FaxMaxDatagram field of the SDP to contain either a negative or exceptionally large value. The same crash will occur when the FaxMaxDatagram field is omitted from the SDP, as well. For more information about the details of this vulnerability, please read the security advisory AST-2009-009, which was released at the same time as this announcement. For a full list of changes in the current releases, please see the ChangeLog: http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-1.6.2.2 Security advisory AST-2010-001 is available at: http://downloads.asterisk.org/pub/security/AST-2010-001.pdf ======= 1.6.2.1 ======= The release of Asterisk 1.6.2.1 resolved several issues reported by the community, and would have not been possible without your participation. Thank you! * CLI 'queue show' formatting fix. (Closes issue #16078. Reported by RoadKill. Tested by dvossel. Patched by ppyy.) * Fix misreverting from 177158. (Closes issue #15725. Reported, Tested by shanermn. Patched by dimas.) * Fixes subscriptions being lost after 'module reload'. (Closes issue #16093. Reported by jlaroff. Patched by dvossel.) * app_queue segfaults if realtime field uniqueid is NULL (Closes issue #16385. Reported, Tested, Patched by haakon.) * Fix to Monitor which previously assumed the file to write to did not contain pathing. (Closes issue #16377, #16376. Reported by bcnit. Patched by dant. A summary of changes in this release can be found in the release summary: http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.6.2.1-summary.txt For a full list of changes in this releases, please see the ChangeLog: http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-1.6.2.1 ======= 1.6.2.0 ======= The release of Asterisk 1.6.2.0 is the first feature release since Asterisk 1.6.1.0, which was released April 27, 2009. Many new features have been included in this release. For a complete list of changes, please see the CHANGES file. For those upgrading from a previous release, please see UPGRADE.txt It should be explicitly stated that Asterisk 1.6.2.0 is a major upgrade over any previous release, and special care should be taken when upgrading existing systems. Please see the UPGRADE.txt file for more information, available at: http://svn.asterisk.org/svn/asterisk/tags/1.6.2.0/UPGRADE.txt A detailed overview to the new features available in Asterisk 1.6.2.0 are forthcoming within the next few days. Please watch http://blogs.asterisk.org for further information! Below is a summary of several new features available in this release: * chan_dahdi now supports MFC/R2 signaling when Asterisk is compiled with support for LibOpenR2. http://www.libopenr2.org/ * Added a new 'faxdetect=yes|no' configuration option to sip.conf. When this option is enabled, Asterisk will watch for a CNG tone in the incoming audio for a received call. If it is detected, the channel will jump to the 'fax' extension in the dialplan. * A new application, Originate, has been introduced, that allows asynchronous call origination from the dialplan. * Added ConfBridge dialplan application which does conference bridges without DAHDI. For information on its use, please see the output of "core show application ConfBridge" from the CLI. * extensions.conf now allows you to use keyword "same" to define an extension without actually specifying an extension. It uses exactly the same pattern as previously used on the last "exten" line. For example: exten => 123,1,NoOp(something) same => n,SomethingElse() * Asterisk now provides the ability to define custom CLI aliases. For example, if you would like to define short form aliases for frequently used commands, such as "sh ch" for "core show channels", that is now possible. See the cli_aliases.conf configuration file for more information. * Asterisk now has support for subscribing to the state of remote voice mailboxes via SIP. * Asterisk now includes expanded HD codec support. G.722.1 and G.722.1C (Siren7/Siren14) passthrough, recording, and playback is now supported. Transcoding will be made available via add-on modules soon for this version of Asterisk. This is just a subset of the changes available in this release. Please see the CHANGES file for additional information, available at: http://svn.asterisk.org/svn/asterisk/tags/1.6.2.0/CHANGES A summary of changes in this release can be found in the release summary: http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.6.2.0-summary.txt For a full list of changes in this releases, please see the ChangeLog: http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-1.6.2.0 @ text @d1 1 a1 1 $NetBSD: patch-ax,v 1.4 2009/12/30 04:11:02 jnemeth Exp $ @ 1.4 log @ Update to 1.6.1.12. 1.6.1.10 and 1.6.1.12 are general bug fix releases. For more information see: http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-1.6.1.10-summary.html or http://tinyurl.com/yzyr9tt and http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-1.6.1.12-summary.html or http://tinyurl.com/yfxlyjp . 1.6.1.11 fixes AST-2009-010 which allows people to remotely crash the server. The description of the issue is: An attacker sending a valid RTP comfort noise payload containing a data length of 24 bytes or greater can remotely crash Asterisk. Commit during freeze approved by wiz@@. @ text @d1 1 a1 1 $NetBSD: patch-ax,v 1.3 2009/09/14 08:44:51 jnemeth Exp $ d3 1 a3 1 --- apps/app_queue.c.orig 2009-11-30 20:58:33.000000000 +0000 d5 1 a5 1 @@@@ -2571,8 +2571,8 @@@@ static void record_abandoned(struct queu d16 1 a16 1 @@@@ -3007,7 +3007,7 @@@@ static int wait_our_turn(struct queue_en d18 8 a25 24 if (qe->parent->leavewhenempty && (status == QUEUE_NO_MEMBERS)) { *reason = QUEUE_LEAVEEMPTY; - ast_queue_log(qe->parent->name, qe->chan->uniqueid, "NONE", "EXITEMPTY", "%d|%d|%ld", qe->pos, qe->opos, (long) time(NULL) - qe->start); + ast_queue_log(qe->parent->name, qe->chan->uniqueid, "NONE", "EXITEMPTY", "%d|%d|%jd", qe->pos, qe->opos, (intmax_t) time(NULL) - qe->start); leave_queue(qe); break; } @@@@ -3015,13 +3015,13 @@@@ static int wait_our_turn(struct queue_en /* leave the queue if no reachable agents, if enabled */ if ((qe->parent->leavewhenempty == QUEUE_EMPTY_STRICT) && (status == QUEUE_NO_REACHABLE_MEMBERS || status == QUEUE_NO_UNPAUSED_REACHABLE_MEMBERS)) { *reason = QUEUE_LEAVEUNAVAIL; - ast_queue_log(qe->parent->name, qe->chan->uniqueid, "NONE", "EXITEMPTY", "%d|%d|%ld", qe->pos, qe->opos, (long) time(NULL) - qe->start); + ast_queue_log(qe->parent->name, qe->chan->uniqueid, "NONE", "EXITEMPTY", "%d|%d|%jd", qe->pos, qe->opos, (intmax_t) time(NULL) - qe->start); leave_queue(qe); break; } if ((qe->parent->leavewhenempty == QUEUE_EMPTY_LOOSE) && (status == QUEUE_NO_REACHABLE_MEMBERS)) { *reason = QUEUE_LEAVEUNAVAIL; - ast_queue_log(qe->parent->name, qe->chan->uniqueid, "NONE", "EXITEMPTY", "%d|%d|%ld", qe->pos, qe->opos, (long) time(NULL) - qe->start); + ast_queue_log(qe->parent->name, qe->chan->uniqueid, "NONE", "EXITEMPTY", "%d|%d|%jd", qe->pos, qe->opos, (intmax_t) time(NULL) - qe->start); leave_queue(qe); break; } @@@@ -3209,12 +3209,12 @@@@ static void send_agent_complete(const st d41 1 a41 1 @@@@ -3257,9 +3257,9 @@@@ static void queue_transfer_fixup(void *d d52 1 a52 1 update_queue(qe->parent, member, callcompletedinsl); d54 1 a54 1 @@@@ -3734,7 +3734,7 @@@@ static int try_calling(struct queue_ent a60 1 ast_cdr_noanswer(qe->chan->cdr); d62 2 a63 1 @@@@ -3781,8 +3781,8 @@@@ static int try_calling(struct queue_ent d74 1 a74 1 @@@@ -4029,8 +4029,8 @@@@ static int try_calling(struct queue_ent d85 1 a85 1 @@@@ -4040,12 +4040,12 @@@@ static int try_calling(struct queue_ent d101 1 a101 1 @@@@ -4076,17 +4076,17 @@@@ static int try_calling(struct queue_ent d126 2 a127 2 @@@@ -4970,8 +4970,8 @@@@ check_turns: ast_cdr_noanswer(qe.chan->cdr); d137 10 a146 19 @@@@ -5041,7 +5041,7 @@@@ check_turns: record_abandoned(&qe); ast_cdr_noanswer(qe.chan->cdr); reason = QUEUE_LEAVEEMPTY; - ast_queue_log(args.queuename, chan->uniqueid, "NONE", "EXITEMPTY", "%d|%d|%ld", qe.pos, qe.opos, (long)(time(NULL) - qe.start)); + ast_queue_log(args.queuename, chan->uniqueid, "NONE", "EXITEMPTY", "%d|%d|%jd", qe.pos, qe.opos, (intmax_t)(time(NULL) - qe.start)); res = 0; break; } @@@@ -5050,7 +5050,7 @@@@ check_turns: if ((qe.parent->leavewhenempty == QUEUE_EMPTY_STRICT) && (status == QUEUE_NO_REACHABLE_MEMBERS || status == QUEUE_NO_UNPAUSED_REACHABLE_MEMBERS)) { record_abandoned(&qe); reason = QUEUE_LEAVEUNAVAIL; - ast_queue_log(args.queuename, chan->uniqueid, "NONE", "EXITEMPTY", "%d|%d|%ld", qe.pos, qe.opos, (long)(time(NULL) - qe.start)); + ast_queue_log(args.queuename, chan->uniqueid, "NONE", "EXITEMPTY", "%d|%d|%jd", qe.pos, qe.opos, (intmax_t)(time(NULL) - qe.start)); res = 0; break; } @@@@ -5066,7 +5066,7 @@@@ check_turns: d155 2 a156 1 @@@@ -5094,8 +5094,8 @@@@ stop: a157 1 ast_cdr_noanswer(qe.chan->cdr); a165 11 @@@@ -5879,8 +5879,8 @@@@ static char *__queues_show(struct manses mem->paused ? " (paused)" : "", devstate2str(mem->status)); if (mem->calls) - ast_str_append(&out, 0, " has taken %d calls (last was %ld secs ago)", - mem->calls, (long) (time(NULL) - mem->lastcall)); + ast_str_append(&out, 0, " has taken %d calls (last was %jd secs ago)", + mem->calls, (intmax_t) (time(NULL) - mem->lastcall)); else ast_str_append(&out, 0, " has taken no calls yet"); do_print(s, fd, out->str); @ 1.3 log @ Update to Asterisk 1.6.1.6 - 1.6.1.6 fixes AST-2009-006 which is an IAX2 DOS vulnerability - 1.6.1.5 contains a variety of bug fixes: Category: Applications/app_chanspy #15660: ChanSpy "whisper" is broken in 1.4.26 Category: Applications/app_fax #15606: app_fax.c is not compiling under OpenBSD #15610: T.38 re-INVITE received after T.38 already negotiated fails Category: Applications/app_milliwatt #15386: [patch] Milliwatt() is off by -11dbm Category: Applications/app_mixmonitor #15699: [patch] using ast_free instead of mixmonitor_free Category: Applications/app_queue #14536: [patch] After a caller is processed by app_queue the queue_log logs the hangup as TRANSFER #15664: [patch] QUEUE_MEMBER_LIST() returns member names instead of Category: Applications/app_stack #15557: [patch] Gosub() dequotes once more than Macro() #15617: [patch] crash in LOCAL() if Gosub stack is allocated but empty Category: Applications/app_voicemail #15717: MWI is not sent to a SIP phone upon registration, but is after the mailbox is updated/checked #15720: opendir() return code is not checked in last_message_index() Category: Applications/app_voicemail/IMAP #14496: [patch] IMAP crash multiple callers / callers hangup at beep #14597: greetings can not be retrieved from IMAP #14950: [patch] Greetings are stored as IMAP messages even when imapgreetings=no #15729: IMAP greetings not stored in dovecot Category: CDR/General #15751: [patch] Core dump in ast_bridge_call features.c line 2772 Category: Channels/chan_agent #15668: AGENTACCEPTDTMF is incorrectly spelled as AGENTACCEPTDMTF in code to recognize channel variables. Category: Channels/chan_dahdi #15655: [patch] Dialplan starts execution before call is accepted #15727: [patch] Message Waiting Indication(MWI) is randomly generated when FXO is set to DTMF Caller ID Category: Channels/chan_misdn #12113: [patch] asterisk crash at reload chan_misdn.so Category: Channels/chan_sip/General #12869: [patch] 'context' doesn't change when 'sip reload' issued when driven from realtime #15362: [patch] log message output is truncated #15596: [patch] all codecs allowed, but textsupport=no crashes on T140RED enabled call Category: Channels/chan_sip/Registration #14366: [patch] Registration expiry not compatible with some ITSP #15539: [patch] Register request line contains wrong address when domain and registrar host differ Category: Channels/chan_sip/T.38 #15182: [patch] T.38 invite does not always comply with RFC 2327 Category: Channels/chan_sip/Video #15121: [patch] Video support in SIP channel driver appears to be totally broken Category: Core/BuildSystem #15697: most cleaner alaw don't compile #15698: [patch] If enable DEBUG_FD_LEAKS - h323 can't start. #15714: [patch] Asterisk won't build with curl unless curl_config is present Category: Core/General #14730: [patch] Fix runlevels in Debian rc files #15273: [patch] german time (20:01:00 oh clock) is announced wrong #15649: T38 Faxing failing on 1.6.1 svn #15667: LOGGER WARNING : error executing after rotate Category: Core/ManagerInterface #15397: [patch] segfault in action_coreshowchannels() at manager.c #15730: [patch] manager keeps creating /tmp/ast-ami-XXXXXX files (without deleting) when a single manager client remains logged in Category: Core/PBX #15242: [patch] log does not indicate which function is missing closing parenthesis Category: Documentation #15755: Description in queues.conf on call recording is slightly misleading Category: Functions/func_iconv #15169: When building with uClibc, configure script mistakenly assumes iconv is always available Category: General #15571: [patch] 'received' typos in trunk, in 6 files #15595: [patch] fix spelling for typos, mainly in comments. Category: PBX/pbx_dundi #15322: [patch] DUNDILOOKUP() does not accept comma as argument separator Category: Resources/General #15624: res_ais, communication ok, but wrong state send and receive. Category: Resources/res_config_ldap #13725: [patch] ERROR[7387]: res_config_ldap.c:1292 update_ldap: Couldn't modify dn:cn=1001,dc=xxx,dc=xxx because Invalid syntax #15710: Typo in LDAP schema files on line 598 Category: Resources/res_musiconhold #15051: [patch] Moh class set in the dialplan is ignored with realtime moh ---------------------------------------------------------------------- Commits Not Associated with an Issue [Back to Top] This is a list of all changes that went into this release that did not directly close an issue from the issue tracker. The commits may have been marked as being related to an issue. If that is the case, the issue numbers are listed here, as well. +------------------------------------------------------------------------+ | Revision | Author | Summary | Issues | | | | | Referenced | |----------+------------+-----------------------------------+------------| | | | Restore explicit export of | | | 209058 | kpfleming | ASTCFLAGS/ASTLDFLAGS and | | | | | underscore-variants to sub-makes. | | |----------+------------+-----------------------------------+------------| | 209237 | mmichelson | Gracefully handle malformed RTP | | | | | text packets. | | |----------+------------+-----------------------------------+------------| | 209262 | kpfleming | Make T.38 switchover in | | | | | ReceiveFAX synchronous. | | |----------+------------+-----------------------------------+------------| | 209281 | kpfleming | Cleanup T.38 negotiation changes. | | |----------+------------+-----------------------------------+------------| | 209327 | tilghman | Publish French extra sounds | | |----------+------------+-----------------------------------+------------| | | | Fix some places where | | | 209714 | russell | ast_event_type was used instead | | | | | of ast_event_ie_type. | | |----------+------------+-----------------------------------+------------| | 209781 | kpfleming | Minor changes inspired by testing | | | | | with latest GCC. | | |----------+------------+-----------------------------------+------------| | 209900 | russell | Resolve a valgrind warning about | #15396 | | | | a read from uninitialized memory. | | |----------+------------+-----------------------------------+------------| | 211115 | russell | Resolve a deadlock involving | | | | | app_chanspy and masquerades. | | |----------+------------+-----------------------------------+------------| | 211277 | tilghman | Small oops. Clear the flags which | | | | | have been checked. | | |----------+------------+-----------------------------------+------------| | 211569 | tilghman | AST-2009-005 | | |----------+------------+-----------------------------------+------------| | 211586 | tilghman | Conversion specifiers, not format | | | | | specifiers | | |----------+------------+-----------------------------------+------------| | | | Check an actual populated | | | 212069 | file | variable when seeing if we need | | | | | to do video or not. | | |----------+------------+-----------------------------------+------------| | | | Ensure that T38FaxVersion is put | | | 212115 | kpfleming | into outgoing SDP in the proper | | | | | case. | | |----------+------------+-----------------------------------+------------| | 212386 | seanbright | Handle slin16 for extra sounds as | | | | | well. | | |----------+------------+-----------------------------------+------------| | 212768 | rmudgett | Removed some deadwood and added | | | | | some doxygen comments. | | |----------+------------+-----------------------------------+------------| | | | Make the default extconfig.conf | | | 212862 | tilghman | match entries with the sample | | | | | res_mysql.conf. | | |----------+------------+-----------------------------------+------------| | 212928 | kpfleming | Convert this branch to Opsound | | | | | music-on-hold. | | |----------+------------+-----------------------------------+------------| | | | Remove some | | | 212942 | kpfleming | accidentally-committed | | | | | properties. | | |----------+------------+-----------------------------------+------------| | 213449 | twilson | Make LOAD_ORDER actually work | | |----------+------------+-----------------------------------+------------| | 213452 | twilson | Oops, committed this first. Make | | | | | the merged property happy | | |----------+------------+-----------------------------------+------------| | | | Make autoheader descriptions | | | 214365 | tilghman | render correctly in our | #14906 | | | | autoconfig.h file. | | |----------+------------+-----------------------------------+------------| | | | One more build system change, to | | | 214496 | tilghman | make the descriptions look | | | | | better, if we have better | | | | | information. | | +------------------------------------------------------------------------+ @ text @d1 1 a1 1 $NetBSD: patch-ax,v 1.2 2009/07/07 08:14:43 jnemeth Exp $ d3 1 a3 1 --- apps/app_queue.c.orig 2009-08-10 12:30:55.000000000 -0700 d5 1 a5 1 @@@@ -2540,8 +2540,8 @@@@ static void record_abandoned(struct queu d16 1 a16 1 @@@@ -2960,7 +2960,7 @@@@ static int wait_our_turn(struct queue_en d25 1 a25 1 @@@@ -2968,13 +2968,13 @@@@ static int wait_our_turn(struct queue_en d41 1 a41 1 @@@@ -3161,12 +3161,12 @@@@ static void send_agent_complete(const st d57 1 a57 1 @@@@ -3209,9 +3209,9 @@@@ static void queue_transfer_fixup(void *d d70 1 a70 1 @@@@ -3681,7 +3681,7 @@@@ static int try_calling(struct queue_ent d79 1 a79 1 @@@@ -3728,8 +3728,8 @@@@ static int try_calling(struct queue_ent d90 1 a90 1 @@@@ -3976,8 +3976,8 @@@@ static int try_calling(struct queue_ent d101 1 a101 1 @@@@ -3987,12 +3987,12 @@@@ static int try_calling(struct queue_ent d117 4 a120 4 @@@@ -4021,17 +4021,17 @@@@ static int try_calling(struct queue_ent if (!attended_transfer_occurred(qe->chan)) { struct ast_datastore *tds; if (strcasecmp(oldcontext, qe->chan->context) || strcasecmp(oldexten, qe->chan->exten)) { d142 1 a142 1 @@@@ -4909,8 +4909,8 @@@@ check_turns: d153 1 a153 1 @@@@ -4980,7 +4980,7 @@@@ check_turns: d162 1 a162 1 @@@@ -4989,7 +4989,7 @@@@ check_turns: d171 1 a171 1 @@@@ -5005,7 +5005,7 @@@@ check_turns: d180 1 a180 1 @@@@ -5033,8 +5033,8 @@@@ stop: d191 1 a191 1 @@@@ -5807,8 +5807,8 @@@@ static char *__queues_show(struct manses @ 1.2 log @Update to Asterisk 1.6.1.1 ------------------------------------------------------------------------------ --- Functionality changes from Asterisk 1.6.0 to Asterisk 1.6.1 ------------- ------------------------------------------------------------------------------ Device State Handling --------------------- * The event infrastructure in Asterisk got another big update to help support distributed events. It currently supports distributed device state and distributed Voicemail MWI (Message Waiting Indication). A new module has been merged, res_ais, which facilitates communicating events between servers. It uses the SAForum AIS (Service Availability Forum Application Interface Specification) CLM (Cluster Management) and EVT (Event) services to maintain a cluster of Asterisk servers, and to share events between them. For more information on setting this up, see doc/distributed_devstate.txt. Dialplan Functions ------------------ * Added a new dialplan function, AST_CONFIG(), which allows you to access variables from an Asterisk configuration file. * The JACK_HOOK function now has a c() option to supply a custom client name. * Added two new dialplan functions from libspeex for audio gain control and denoise, AGC() and DENOISE(). Both functions can be applied to the tx and rx directions of a channel from the dialplan. * The SMDI_MSG_RETRIEVE function now has the ability to search for SMDI messages based on other parameters. The default is still to search based on the forwarding station ID. However, there are new options that allow you to search based on the message desk terminal ID, or the message desk number. * TIMEOUT() has been modified to be accurate down to the millisecond. * ENUM*() functions now include the following new options: - 'u' returns the full URI and does not strip off the URI-scheme. - 's' triggers ISN specific rewriting - 'i' looks for branches into an Infrastructure ENUM tree - 'd' for a direct DNS lookup without any flipping of digits. * TXCIDNAME() has a new zone-suffix parameter (which defaults to 'e164.arpa') * CHANNEL() now has options for the maximum, minimum, and standard or normal deviation of jitter, rtt, and loss for a call using chan_sip. DAHDI channel driver (chan_dahdi) Changes ---------------------------------------- * Channels can now be configured using named sections in chan_dahdi.conf, just like other channel drivers, including the use of templates. * The default for pridialplan has changed from 'national' to 'unknown'. PBX Changes ----------- * It is now possible to specify a pattern match as a hint. Once a phone subscribes to something that matches the pattern a hint will be created using the contents and variables evaluated. * Dialplan matching has been extended to allow an extension to return to the PBX core to wait for more digits. This is done by using the new dialplan application called "Incomplete". This will permit a whole new level of extension control, by giving the administrator more control over early matches employing one of the short-circuit pattern match operators. Note that custom applications can trigger this same behavior by returning the special value AST_PBX_INCOMPLETE. The dial() application ---------------------- * Dial has a new option: F(context^extension^pri), which permits a callee to continue in the dialplan, at the specified label, if the caller hangs up. * The Dial() application no longer copies the language used by the caller to the callee's channel. If you desire for the caller's channel's language to be used for file playback to the callee, then the file specified may be prepended with "${CHANNEL(language)}/" . The chanspy() application ------------------------- * ChanSpy and ExtenSpy have a new option, 's' which suppresses speaking the technology name (e.g. SIP, IAX, etc) of the channel being spied on. * Chanspy has a new option, 'B', which can be used to "barge" on a call. This is like the pre-existing whisper mode, except that the spy can also talk to the participant on the bridged channel as well. * Chanspy has a new option, 'n', which will allow for the spied-on party's name to be spoken instead of the channel name or number. For more information on the use of this option, issue the command "core show application ChanSpy" from the Asterisk CLI. * Chanspy has a new option, 'd', which allows the spy to use DTMF to swap between spy modes. Use of this feature overrides the typical use of numeric DTMF. In other words, if using the 'd' option, it is not possible to enter a number to append to the first argument to Chanspy(). Pressing 4 will change to spy mode, pressing 5 will change to whisper mode, and pressing 6 will change to barge mode. Other Application Changes ------------------------- * Directory now permits both first and last names to be matched at the same time. In addition, the number of digits to enter of the name can be set in the arguments to Directory; previously, you could enter only 3, regardless of how many names are in your company. For large companies, this should be quite helpful. * Voicemail now permits a mailbox setting to wrap around from first to last messages, if the "messagewrap" option is set to a true value. * Voicemail now permits an external script to be run, for password validation. The script should output "VALID" or "INVALID" on stdout, depending upon the wish to validate or invalidate the password given. Arguments are: "mailbox" "context" "oldpass" "newpass". See the sample voicemail.conf for more details * The voicemail externnotify script now accepts an additional (last) parameter containing the number of urgent messages in the INBOX. * The Jack application now has a c() option to supply a custom client name. * ExternalIVR now takes several options that affect the way it performs, as well as having several new commands. Please see doc/externalivr.txt for the complete documentation. * Added ability to communicate over a TCP socket instead of forking a child process for the ExternalIVR application. * ChanIsAvail has a new option, 'a', which will return all available channels instead of just the first one if you give the function more then one channel to check. * PrivacyManager now takes an option where you can specify a context where the given number will be matched. This way you have more control over who is allowed and it stops the people who blindly enter 10 digits. * ForkCDR has new options: 'a' updates the answer time on the new CDR; 'A' locks answer times, disposition, on orig CDR against updates; 'D' Copies the disposition from the orig CDR to the new CDR after reset; 'e' sets the 'end' time on the original CDR; 'R' prevents the new CDR from being reset; 's(var=val)' adds/changes the 'var' variable on the original CDR; 'T' forces ast_cdr_end(), ast_cdr_answer(), obey the LOCKED flag on cdr's in the chain, and also the ast_cdr_setvar() func. * SendImage() no longer hangs up the channel on error; instead, it sets the status variable SENDIMAGESTATUS to one of 'SUCCESS', 'FAILURE', or 'UNSUPPORTED'. This change makes SendImage() more consistent with other applications. * Park has a new option, 's', which silences the announcement of the parking space number. * A non-numeric, zero, or negative timeout specified to Dial() will now be interpreted as invalid input and will be assumed to mean that no timeout is desired. SIP Changes ----------- * Added DNS manager support to registrations for peers referencing peer entries. DNS manager runs in the background which allows DNS lookups to be run asynchronously as well as periodically updating the IP address. These properties allow for better performance as well as recovery in the event of an IP change. * Performance improvements via using hash tables (astobj2) and doubly-linked lists to improve load/reload of large numbers of peers/users by ~40x (for large lists of peers. Initially, we saw 4x improvement in call setup/destruction, but at the time of merging, this gain has disappeared; further research will be done to try and restore this performance improvement. Astobj2 refcounting is now used for users, peers, and dialogs. Users are encouraged to assist in regression testing and problem reporting! * Added ability to specify registration expiry time on a per registration basis in the register line. * Added support for Realtime Text redundancy - T140 RED - in T.140 to prevent text loss due to lost packets. * Added t38pt_usertpsource option. See sip.conf.sample for details. * Added SIPnotify AMI command, for sending arbitrary SIP notify commands. * 'sip show peers' and 'sip show users' display their entries sorted in alphabetical order, as opposed to the order they were in, in the config file or database. * Videosupport now supports an additional option, "always", which always sets up video RTP ports, even on clients that don't support it. This helps with callfiles and certain transfers to ensure that if two video phones are connected, they will always share video feeds. IAX Changes ----------- * Existing DNS manager lookups extended to check for SRV records. * IAX2 encryption support has been improved to support periodic key rotation within a call for enhanced security. The option "keyrotate" has been provided to disable this functionality to preserve backwards compatibility with older versions of IAX2 that do not support key rotation. CLI Changes ----------- * New CLI command, "config reload " which reloads any module that references that particular configuration file. Also added "config list" which shows which configuration files are in use. * New CLI commands, "pri show version" and "ss7 show version" that will display which version of libpri and libss7 are being used, respectively. A new API call was added so trunk will now have to be compiled against a versions of libpri and libss7 that have them or it will not know that these libraries exist. * The commands "core show globals", "core set global" and "core set chanvar" has been deprecated in favor of the more semanticly correct "dialplan show globals", "dialplan set chanvar" and "dialplan set global". * New CLI command "dialplan show chanvar" to list all variables associated with a given channel. DNS manager changes ------------------- * Addresses managed by DNS manager now can check to see if there is a DNS SRV record for a given domain and will use that hostname/port if present. AMI - The manager (TCP/TLS/HTTP) -------------------------------- * The Status action now takes an optional list of variables to display along with channel status. ODBC Changes ------------ * res_odbc no longer has a limit of 1023 total possible unshared connections, as some people were running into this limit. This limit has been increased to 4.2 billion. Queue changes ------------- * The TRANSFER queue log entry now includes the caller's original position in the transferred-from queue. * A new configuration option, "timeoutpriority" has been added. Please see the section labeled "QUEUE TIMING OPTIONS" in configs/queues.conf.sample for a detailed explanation of the option as well as an explanation about timeout options in general Realtime changes ---------------- * Several (ODBC, Postgres, MySQL, SQLite) realtime drivers have been given adaptive capabilities. What this means in practical terms is that if your realtime table lacks critical fields, Asterisk will now emit warnings to that effect. Also, some of the realtime drivers have the ability (if configured) to automatically add those columns to the table with the correct type and length. Miscellaneous ------------- * The channel variable ATTENDED_TRANSFER_COMPLETE_SOUND can now be set using the 'setvar' option to cause a given audio file to be played upon completion of an attended transfer. Currently it works for DAHDI, IAX2, SIP, and Skinny channels only. * You can now compile Asterisk against the Hoard Memory Allocator, see doc/hoard.txt for more information. * Config file variables may now be appended to, by using the '+=' append operator. This is most helpful when working with long SQL queries in func_odbc.conf, as the queries no longer need to be specified on a single line. @ text @d1 1 a1 1 $NetBSD$ d3 1 a3 1 --- apps/app_queue.c.orig 2009-04-14 16:29:04.000000000 -0700 d5 1 a5 1 @@@@ -2524,8 +2524,8 @@@@ static void record_abandoned(struct queu d16 1 a16 1 @@@@ -2944,7 +2944,7 @@@@ static int wait_our_turn(struct queue_en d25 1 a25 1 @@@@ -2952,13 +2952,13 @@@@ static int wait_our_turn(struct queue_en d41 1 a41 1 @@@@ -3145,12 +3145,12 @@@@ static void send_agent_complete(const st d57 1 a57 1 @@@@ -3193,9 +3193,9 @@@@ static void queue_transfer_fixup(void *d d70 1 a70 1 @@@@ -3651,7 +3651,7 @@@@ static int try_calling(struct queue_ent d77 1 d79 1 a79 2 ao2_ref(member, -1); @@@@ -3696,8 +3696,8 @@@@ static int try_calling(struct queue_ent d90 1 a90 1 @@@@ -3942,8 +3942,8 @@@@ static int try_calling(struct queue_ent d101 1 a101 1 @@@@ -3953,12 +3953,12 @@@@ static int try_calling(struct queue_ent d117 1 a117 1 @@@@ -3987,17 +3987,17 @@@@ static int try_calling(struct queue_ent d142 2 a143 2 @@@@ -4874,8 +4874,8 @@@@ check_turns: record_abandoned(&qe); d153 1 a153 2 @@@@ -4942,7 +4942,7 @@@@ check_turns: if (qe.parent->leavewhenempty && (status == QUEUE_NO_MEMBERS)) { d155 1 d162 1 a162 1 @@@@ -4951,7 +4951,7 @@@@ check_turns: d171 1 a171 1 @@@@ -4967,7 +4967,7 @@@@ check_turns: d180 1 a180 2 @@@@ -4994,8 +4994,8 @@@@ stop: if (!qe.handled) { d182 1 d191 1 a191 1 @@@@ -5765,8 +5765,8 @@@@ static char *__queues_show(struct manses @ 1.1 log @Initial revision @ text @d3 1 a3 1 --- apps/app_queue.c.orig 2009-02-11 15:04:10.000000000 -0800 d5 8 a12 1 @@@@ -2880,7 +2880,7 @@@@ static int wait_our_turn(struct queue_en d14 5 a18 1 if (qe->parent->leavewhenempty && (stat == QUEUE_NO_MEMBERS)) { d25 1 a25 1 @@@@ -2888,13 +2888,13 @@@@ static int wait_our_turn(struct queue_en d27 1 a27 1 if ((qe->parent->leavewhenempty == QUEUE_EMPTY_STRICT) && (stat == QUEUE_NO_REACHABLE_MEMBERS || stat == QUEUE_NO_UNPAUSED_REACHABLE_MEMBERS)) { d34 1 a34 1 if ((qe->parent->leavewhenempty == QUEUE_EMPTY_LOOSE) && (stat == QUEUE_NO_REACHABLE_MEMBERS)) { d41 30 a70 1 @@@@ -3587,7 +3587,7 @@@@ static int try_calling(struct queue_ent d79 1 a79 1 @@@@ -3631,8 +3631,8 @@@@ static int try_calling(struct queue_ent d88 1 d90 1 a90 2 @@@@ -3872,7 +3872,7 @@@@ static int try_calling(struct queue_ent d95 3 a97 2 + ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "CONNECT", "%jd|%s|%ld", (intmax_t) time(NULL) - qe->start, peer->uniqueid, (long)(orig - to > 0 ? (orig - to) / 1000 : 0)); d100 2 a101 1 @@@@ -3883,12 +3883,12 @@@@ static int try_calling(struct queue_ent d108 2 a109 1 "Ringtime: %ld\r\n" d113 1 a113 1 + (intmax_t) time(NULL) - qe->start, peer->uniqueid, (long)(orig - to > 0 ? (orig - to) / 1000 : 0), d117 26 a142 1 @@@@ -4770,8 +4770,8 @@@@ check_turns: d153 19 a171 1 @@@@ -4863,7 +4863,7 @@@@ check_turns: d180 1 a180 1 @@@@ -4890,8 +4890,8 @@@@ stop: d191 11 @ 1.1.1.1 log @Add Asterisk 1.6.0.10. At the moment, this version doesn't have any hardware support, so it can't replace comms/asterisk. However, apparently there is demand for this version, so wiz@@ suggested it be imported here into comms/asterisk16. The latest version is 1.6.1.1, but I won't have time to update all the patches before the freeze. I'll update to that version sometime after the freeze when I get a chance. @ text @@ 1.1.1.1.2.1 log @Pullup ticket 2887 - requested by jnemeth asterisk16: security update --- Apply patch to update comms/asterisk16 to version 1.6.0.15: - 1.6.0.11 was never released - 1.6.0.12 fixes AST-2009-005 which is a remote DOS issue in SIP - 1.6.0.13 fixes a bug in 1.6.0.12 security fix - 1.6.0.14 has additional updates for AST-2009-001 and AST-2009-005 plus SIP Changes ----------- * Added a new 'ignoresdpversion' option to sip.conf. When this is enabled (either globally or for a specific peer), chan_sip will treat any SDP data it receives as new data and update the media stream accordingly. By default, Asterisk will only modify the media stream if the SDP session version received is different from the current SDP session version. This option is required to interoperate with devices that have non-standard SDP session version implementations (observed with Microsoft OCS). This option is disabled by default. In addition, this behavior is automatic when the SDP received is in response to a T.38 re-INVITE that Asterisk initiated. In this situation , since the call will fail if Asterisk does not process the incoming SDP, Aster isk will accept the SDP even if the SDP version number is not properly incremente d, but will generate a warning in the log indicating that the SIP peer that sent the SDP should have the 'ignoresdpversion' option set. Closed Issues This is a list of all issues from the issue tracker that were closed by changes that went into this release. Category: Addons/General #15269: [patch] memory leak in asterisk some bug fixing and removing Redundant condition Category: Applications/General #15022: [patch] Language handling for numbers, dates, etc is misbehaving when utilizing sub-regional languages Category: Applications/app_chanspy #15660: ChanSpy "whisper" is broken in 1.4.26 Category: Applications/app_fax #15355: app_fax does not compile with iaxmodem 1.2.0 #15480: [patch] Not all fixes from #14849 are committed #15606: app_fax.c is not compiling under OpenBSD #15610: T.38 re-INVITE received after T.38 already negotiated fails Category: Applications/app_meetme #15493: [patch] contrib/scripts/meetme.sql doesn't contain all fields Category: Applications/app_milliwatt #15386: [patch] Milliwatt() is off by -11dbm Category: Applications/app_mixmonitor #15259: MixMonitor is not releasing the file handle on the recorded file #15699: [patch] using ast_free instead of mixmonitor_free Category: Applications/app_queue #14536: [patch] After a caller is processed by app_queue the queue_log logs the hangup as TRANSFER #14631: [patch] Ghost calls with queues and spa942 and 922 #15664: [patch] QUEUE_MEMBER_LIST() returns member names instead of interfaces Category: Applications/app_stack #15557: [patch] Gosub() dequotes once more than Macro() #15617: [patch] crash in LOCAL() if Gosub stack is allocated but empty Category: Applications/app_voicemail #14554: [patch] # for fastforward goes beyond end of message #14932: [patch] asterisk-1.6.0.9-x86_64 segfaults when leaving a voicemail internally to another extension #15331: [patch] Log message does not match conditional check #15333: [patch] add FILE_STORAGE to Voicemail Build Options #15720: opendir() return code is not checked in last_message_index() Category: Applications/app_voicemail/IMAP #14496: [patch] IMAP crash multiple callers / callers hangup at beep #14597: greetings can not be retrieved from IMAP #14950: [patch] Greetings are stored as IMAP messages even when imapgreetings=no Category: CDR/General #15751: [patch] Core dump in ast_bridge_call features.c line 2772 Category: Channels/General #15330: [patch] Using CHANNEL function from ZOMBIE channel stops Asterisk #15416: No voice on PRI calls with asterisk 1.4.25 & 26 Category: Channels/chan_dahdi #13917: [patch] fxo modules incorrectly believes channel is answered, if telco reverses line polarity at off hook. #14383: priexclusive parameter ignored if pri = pri_cpe ? #14434: [patch] Dahdi does not wait for wink on outbound calls before dialing DTMF with Signalling type = em_w #14434: [patch] Dahdi does not wait for wink on outbound calls before dialing DTMF with Signalling type = em_w #14477: pseudo channel disappears after dahdi restart #14696: reload in console overwrites priindication=outofband setting #14726: Conditional compilation of a diagnostic message needs an L modifier to %d for a 64 bit integer #15248: [patch] Multiple Groups Not working #15389: [patch] no audio with SIP call to ISDN PRI, if neither Progress or Proceeding are received. #15655: [patch] Dialplan starts execution before call is accepted Category: Channels/chan_iax2 #15361: [patch] AST-2009-001 breaks IAX2 RFC5456 compliance - Timestamps in POKE/PONG zero in 2 of 4 Bytes #15404: [patch] Unrequired Debug Message Category: Channels/chan_misdn #11974: external lines connected with message !! Got Busy in Connected State !?! #12113: [patch] asterisk crash at reload chan_misdn.so #14355: [patch] Segfault if you transfer a call into a meetme room #14692: [patch] ISDN-Transfer causes backcall attempt of attendent phone Category: Channels/chan_sip/General #11231: [patch] Many retransmits when chan_sip generates multiple outstanding requests #12434: Handle wrong at offer/answer in sdp in media description(m=) #12869: [patch] 'context' doesn't change when 'sip reload' issued when driven from realtime #13432: [patch] outboundproxy=proxy.mmmydomain.net where domain can not be resolved silently removes the sip section #13623: Asterisk segfaults when using SIP session timers #14239: [patch] 491-request pending is sent out of dialog #14464: [patch] lock during simple call processing #14575: BYE to 408 Request Timeout #14659: [patch] MWI NOTIFY contains a wrong URI if Asterisk listens to non-standard port (5060) #15213: [patch] asterisk lock in sipsock_read for several seconds and drop sip packets #15283: [patch] CLI NOTIFY always tries to use UDP, even if the peer is connected via TCP #15345: [patch] SIP deadlock in 1.4 revision 199472 #15349: Deadlock in do_monitor() of chan_sip #15362: [patch] log message output is truncated #15376: SIP option (SIP_OPT_ flag) is not handled correctly #15403: [patch] Session timer is not activated Category: Channels/chan_sip/Interoperability #13958: SDP replies incorrect - 'a=inactive' - replied to with 'a=sendrecv' #14465: [patch] Incorrect From: header information when CALLERPRES=PRES_PROHIB #14584: [patch] Asterisk does not stop retransmission #14725: Asterisk doesn't add Route headers in NOTIFY when the SUBSCRIBE came from a proxy #15158: [patch] Message: "Unable to handle indication 3" Revision: 200362 #15442: [patch] Asterisk cannot handle SIP 183 "Session Progress" if no SDP is contained in it Category: Channels/chan_sip/Registration #14344: [patch] Outbound proxy not used for registrations #14366: [patch] Registration expiry not compatible with some ITSP #15102: [patch] Registration Deadlock between Asterisk and Polycom Soundpoint IP 450 #15539: [patch] Register request line contains wrong address when domain and registrar host differ Category: Channels/chan_sip/T.38 #14849: [patch] SendFax function not working as expected on > 1.6.0.7 #15182: [patch] T.38 invite does not always comply with RFC 2327 Category: Channels/chan_sip/TCP-TLS #13865: [patch] SIP/TLS enabled - just one call possible - 481 Call/Transaction Does Not Exist #14452: in "_sip_tcp_helper_thread" Buffer is filled with dirty bytes Category: Channels/chan_sip/Video #15121: [patch] Video support in SIP channel driver appears to be totally broken Category: Core/BuildSystem #15697: most cleaner alaw don't compile #15698: [patch] If enable DEBUG_FD_LEAKS - h323 can't start. #15714: [patch] Asterisk won't build with curl unless curl_config is present Category: Core/Channels #14723: ERROR[5003]: channel.c:2043 __ast_read: ast_read() called with no recorded file descriptor. Category: Core/Configuration #14509: [patch] users.conf (and other .conf files) have incorrect whitespacing Category: Core/General #14730: [patch] Fix runlevels in Debian rc files #15273: [patch] german time (20:01:00 oh clock) is announced wrong #15649: T38 Faxing failing on 1.6.1 svn #15667: LOGGER WARNING : error executing after rotate Category: Core/Internationalization #15346: [patch] TW is not an ISO Language Code Category: Core/ManagerInterface #15397: [patch] segfault in action_coreshowchannels() at manager.c Category: Core/PBX #15057: [patch] hints with 2+ devices that include ONHOLD are often set wrong #15242: [patch] log does not indicate which function is missing closing parenthesis #15303: new_find_extension arguments in wrong order Category: Documentation #15518: iax.conf, IP-based access control #15755: Description in queues.conf on call recording is slightly misleading Category: Functions/func_callerid #15476: callerid(num) is wrong when username is missing Category: Functions/func_devstate #15413: [patch] Mapping of extension state to device state is incorrect Category: Functions/func_iconv #15169: When building with uClibc, configure script mistakenly assumes iconv is always available Category: Functions/func_realtime #15517: [patch] memory leak in func_realtime Category: Functions/func_uri #15439: [patch] URIENCODE() throws a warning when passed an empty string Category: General #15420: [patch] No audio on calls from asterisk sip phones to nortel set until dtmf from sip phone #15571: [patch] 'received' typos in trunk, in 6 files #15595: [patch] fix spelling for typos, mainly in comments. #15595: [patch] fix spelling for typos, mainly in comments. Category: PBX/pbx_dundi #15322: [patch] DUNDILOOKUP() does not accept comma as argument separator Category: Resources/res_config_ldap #13725: [patch] ERROR[7387]: res_config_ldap.c:1292 update_ldap: Couldn't modify dn:cn=1001,dc=xxx,dc=xxx because Invalid syntax #15710: Typo in LDAP schema files on line 598 Category: Resources/res_features #13794: [patch] CDR for picked up parked call gives answer time < start time and no record for parking Category: Resources/res_musiconhold #15051: [patch] Moh class set in the dialplan is ignored with realtime moh ---------------------------------------------------------------------- Commits Not Associated with an Issue This is a list of all changes that went into this release that did not directly close an issue from the issue tracker. The commits may have been marked as being related to an issue. If that is the case, the issue numbers are listed here, as well. +------------------------------------------------------------------------+ | Revision | Author | Summary | Issues | | | | | Referenced | |----------+------------+-----------------------------------+------------| | 199142 | dvossel | Additional updates to | | | | | AST-2009-001 | | |----------+------------+-----------------------------------+------------| | | | __WORDSIZE is not available on | | | 199858 | seanbright | all platforms, so use sizeof(void | | | | | *) instead. | | |----------+------------+-----------------------------------+------------| | | | The 1.6.0 branch was missing all | | | 199975 | mmichelson | invite_branch logic. It has now | | | | | been added. | | |----------+------------+-----------------------------------+------------| | 200040 | lmadsen | Fix path for .flavor and .version | #14737 | |----------+------------+-----------------------------------+------------| | 200149 | mmichelson | Fix a crash due to a potentially | | | | | NULL p->options. | | |----------+------------+-----------------------------------+------------| | | | Fix all of the parallel build | | | 200228 | seanbright | warnings issued when running make | | | | | -j#. | | |----------+------------+-----------------------------------+------------| | | | Add INFO to our allowed methods | | | 200515 | mmichelson | so that endpoints know they may | | | | | send it to us. | | |----------+------------+-----------------------------------+------------| | 200729 | kpfleming | Document the new automatic | | | | | 'ignoresdpversion' behavior. | | |----------+------------+-----------------------------------+------------| | | | Ensure that configure-script | | | 200767 | kpfleming | testing for compiler attributes | | | | | actually works. | | |----------+------------+-----------------------------------+------------| | | | Fix problems with new compiler | | | 200986 | kpfleming | attribute checking in configure | | | | | script. | | |----------+------------+-----------------------------------+------------| | | | Improve support for media paths | | | 201093 | kpfleming | that can generate multiple frames | | | | | at once. | | |----------+------------+-----------------------------------+------------| | | | fix issue with build_contact | | | 201226 | dvossel | introduced by the "SIP trasnport | | | | | type issues" commit | | |----------+------------+-----------------------------------+------------| | | | Correct AST_LIST_APPEND_LIST | | | 201263 | kpfleming | behavior when list to be appended | | | | | is empty. | | |----------+------------+-----------------------------------+------------| | | | Change the datastore traversal in | | | 201459 | mmichelson | ast_do_masquerade to use a safe | | | | | list traversal. | | |----------+------------+-----------------------------------+------------| | 201463 | mmichelson | Fix problem with no audio due to | | | | | ignoring the SDP. | | |----------+------------+-----------------------------------+------------| | | | Fix memory corruption and leakage | #15109, | | 201612 | russell | related reloads of non files mode | #15123, | | | | MoH classes. | #15195 | |----------+------------+-----------------------------------+------------| | | | One of the changes in 1.6.1 was | | | 201786 | tilghman | to allow app_directory to use | | | | | functionality | | |----------+------------+-----------------------------------+------------| | 201830 | tilghman | If the "h" extension fails, give | | | | | it another chance in main/pbx.c. | | |----------+------------+-----------------------------------+------------| | | | Added deadlock protection to | | | 202006 | mnicholson | try_suggested_sip_codec in | | | | | chan_sip.c. | | |----------+------------+-----------------------------------+------------| | | | Standardize return values of | | | 202259 | russell | load_config() so reload() doesn't | | | | | report an error on success. | | |----------+------------+-----------------------------------+------------| | | | Fix possibility of crashiness | | | 202263 | russell | during reload in custom fields | | | | | handling. | | |----------+------------+-----------------------------------+------------| | 202416 | russell | Make Polycom subscription type | | | | | override check more explicit. | | |----------+------------+-----------------------------------+------------| | | | Fix lock usage in | | | 202471 | seanbright | cdr_sqlite3_custom to avoid | | | | | potential crashes during reload. | | |----------+------------+-----------------------------------+------------| | 202498 | russell | Report CallerID change during a | | | | | masquerade. | | |----------+------------+-----------------------------------+------------| | | | I could have sworn I committed | | | 202763 | mattf | this patch ages ago, but... bug | | | | | fix with setting NAI properly on | | | | | linksets in certain situations. | | |----------+------------+-----------------------------------+------------| | | | Ensure the default settings are | | | 202926 | file | applied for T.38 when we set it | | | | | up for a peer. | | |----------+------------+-----------------------------------+------------| | | | Use the handy UNLINK macro | | | 202968 | mmichelson | instead of hand-coding the same | | | | | thing in-line. | | |----------+------------+-----------------------------------+------------| | 203044 | rmudgett | Improved chan_dahdi.conf pritimer | | | | | error checking. | | |----------+------------+-----------------------------------+------------| | 203117 | russell | Resolve a crash related to a T.38 | | | | | reinvite race condition. | | |----------+------------+-----------------------------------+------------| | 203387 | twilson | I didn't see that Mark already | | | | | fixed the underlying issue! | | |----------+------------+-----------------------------------+------------| | 203447 | dvossel | fixes a few redundant conditions | #15269 | |----------+------------+-----------------------------------+------------| | | | Improve T.38 negotiation by | | | 203701 | file | exchanging session parameters | | | | | between application and channel. | | |----------+------------+-----------------------------------+------------| | 203711 | jpeeler | whitespace fix | | |----------+------------+-----------------------------------+------------| | | | reverse whitespace change 203711 | | | | | that was based on looking at | | | 203717 | jpeeler | sig_analog (which has about a | | | | | 1000 line indentation change that | | | | | is not worth doing here) | | |----------+------------+-----------------------------------+------------| | | | Fix ast_say_counted_noun to | | | 204476 | qwell | correctly handle Polish. Fix a | | | | | comment typo in passing. | | |----------+------------+-----------------------------------+------------| | 204652 | dvossel | removes fake dialog_unref and | | | | | dialog_ref function calls. | | |----------+------------+-----------------------------------+------------| | | | Improve handling of | | | 204949 | kpfleming | AST_CONTROL_T38 and | | | | | AST_CONTROL_T38_PARAMETERS for | | | | | non-T.38-capable channels. | | |----------+------------+-----------------------------------+------------| | 204980 | tilghman | Restore Hungarian (mistakenly | | | | | removed during merge) | | |----------+------------+-----------------------------------+------------| | | | Move OpenSSL initialization to a | | | 205139 | russell | single place, make library usage | | | | | thread-safe. | | |----------+------------+-----------------------------------+------------| | 205152 | russell | Use tabs instead of spaces for | | | | | indentation. | | |----------+------------+-----------------------------------+------------| | | | Add redirection warnings for the | | | 205200 | tilghman | invalid language codes previously | | | | | removed. | | |----------+------------+-----------------------------------+------------| | 205220 | dvossel | ast_samp2tv needs floating point | | | | | for 16khz audio | | |----------+------------+-----------------------------------+------------| | 205224 | tilghman | oops, fixing build | | |----------+------------+-----------------------------------+------------| | | | Update config.guess and | | | 205296 | qwell | config.sub from the | | | | | savannah.gnu.org git repo. | | |----------+------------+-----------------------------------+------------| | 205415 | dvossel | moving ast_devstate_to_extenstate | | | | | to pbx.c from devicestate.c | | |----------+------------+-----------------------------------+------------| | | | pthread_self returns a pthread_t | | | 205533 | mvanbaak | which is not an unsigned int on | | | | | all | | |----------+------------+-----------------------------------+------------| | 205597 | dvossel | Fixes 8khz assumptions | | |----------+------------+-----------------------------------+------------| | 205608 | dvossel | Changing ast_samp2tv to not use | | | | | floating point. | | |----------+------------+-----------------------------------+------------| | 205880 | mmichelson | Fix build. | | |----------+------------+-----------------------------------+------------| | 205940 | kpfleming | Update comments about the level | | | | | of T.38 support in Asterisk. | | |----------+------------+-----------------------------------+------------| | 206369 | rmudgett | Fix some memory leaks in | | | | | chan_misdn. | | |----------+------------+-----------------------------------+------------| | 206387 | russell | Ensure apathetic replies are sent | | | | | out on the proper socket. | | |----------+------------+-----------------------------------+------------| | | | Only print debug info in | | | 206637 | seanbright | codec_dahdi if we are asking for | | | | | it. | | |----------+------------+-----------------------------------+------------| | 206762 | rmudgett | Merged revision 206700 from | | |----------+------------+-----------------------------------+------------| | 206871 | dvossel | avoid segfault caused by user | | | | | error | | |----------+------------+-----------------------------------+------------| | 207097 | jpeeler | Update some missing allowed | | | | | options for overlapdial | | |----------+------------+-----------------------------------+------------| | 207286 | rmudgett | | | |----------+------------+-----------------------------------+------------| | 207683 | kpfleming | Ensure that user-provided CFLAGS | | | | | and LDFLAGS are honored. | | |----------+------------+-----------------------------------+------------| | 207725 | mmichelson | Document default timeout for AMI | | | | | originations. | | |----------+------------+-----------------------------------+------------| | | | Revert r207636, this approach | | | 207783 | jpeeler | could potentially block for an | | | | | unacceptable | | |----------+------------+-----------------------------------+------------| | 208316 | mmichelson | Remove inaccurate XXX comment. | | |----------+------------+-----------------------------------+------------| | | | Rework of T.38 negotiation and | | | 208468 | kpfleming | UDPTL API to address | | | | | interoperability problems | | |----------+------------+-----------------------------------+------------| | 208502 | kpfleming | Use correct formatting for T.38 | | | | | change note in UPGRADE.txt | | |----------+------------+-----------------------------------+------------| | | | Resolve a T.38 negotiation issue | | | 208549 | kpfleming | left over from the udptl-updates | | | | | merge. | | |----------+------------+-----------------------------------+------------| | 208594 | russell | Do not log an ERROR if | | | | | autoservice_stop() returns -1. | | |----------+------------+-----------------------------------+------------| | 208752 | jpeeler | Fix compiling under dev-mode with | | | | | gcc 4.4.0. | | |----------+------------+-----------------------------------+------------| | 208925 | jpeeler | Fix logic errors from 208746 | | |----------+------------+-----------------------------------+------------| | | | Restore explicit export of | | | 209057 | kpfleming | ASTCFLAGS/ASTLDFLAGS and | | | | | underscore-variants to sub-makes. | | |----------+------------+-----------------------------------+------------| | 209061 | dbrooks | Just replacing typos "recieved" | #15360 | | | | with "received". | | |----------+------------+-----------------------------------+------------| | 209259 | kpfleming | Make T.38 switchover in | | | | | ReceiveFAX synchronous. | | |----------+------------+-----------------------------------+------------| | 209280 | kpfleming | Cleanup T.38 negotiation changes. | | |----------+------------+-----------------------------------+------------| | 209325 | tilghman | Publish French extra sounds | | |----------+------------+-----------------------------------+------------| | 209394 | kpfleming | Correct error in backport of | | | | | latest app_fax fixes. | | |----------+------------+-----------------------------------+------------| | | | Fix some places where | | | 209712 | russell | ast_event_type was used instead | | | | | of ast_event_ie_type. | | |----------+------------+-----------------------------------+------------| | 209762 | kpfleming | Minor changes inspired by testing | | | | | with latest GCC. | | |----------+------------+-----------------------------------+------------| | 209896 | russell | Resolve a valgrind warning about | #15396 | | | | a read from uninitialized memory. | | |----------+------------+-----------------------------------+------------| | 211114 | russell | Resolve a deadlock involving | | | | | app_chanspy and masquerades. | | |----------+------------+-----------------------------------+------------| | 211276 | tilghman | Small oops. Clear the flags which | | | | | have been checked. | | |----------+------------+-----------------------------------+------------| | 211551 | tilghman | AST-2009-005 | | |----------+------------+-----------------------------------+------------| | 211587 | tilghman | Conversion specifiers, not format | | | | | specifiers | | |----------+------------+-----------------------------------+------------| | | | Check an actual populated | | | 212068 | file | variable when seeing if we need | | | | | to do video or not. | | |----------+------------+-----------------------------------+------------| | | | Ensure that T38FaxVersion is put | | | 212114 | kpfleming | into outgoing SDP in the proper | | | | | case. | | |----------+------------+-----------------------------------+------------| | 212432 | rmudgett | Fix uninitialized variable. | | |----------+------------+-----------------------------------+------------| | 212765 | rmudgett | Removed some deadwood and added | | | | | some doxygen comments. | | |----------+------------+-----------------------------------+------------| | 212926 | kpfleming | Convert this branch to Opsound | | | | | music-on-hold. | | |----------+------------+-----------------------------------+------------| | | | Remove some | | | 212941 | kpfleming | accidentally-committed | | | | | properties. | | |----------+------------+-----------------------------------+------------| | | | Make autoheader descriptions | | | 214361 | tilghman | render correctly in our | #14906 | | | | autoconfig.h file. | | |----------+------------+-----------------------------------+------------| | | | One more build system change, to | | | 214474 | tilghman | make the descriptions look | | | | | better, if we have better | | | | | information. | | +------------------------------------------------------------------------+ - 1.6.0.15 fixes AST-2009-006 which is a remote DOS issue in IAX2 @ text @d1 1 a1 1 $NetBSD: patch-ax,v 1.1.1.1 2009/06/12 09:04:57 jnemeth Exp $ d3 1 a3 1 --- apps/app_queue.c.orig 2009-08-10 12:25:03.000000000 -0700 d5 1 a5 1 @@@@ -2917,7 +2917,7 @@@@ static int wait_our_turn(struct queue_en d14 1 a14 1 @@@@ -2925,13 +2925,13 @@@@ static int wait_our_turn(struct queue_en d30 1 a30 13 @@@@ -3166,9 +3166,9 @@@@ static void queue_transfer_fixup(void *d int callcompletedinsl = qtds->callcompletedinsl; struct ast_datastore *datastore; - ast_queue_log(qe->parent->name, qe->chan->uniqueid, member->membername, "TRANSFER", "%s|%s|%ld|%ld", + ast_queue_log(qe->parent->name, qe->chan->uniqueid, member->membername, "TRANSFER", "%s|%s|%ld|%jd", new_chan->exten, new_chan->context, (long) (callstart - qe->start), - (long) (time(NULL) - callstart)); + (intmax_t) (time(NULL) - callstart)); update_queue(qe->parent, member, callcompletedinsl); @@@@ -3625,7 +3625,7 @@@@ static int try_calling(struct queue_ent a36 1 ast_cdr_noanswer(qe->chan->cdr); d38 2 a39 1 @@@@ -3672,8 +3672,8 @@@@ static int try_calling(struct queue_ent a47 1 pbx_builtin_setvar_multiple(peer, interfacevar); d49 2 a50 1 @@@@ -3917,7 +3917,7 @@@@ static int try_calling(struct queue_ent d59 1 a59 1 @@@@ -3928,12 +3928,12 @@@@ static int try_calling(struct queue_ent d74 2 a75 26 @@@@ -3962,17 +3962,17 @@@@ static int try_calling(struct queue_ent if (!attended_transfer_occurred(qe->chan)) { struct ast_datastore *tds; if (strcasecmp(oldcontext, qe->chan->context) || strcasecmp(oldexten, qe->chan->exten)) { - ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "TRANSFER", "%s|%s|%ld|%ld", + ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "TRANSFER", "%s|%s|%ld|%jd", qe->chan->exten, qe->chan->context, (long) (callstart - qe->start), - (long) (time(NULL) - callstart)); + (intmax_t) (time(NULL) - callstart)); send_agent_complete(qe, queuename, peer, member, callstart, vars, sizeof(vars), TRANSFER); } else if (ast_check_hangup(qe->chan)) { - ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "COMPLETECALLER", "%ld|%ld|%d", - (long) (callstart - qe->start), (long) (time(NULL) - callstart), qe->opos); + ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "COMPLETECALLER", "%ld|%jd|%d", + (long) (callstart - qe->start), (intmax_t) (time(NULL) - callstart), qe->opos); send_agent_complete(qe, queuename, peer, member, callstart, vars, sizeof(vars), CALLER); } else { - ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "COMPLETEAGENT", "%ld|%ld|%d", - (long) (callstart - qe->start), (long) (time(NULL) - callstart), qe->opos); + ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "COMPLETEAGENT", "%ld|%jd|%d", + (long) (callstart - qe->start), (intmax_t) (time(NULL) - callstart), qe->opos); send_agent_complete(qe, queuename, peer, member, callstart, vars, sizeof(vars), AGENT); } if ((tds = ast_channel_datastore_find(qe->chan, &queue_transfer_info, NULL))) { @@@@ -4842,8 +4842,8 @@@@ check_turns: ast_cdr_noanswer(qe.chan->cdr); d85 1 a85 11 @@@@ -4912,7 +4912,7 @@@@ check_turns: if (qe.parent->leavewhenempty && (stat == QUEUE_NO_MEMBERS)) { record_abandoned(&qe); reason = QUEUE_LEAVEEMPTY; - ast_queue_log(args.queuename, chan->uniqueid, "NONE", "EXITEMPTY", "%d|%d|%ld", qe.pos, qe.opos, (long)(time(NULL) - qe.start)); + ast_queue_log(args.queuename, chan->uniqueid, "NONE", "EXITEMPTY", "%d|%d|%jd", qe.pos, qe.opos, (intmax_t)(time(NULL) - qe.start)); res = 0; break; } @@@@ -4921,7 +4921,7 @@@@ check_turns: if ((qe.parent->leavewhenempty == QUEUE_EMPTY_STRICT) && (stat == QUEUE_NO_REACHABLE_MEMBERS || stat == QUEUE_NO_UNPAUSED_REACHABLE_MEMBERS)) { a86 8 reason = QUEUE_LEAVEUNAVAIL; - ast_queue_log(args.queuename, chan->uniqueid, "NONE", "EXITEMPTY", "%d|%d|%ld", qe.pos, qe.opos, (long)(time(NULL) - qe.start)); + ast_queue_log(args.queuename, chan->uniqueid, "NONE", "EXITEMPTY", "%d|%d|%jd", qe.pos, qe.opos, (intmax_t)(time(NULL) - qe.start)); res = 0; break; } @@@@ -4938,7 +4938,7 @@@@ check_turns: ast_cdr_noanswer(qe.chan->cdr); d94 2 a95 1 @@@@ -4966,8 +4966,8 @@@@ stop: a96 1 ast_cdr_noanswer(qe.chan->cdr); @