Author: bebuild Date: Fri Jan 30 15:42:10 2015 New Revision: 431512 URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=431512 Log: Importing files for 11.16.0-rc1 release.
Added: tags/11.16.0-rc1/.lastclean (with props) tags/11.16.0-rc1/.version (with props) tags/11.16.0-rc1/ChangeLog (with props) Added: tags/11.16.0-rc1/.lastclean URL: http://svnview.digium.com/svn/asterisk/tags/11.16.0-rc1/.lastclean?view=auto&rev=431512 ============================================================================== --- tags/11.16.0-rc1/.lastclean (added) +++ tags/11.16.0-rc1/.lastclean Fri Jan 30 15:42:10 2015 @@ -1,0 +1,1 @@ +40 Propchange: tags/11.16.0-rc1/.lastclean ------------------------------------------------------------------------------ svn:eol-style = native Propchange: tags/11.16.0-rc1/.lastclean ------------------------------------------------------------------------------ svn:keywords = none Propchange: tags/11.16.0-rc1/.lastclean ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: tags/11.16.0-rc1/.version URL: http://svnview.digium.com/svn/asterisk/tags/11.16.0-rc1/.version?view=auto&rev=431512 ============================================================================== --- tags/11.16.0-rc1/.version (added) +++ tags/11.16.0-rc1/.version Fri Jan 30 15:42:10 2015 @@ -1,0 +1,1 @@ +11.16.0-rc1 Propchange: tags/11.16.0-rc1/.version ------------------------------------------------------------------------------ svn:eol-style = native Propchange: tags/11.16.0-rc1/.version ------------------------------------------------------------------------------ svn:keywords = none Propchange: tags/11.16.0-rc1/.version ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: tags/11.16.0-rc1/ChangeLog URL: http://svnview.digium.com/svn/asterisk/tags/11.16.0-rc1/ChangeLog?view=auto&rev=431512 ============================================================================== --- tags/11.16.0-rc1/ChangeLog (added) +++ tags/11.16.0-rc1/ChangeLog Fri Jan 30 15:42:10 2015 @@ -1,0 +1,32783 @@ +2015-01-30 Asterisk Development Team <asteriskt...@digium.com> + + * Asterisk 11.16.0-rc1 Released. + +2015-01-30 16:55 +0000 [r431423-431472] Mark Michelson <mmichel...@digium.com> + + * main/pbx.c: Backport memory leak fix in pbx.c from branch 13 + revision 431468 + + * channels/chan_sip.c: Use SIPS URIs in Contact headers when + appropriate. RFC 3261 sections 8.1.1.8 and 12.1.1 dictate + specific scenarios when we are required to use SIPS URIs in + Contact headers. Asterisk's non-compliance with this could + actually cause calls to get dropped when communicating with + clients that are strict about checking the Contact header. Both + of the SIP stacks in Asterisk suffered from this issue. This + changeset corrects the behavior in chan_sip. ASTERISK-24646 + #close Reported by Stephan Eisvogel Review: + https://reviewboard.asterisk.org/r/4346 + +2015-01-29 12:08 +0000 [r431384] Joshua Colp <jc...@digium.com> + + * res/res_rtp_asterisk.c: res_rtp_asterisk: Fix DTLS when used with + OpenSSL 1.0.1k A recent security fix for OpenSSL broke DTLS + negotiation for many applications. This was caused by read ahead + not being enabled when it should be. While a commit has gone into + OpenSSL to force read ahead on for DTLS it may take some time for + a release to be made and the change to be present in + distributions (if at all). As enabling read ahead is a simple one + line change this commit does that and fixes the issue. + ASTERISK-24711 #close Reported by: Jared Biel + +2015-01-28 17:12 +0000 [r431297-431298] Mark Michelson <mmichel...@digium.com> + + * funcs/func_curl.c: Fix compilation error from previous patch. + + * funcs/func_curl.c: Mitigate possible HTTP injection attacks using + CURL() function in Asterisk. CVE-2014-8150 disclosed a + vulnerability in libcURL where HTTP request injection can be + performed given properly-crafted URLs. Since Asterisk makes use + of libcURL, and it is possible that users of Asterisk may get + cURL URLs from user input or remote sources, we have made a patch + to Asterisk to prevent such HTTP injection attacks from + originating from Asterisk. ASTERISK-24676 #close Reported by Matt + Jordan Review: https://reviewboard.asterisk.org/r/4364 + AST-2015-002 + +2015-01-27 22:53 +0000 [r431187-431218] Kevin Harwell <kharw...@digium.com> + + * main/tcptls.c: tcptls: Bad file descriptor error when reloading + chan_sip While running through some scenarios using chan_sip and + tcp a problem would occur that resulted in a flood of bad file + descriptor messages on the cli: tcptls.c:712 + ast_tcptls_server_root: Accept failed: Bad file descriptor The + message is received because the underlying socket has been + closed, so is valid. This is probably happening because unloading + of chan_sip is not atomic. That however is outside the scope of + this patch. This patch simply stops the logging of multiple + occurrences of that message. ASTERISK-24728 #close Reported by: + Thomas Thompson Review: https://reviewboard.asterisk.org/r/4380/ + + * channels/chan_sip.c: chan_sip: stale nonce causes failure When + refreshing (with a small expiration) a registration that was sent + to chan_sip the nonce would be considered stale and reject the + registration. What was happening was that the initial + registration's "dialog" still existed in the dialogs container + and upon refresh the dialog match algorithm would choose that as + the "dialog" instead of the newly created one. This occurred + because the algorithm did not check to see if the from tag + matched if authentication info was available after the 401. So, + it ended up assuming the original "dialog" was a match and + stopped the search. The old "dialog" of course had an old nonce, + thus the stale nonce message. This fix attempts to leave the + original functionality alone except in the case of a REGISTER. If + a REGISTER is received if searches for an existing "dialog" + matching only on the callid. If the expires value is low enough + it will reuse dialog that is there, otherwise it will create a + new one. ASTERISK-24715 #close Reported by: John Bigelow Review: + https://reviewboard.asterisk.org/r/4367/ + +2015-01-27 17:11 +0000 [r431135] Richard Mudgett <rmudg...@digium.com> + + * apps/confbridge/include/confbridge.h, apps/app_confbridge.c: + app_confbridge: Repeatedly starting and stopping recording ref + leaks the recording channel. Starting and stopping conference + recording more than once causes the recording channels to be + leaked. For v13 the channels also show up in the CLI "core show + channels" output. * Reworked and simplified the recording channel + code to use ast_bridge_impart() instead of managing the recording + thread in the ConfBridge code. The recording channel's ref + handling easily falls into place and other off nominal code paths + get handled better as a result. ASTERISK-24719 #close Reported + by: John Bigelow Review: https://reviewboard.asterisk.org/r/4368/ + Review: https://reviewboard.asterisk.org/r/4369/ + +2015-01-23 19:34 +0000 [r431049] Richard Mudgett <rmudg...@digium.com> + + * apps/app_confbridge.c: app_confbridge: Whitespace Because there + is sometimes no sence to any whitespace. + +2015-01-23 14:55 +0000 [r430993-430997] Walter Doekes <walter+aster...@wjd.nu> + + * include/asterisk/channel.h: Typo's (missed a spot in r430996). + + * apps/app_minivm.c, contrib/utils/eagi_proxy.c, + res/pjproject/pjsip/include/pjsip/sip_transport_tcp.h, + res/pjproject/pjsip-apps/src/pjsua/pjsua_app.c, + apps/app_voicemail.c, channels/chan_unistim.c, + channels/chan_sip.c, channels/h323/ast_h323.cxx, res/res_fax.c, + res/pjproject/pjlib-util/include/pjlib-util/http_client.h, + apps/app_alarmreceiver.c, + res/pjproject/pjlib/include/pj/activesock.h, + include/asterisk/channel.h, funcs/func_hangupcause.c, + res/pjproject/pjmedia/src/pjmedia/stream.c, + res/pjproject/pjmedia/include/pjmedia/stream.h, + funcs/func_groupcount.c, channels/chan_misdn.c, + addons/ooh323c/src/ooh245.c, + res/pjproject/pjnath/src/pjnath/stun_sock.c: Fix typo's + (retrieve, specified, address). + + * channels/chan_sip.c: chan_sip: Case insensitive comparison of + "defaultuser" parameter. All the other configuration options are + case insensitive, so this one should be too. ASTERISK-24355 + #close Reported by: HZMI8gkCvPpom0tM patches: ast.patch uploaded + by HZMI8gkCvPpom0tM (License 6658) + +2015-01-22 14:22 +0000 [r430920] Matthew Jordan <mjor...@digium.com> + + * apps/app_voicemail.c: apps/app_voicemail: Trigger MWI + notification with MixMonitor m() option The MixMonitor m() option + allows a recording to be pushed to a specific voicemail mailbox. + If the message is delivered to the mailbox's INBOX, however, no + MWI notification is currently raised. This patch corrects the + issue by properly calling notify_new_state from the + msg_create_from_file function. This will cause MWI to be + triggered if the message was placed in the mailbox's INBOX. + ASTERISK-24709 #close Reported by: Gareth Palmer patches: + app_voicemail-430919.patch uploaded by Gareth Palmer (License + 5169) + +2015-01-20 02:38 +0000 [r430795-430798] Matthew Jordan <mjor...@digium.com> + + * contrib/scripts/install_prereq: contrib/scripts/install_prereq: + Don't install 32-bit packages on 64-bit hosts On Debian based + systems, the install_prereq tool uses a search command on Debian + that results in selecting both 64-bit and 32-bit packages. + Besides the waste of disk space, this can actually cause aptitude + use 100% of memory on a VM with 1GB of RAM as it tried to work + out all of the 32-bit package dependencies. This patch filters + out the 32-bit packages on a 64-bit machine, and leaves 32-bit + machines alone. ASTERISK-24048 #close Reported by: Ben Klang + Tested by: Ben Klang, Matt Jordan patches: + install_prereq_64-bit_compat.patch uploaded by Ben Klang (License + 5876) + + * apps/app_voicemail.c: app_voicemail: Temp message left after + review/hangup with ODBC/IMAP backend When using ODBC or IMAP + storage, temporary files created on the file system must be + disposed of using the DISPOSE macro. The DELETE macro will map to + a deletion function for the backend storage, but does not clean + up any local files created as a result of the operation. When + using voicemail with the operator and review options enabled, + pressing 0 to enter the menu, followed by 1 to save the message, + followed by any other DTMF press to delete the message, will + result in the temporary file lingering on the file system. This + patch properly calls DISPOSE after the DELETE. This causes the + local file to be disposed of. ASTERISK-24288 #close Reported by: + LEI FU patches: voicemail_odbc_review_fix.diff uploaded by LEI FU + (License 6640) + +2015-01-14 15:34 +0000 [r430589] Matthew Jordan <mjor...@digium.com> + + * build_tools/mkpkgconfig: build_tools/mkpkgconfig: Fix Cflags + concatenation error in asterisk.pc The mkpkgconfig script + incorrectly concatenates Cflags options together. As an example, + the following: Cflags: -I/usr/include/libxml2 -g3 Is instead + generated as: Cflags: -I/usr/include/libxml2-g3 This patch + corrects the generation of Cflags in mkpkgconfig such that the + Cflags options are output correctly. Review: + https://reviewboard.asterisk.org/r/3707/ ASTERISK-23991 #close + Reported by: Diederik de Groot patches: fix_mkpkgconfig.diff + uploaded by Diederik de Groot (License 6600) + +2015-01-13 18:06 +0000 [r430564] Richard Mudgett <rmudg...@digium.com> + + * apps/app_macro.c: app_macro: Don't restore the calling location + on a channel redirect. v11: If a channel redirect to a macro + exten of a macro that is active happens, the redirect location + doesn't get executed. Instead the original macro location is + restored and gets reexecuted. v13: An additional effect happens + if a parked call times out to an extension in the macro that + parked the call then the macro is reexecuted instead of the + expected park return location. * Made not restore the macro + calling location on an AST_SOFTHANGUP_ASYNCGOTO. * Increased the + locked channel range when setting up the macro execution + environment to cover things that should be done while the channel + is locked. * Removed unnecessary NULL tests before calling + ast_free() in _macro_exec(). ASTERISK-23850 #close Reported by: + Andrew Nagy Review: https://reviewboard.asterisk.org/r/4292/ + +2015-01-12 18:00 +0000 [r430487-430506] Matthew Jordan <mjor...@digium.com> + + * include/asterisk/syslog.h, main/syslog.c: main/syslog: Allow + dynamic logs, such as security events, to log to the syslog The + security event log uses a dynamic log level (SECURITY) that is + registered with the Asterisk logging core. Unfortunately, the + syslog would ignore log statements that had a dynamic log level + associated with them. Because the syslog cannot handle ad hoc + dynamic log levels, this patch treats any dynamic log entries + sent to the syslog as logs with a level of NOTICE. ASTERISK-20744 + #close Reported by: Michael Keuter Tested by: Michael L. Young, + Jacek Konieczny patches: + asterisk-20744-syslog-dynamic-logging_trunk.diff uploaded by + Michael L. Young (license 5026) + + * funcs/func_curl.c: funcs/func_curl: Fix memory leak when CURLOPT + channel datastore is destroyed When the channel datastore + associated with the usage of CURLOPT on a specific channel is + freed, the underlying structure holding the list of options is + not disposed of. This patch properly frees the structure in the + datastore .destroy callback. ASTERISK-24672 #close Reported by: + Kristian Hogh patches: func_curl-memory-leak.diff uploaded by + Kristian Hogh (License 6639) + +2015-01-09 14:40 +0000 [r430415] Kinsey Moore <kmo...@digium.com> + + * include/asterisk/res_fax.h, CHANGES, res/res_fax.c, + configs/res_fax.conf.sample: res_fax: Add T.38 negotiation + timeout option This change makes the T.38 negotiation timeout + configurable via 't38timeout' in res_fax.conf or + FAXOPT(t38timeout). It was previously hard coded to be 5000 + milliseconds. This change also handles T.38 switch failures by + aborting the fax since in the case where this can happen, both + sides have agreed to switch to T.38 and Asterisk is unable to do + so. Review: https://reviewboard.asterisk.org/r/4320/ + +2014-12-24 21:18 +0000 [r430126] Kevin Harwell <kharw...@digium.com> + + * configs/queues.conf.sample: app_queue: Update sample conf + documenation Updated the queues.conf.sample file to explicitly + state which channel queue variables are propagated to. + ASTERISK-24267 Reported by: Mitch Claborn + +2014-12-22 19:38 +0000 [r430009] Richard Mudgett <rmudg...@digium.com> + + * main/asterisk.c, main/logger.c, include/asterisk/_private.h: + queue_log: Post QUEUESTART entry when Asterisk fully boots. The + QUEUESTART log entry has historically acted like a fully booted + event for the queue_log file. When the QUEUESTART entry was + posted to the log was broken by the change made by + ASTERISK-15863. * Made post the QUEUESTART queue_log entry when + Asterisk fully boots. This restores the intent of that log entry + and happens after realtime has had a chance to load. AST-1444 + #close Reported by: Denis Martinez Review: + https://reviewboard.asterisk.org/r/4282/ + +2014-12-22 15:39 +0000 [r429982] Matthew Jordan <mjor...@digium.com> + + * channels/chan_sip.c: chan_sip: Send CANCEL via original INVITE + destination even after UPDATE request Given the following + scenario: * Three SIP phones (A, B, C), all communicating via a + proxy with Asterisk * A call is established between A and B. B + performs a SIP attended transfer of A to C. B sets the call on + hold (A is hearing MOH) and dials the extension of C. While phone + C is ringing, B transfers the call (that is, what we typically + call a 'blond transfer'). * When the transfer completes, A hears + the ringing of phone C, while B is idle. In the SIP messaging for + the above scenario, a REFER request is sent to transfer the call. + When "sendrpid=yes" is set in sip.conf, Asterisk may send an + UPDATE request to phone C to update party information. This + update is sent directly to phone C, not through the intervening + proxy. This has the unfortunate side effect of providing route + information, which is then set on the sip_pvt structure for C. If + someone (e.g. B) is trying to get the call back (through a + directed pickup), Asterisk will send a CANCEL request to C. + However, since we have now updated the route set, the CANCEL + request will be sent directly to C and not through the proxy. The + phone ignores this CANCEL according to RFC3261 (Section 9.1). + This patch updates reqprep such that the route is not updated if + an UPDATE request is being sent while the INVITE state is + INV_PROCEEDING or INV_EARLY_MEDIA. This ensures that a subsequent + CANCEL request is still sent to the correct location. Review: + https://reviewboard.asterisk.org/r/4279 ASTERISK-24628 #close + Reported by: Karsten Wemheuer patches: issue.patch uploaded by + Karsten Wemheuer (License 5930) + +2014-12-20 20:56 +0000 [r429893] Joshua Colp <jc...@digium.com> + + * main/named_acl.c: acl: Fix reloading of configuration if + configuration file does not exist at startup. The named ACL code + incorrectly destroyed the config options information if loading + of the configuration file failed at startup. This would result in + reloading also failing even if a valid configuration file was put + in place. ASTERISK-23733 #close Reported by: Richard Kenner + +2014-12-19 20:51 +0000 [r429783-429867] Richard Mudgett <rmudg...@digium.com> + + * res/res_http_websocket.c: res_http_websocket.c: Fix incorrect use + of sizeof in ast_websocket_write(). This won't fix the reported + issue but it is an incorrect use of sizeof. ASTERISK-24566 + Reported by: Badalian Vyacheslav + + * channels/chan_dahdi.c: chan_dahdi: Don't ignore setvar when using + configuration section scheme. When the configuration section + scheme of chan_dahdi.conf is used (keyword dahdichan instead of + channel) all setvar= options are completely ignored. No variable + defined this way appears in the created DAHDI channels. * Move + the clearing of setvar values to after the deferred processing of + dahdichan. AST-1378 #close Reported by: Guenther Kelleter Patch + by: Guenther Kelleter + + * res/res_rtp_asterisk.c, channels/chan_dahdi.c: chan_dahdi.c, + res_rtp_asterisk.c: Change some spammy debug messages to level 5. + ASTERISK-24337 #close Reported by: Rusty Newton + + * channels/sig_analog.c, UPGRADE.txt: chan_dahdi: Populate + CALLERID(ani2) for incoming calls in featdmf signaling mode. For + the featdmf signaling mode the incoming MF Caller-ID information + is formatted as follows: + *${CALLERID(ani2)}${CALLERID(ani)}#*${EXTEN}# Rather than + discarding the ani2 digits, populate the CALLERID(ani2) value + with what is received instead. AST-1368 #close Reported by: Denis + Martinez Patches: extract_ani2_for_featdmf_v11.patch (license + #5621) patch uploaded by Richard Mudgett + +2014-12-17 09:24 +0000 [r429673] Walter Doekes <walter+aster...@wjd.nu> + + * main/netsock.c, main/loader.c, channels/chan_misdn.c, + main/manager.c, apps/app_osplookup.c, + res/pjproject/pjlib/src/pj/ssl_sock_dump.c, + res/pjproject/pjnath/src/pjnath-test/stun.c, + res/pjproject/pjnath/src/pjnath/turn_sock.c, channels/misdn/ie.c, + channels/chan_h323.c, apps/app_sms.c, + addons/ooh323c/src/printHandler.c, apps/app_adsiprog.c, + res/res_rtp_asterisk.c, + res/pjproject/pjnath/src/pjnath/stun_msg_dump.c, main/udptl.c, + channels/chan_unistim.c, + res/pjproject/pjlib-util/src/pjlib-util-test/encryption.c, + channels/chan_sip.c, channels/vcodecs.c, res/res_crypto.c, + utils/astman.c, utils/smsq.c, main/utils.c, pbx/dundi-parser.c, + apps/app_getcpeid.c, res/pjproject/pjnath/src/pjnath/stun_msg.c, + channels/chan_iax2.c, channels/sig_pri.c, res/res_pktccops.c, + channels/iax2-parser.c: Fix printf problems with high ascii + characters after r413586 (1.8). In r413586 (1.8) various casts + were added to silence gcc 4.10 warnings. Those fixes included + things like: -out += sprintf(out, "%%%02X", (unsigned char) + *ptr); +out += sprintf(out, "%%%02X", (unsigned) *ptr); That + works for low ascii characters, but for the high range that + yields e.g. FFFFFFC3 when C3 is expected. This changeset: - fixes + those casts to use the 'hh' unsigned char modifier instead - + consistently uses %02x instead of %2.2x (or other non-standard + usage) - adds a few 'h' modifiers in various places - fixes a + 'replcaes' typo - dev/urandon typo (in 13+ patch) Review: + https://reviewboard.asterisk.org/r/4263/ ASTERISK-24619 #close + Reported by: Stefan27 (on IRC) + +2014-12-16 16:35 +0000 [r429632] Joshua Colp <jc...@digium.com> + + * channels/chan_sip.c: chan_sip: Allow T.38 switch-over when SRTP + is in use. Previously when SRTP was enabled on a channel it was + not possible to switch to T.38 as no crypto attributes would be + present. This change makes it so it is now possible. If a T.38 + re-invite comes in SRTP is terminated since in practice you can't + encrypt a UDPTL stream. Now... if we were doing T.38 over RTP + (which does exist) then we'd have a chance but almost nobody does + that so here we are. ASTERISK-24449 #close Reported by: Andreas + Steinmetz patches: udptl-ignore-srtp-v2.patch submitted by + Andreas Steinmetz (license 6523) + +2014-12-12 23:31 +0000 [r429539] Richard Mudgett <rmudg...@digium.com> + + * main/lock.c, include/asterisk/lock.h: DEBUG_THREADS: Fix + regression and lock tracking initialization problems. This patch + started with David Lee's patch at + https://reviewboard.asterisk.org/r/2826/ and includes a + regression fix introduced by the ASTERISK-22455 patch. The + initialization of a mutex's lock tracking structure was not + protected in a critical section. This is fine for any mutex that + is explicitly initialized, but a static mutex may have its lock + tracking double initialized if multiple threads attempt the first + lock simultaneously. * Added a global mutex to properly serialize + initialization of the lock tracking structure. The painful global + lock can be mitigated by adding a double checked lock flag as + discussed on the original review request. * Defer lock tracking + initialization until first use. * Don't be "helpful" and + initialize an uninitialized lock when DEBUG_THREADS is enabled. + Debug code is not supposed to fix or change normal code behavior. + We don't need a lock initialization race that would force a + re-setup of lock tracking. Lock tracking already handles + initialization on first use. * Properly handle allocation + failures of the lock tracking structure. * No need to initialize + tracking data in __ast_pthread_mutex_destroy() just to turn + around and destroy it. The regression introduced by + ASTERISK-22455 is the result of manipulating a pthread_mutex_t + struct outside of the pthread library code. The pthread_mutex_t + struct seems to have a global linked list pointer member that can + get changed by other threads. Therefore, saving and restoring the + contents of a pthread_mutex_t struct is a bad thing. Thanks to + Thomas Airmont for finding this obscure regression. * Don't + overwrite the struct ast_lock_track.reentr_mutex member to + restore tracking data in __ast_cond_wait() and + __ast_cond_timedwait(). The pthread_mutex_t struct must be + treated as a read-only opaque variable. Miscellaneous other items + fixed by this patch: * Match ast_suspend_lock_info() with + ast_restore_lock_info() in __ast_cond_timedwait(). * Made some + uninitialized lock sanity checks return EINVAL and try a + DO_THREAD_CRASH. * Fix bad canlog initialization expressions. + ASTERISK-24614 #close Reported by: Thomas Airmont Review: + https://reviewboard.asterisk.org/r/4247/ Review: + https://reviewboard.asterisk.org/r/2826/ + +2014-12-12 22:42 +0000 [r429517] Matthew Jordan <mjor...@digium.com> + + * res/res_agi.c: res/res_agi: Make Verbose message for 'stream + file' match other playbacks The Verbose message displayed when a + file is played back via 'stream file' was formatted differently + than other playbacks: * It didn't include the channel name * It + didn't include the channel language It does, however, include the + playback offset as well as any escape digits. That information + was kept; however, this patch updates the formatting to more + closely match the Verbose messages displayed when a file is + played back by 'control stream file', Playback, ControlPlayback, + or any other file playback operation. + +2014-12-10 13:30 +0000 [r429270] Joshua Colp <jc...@digium.com> + + * channels/chan_sip.c, res/res_http_websocket.c: + res_http_websocket: Fix crash due to double freeing memory when + receiving a payload length of zero. Frames with a payload length + of 0 were incorrectly handled in res_http_websocket. Provided a + frame with a payload had been received prior it was possible for + a double free to occur. The realloc operation would succeed (thus + freeing the payload) but be treated as an error. When the session + was then torn down the payload would be freed again causing a + crash. The read function now takes this into account. This change + also fixes assumptions made by users of res_http_websocket. There + is no guarantee that a frame received from it will be NULL + terminated. ASTERISK-24472 #close Reported by: Badalian + Vyacheslav Review: https://reviewboard.asterisk.org/r/4220/ + Review: https://reviewboard.asterisk.org/r/4219/ + +2014-12-15 Asterisk Development Team <asteriskt...@digium.com> + + * Asterisk 11.15.0 Released. + +2014-12-10 Asterisk Development Team <asteriskt...@digium.com> + + * Asterisk 11.15.0-rc2 Released. + + * AST-2014-019: Fix crash when receiving a WebSocket packet with a + payload length of zero. + + Frames with a payload length of 0 were incorrectly handled in + res_http_websocket. Provided a frame with a payload had been + received prior it was possible for a double free to occur. The + realloc operation would succeed (thus freeing the payload) but be + treated as an error. When the session was then torn down the payload + would be freed again causing a crash. The read function now takes + this into account. + + This change also fixes assumptions made by users of + res_http_websocket. There is no guarantee that a frame received from + it will be NULL terminated. + + ASTERISK-24472 #close + Reported by: Badalian Vyacheslav + +2014-12-08 Asterisk Development Team <asteriskt...@digium.com> + + * Asterisk 11.15.0-rc1 Released. + +2014-12-06 18:15 +0000 [r429027-429031] Matthew Jordan <mjor...@digium.com> + + * res/res_monitor.c: res/res_monitor: Reset in/out sample counts on + Monitor start When repeatedly starting/stopping a Monitor on a + channel, the accumulated in/out sample counts are never reset to + 0. This can cause inadvertent jumps in the recordings, as the + code in the channel core will determine incorrectly that a jump + in the recorded file position should occur. Setting the sample + counts to 0 simply reflects the initial state a Monitor should be + in when it is started, as this is the initial count that would be + on the channels at that time. ASTERISK-24573 #close Reported by: + Nuno Borges patches: 24573.patch uploaded by Nuno Borges (License + 6116) + + * apps/app_meetme.c: apps/app_meetme: Apply default values on + initial load with no config file When the app_meetme module is + loaded without its configuration file, the module settings aren't + initialized. In particular, this impacts the use of logging + realtime members. This patch guarantees that we always set the + default module settings on initial load. Review: + https://reviewboard.asterisk.org/r/4242/ ASTERISK-24572 #close + Reported by: Nuno Borges patches: 24572.patch uploaded by Nuno + Borges (License 6116) + +2014-12-03 16:43 +0000 [r428787-428863] Matthew Jordan <mjor...@digium.com> + + * apps/app_voicemail.c: apps/app_voicemail: Fix crash with IMAP + when streams are opened simultaneously The UW IMAP library is + instrinsically not thread-safe, and relies upon higher level + applications to guarantee thread safety. For the most part, this + is provided by the vms object, which provides locking for + individual streams. Unfortunately, this is not sufficient for + calls to mail_open which create the IMAP stream. mail_open can, + on some systems, call into a UW IMAP specific function for + determining the address of a system based on a hostname, + ip_nametoaddr. In the ip6_unix implementation of this function, + static variables are used to hold parsing buffers. This can cause + a crash if multiple threads attempt to convert a hostname to an + address at the same time. Locking on a single mail stream is not + sufficient to prevent simultaneous access to these static + variables. In the IMAP library, this function can be called from + the mail_open and imap_status functions. As the imap_status + function is not used by app_voicemail, locking on access to + mail_open is sufficient to prevent any mangling of the buffers. + Review: https://reviewboard.asterisk.org/r/4188/ ASTERISK-24516 + #close Reported by: David Duncan Ross Palmer Tested by: David + Duncan Ross Palmer patches: ASTERISK-24516.diff uploaded by David + Duncan Ross Palmer (License 6660) + + * pbx/pbx_loopback.c: pbx/pbx_loopback: Speed up switches by + avoiding unneeded lookups This patch makes a small rearrangement + to only do dialplan lookups during loopback switches if the + pattern matches. Prior to this patch, the dialplan lookups were + always performed, even when the result would be discarded. + Dialplan lookups can be very costly if remote switches - like + DUNDi - are present. In those cases extension matching is sped up + considerably, making the issue of lost digits more manageable. As + collateral damage, 6 trailing spaces were killed. Review: + https://reviewboard.asterisk.org/r/4211 ASTERISK-24577 #close + Reported by: Birger Harzenetter patches: ast-loopback.patch + uploaded by Birger Harzenetter (License 5870) + +2014-12-01 13:39 +0000 [r428653] Joshua Colp <jc...@digium.com> + + * apps/app_record.c: app_record: Fix bug where using the 'k' option + and hanging up would trim 1/4 of a second of the recording. The + Record dialplan function trims 1/4 of a second from the end of + recordings in case they are terminated because of DTMF. When + hanging up, however, you don't want this to happen. This change + makes it so on hangup this does not occur. ASTERISK-24530 #close + Reported by: Ben Smithurst patches: app_record_v2.diff submitted + by Ben Smithurst (license 6529) Review: + https://reviewboard.asterisk.org/r/4201/ + +2014-11-21 18:47 +0000 [r428570] Richard Mudgett <rmudg...@digium.com> + + * main/manager.c: manager: Fix could not extend string messages. + When shutting down Asterisk that has an active AMI connection, + you get several "failed to extend from %d to %d" messages because + use of the EVENT_FLAG_SHUTDOWN attempts to add all AMI permission + strings to the event. * Created MAX_AUTH_PERM_STRING to use when + creating stack based struct ast_str variables used with the + authority_to_str() and user_authority_to_str() functions instead + of a variety of magic numbers that could be too small. * Added a + special check for EVENT_FLAG_SHUTDOWN to authority_to_str() so it + will not attempt to add all permission level strings. Review: + https://reviewboard.asterisk.org/r/4200/ + +2014-11-20 16:35 +0000 [r428417] Mark Michelson <mmichel...@digium.com> + + * /, main/acl.c: Fix error with mixed address family ACLs. Prior to + this commit, the address family of the first item in an ACL was + used to compare all incoming traffic. This could lead to traffic + of other IP address families bypassing ACLs. ASTERISK-24469 + #close Reported by Matt Jordan Patches: ASTERISK-24469-11.diff + uploaded by Matt Jordan (License #6283) AST-2014-012 ........ + Merged revisions 428402 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 + +2014-11-20 16:22 +0000 [r428332-428363] Kevin Harwell <kharw...@digium.com> + + * funcs/func_db.c, /: AST-2014-018 - func_db: DB Dialplan function + permission escalation via AMI. The DB dialplan function when + executed from an external protocol (for instance AMI), could + result in a privilege escalation. Asterisk now inhibits the DB + function from being executed from an external interface if the + live_dangerously option is set to no. ASTERISK-24534 Reported by: + Gareth Palmer patches: submitted by Gareth Palmer (license 5169) + ........ Merged revisions 428331 from + http://svn.asterisk.org/svn/asterisk/branches/1.8 + + * apps/app_confbridge.c: AST-2014-017 - app_confbridge: permission + escalation/ class authorization. Confbridge dialplan function + permission escalation via AMI and inappropriate class + authorization on the ConfbridgeStartRecord action. The CONFBRIDGE + dialplan function when executed from an external protocol (for + instance AMI), could result in a privilege escalation. Also, the + AMI action âConfbridgeStartRecordâ could also be used to execute + arbitrary system commands without first checking for system + access. Asterisk now inhibits the CONFBRIDGE function from being + executed from an external interface if the live_dangerously + option is set to no. Also, the âConfbridgeStartRecordâ AMI action + is now only allowed to execute under a user with system level + access. ASTERISK-24490 Reported by: Gareth Palmer + +2014-11-20 14:20 +0000 [r428299] Joshua Colp <jc...@digium.com> + + * main/bridging.c: AST-2014-014: Fix race condition where channels + may get stuck in ConfBridge under load. Under load it was + possible for the bridging API, and thus ConfBridge, to get + channels that may have hung up stuck in it. This is because + handling of state transitions for a bridged channel within a + bridge was not protected and simply set the new state without + regard to the existing state. If the existing state had been hung + up this would get overwritten. This change adds locking to + protect changing of the state and also takes into consideration + the existing state. ASTERISK-24440 #close Reported by: Ben Klang + Review: https://reviewboard.asterisk.org/r/4173/ + +2014-11-19 16:38 +0000 [r428244] Richard Mudgett <rmudg...@digium.com> + + * res/res_calendar.c, channels/chan_sip.c, + channels/sip/security_events.c: ast_str: Fix improper member + access to struct ast_str members. Accessing members of struct + ast_str outside of the string manipulation API routines is + invalid since struct ast_str is supposed to be treated as opaque. + Review: https://reviewboard.asterisk.org/r/4194/ + +2014-11-17 15:56 +0000 [r428117] Corey Farrell <g...@cfware.com> + + * channels/chan_sip.c: chan_sip: Fix theoretical leak of p->refer. + If transmit_refer is called when p->refer is already allocated, + it leaks the previous allocation. Updated code to always free + previous allocation during a new allocation. Also instead of + checking if we have a previous allocation, always create a clean + record. ASTERISK-15242 #close Reported by: David Woolley Review: + https://reviewboard.asterisk.org/r/4160/ + +2014-11-17 15:26 +0000 [r428077-428113] Matthew Jordan <mjor...@digium.com> + + * apps/confbridge/conf_state_multi_marked.c: apps/app_confbridge: + Ensure 'normal' users hear message when last marked leaves When + r428077 was made for ASTERISK-24522, it failed to take into + account users who are neither wait_marked nor end_marked. These + users are *also* supposed to hear the 'leader has left the + conference' message. Granted, this behaviour is a bit odd; + however, that is how it used to work... and behaviour changes are + not good. This patch ensures that if there are any 'normal' users + present when the last marked user leaves the conference, the + message will still be played to them. Note that this regression + was caught by the Asterisk Test Suite's confbridge_nominal test, + which has a quirky combination of users. + + * apps/confbridge/conf_state_multi_marked.c: app_confbridge: Don't + play leader leaving prompt if no one will hear it Consider the + following: - A marked user in a conference - One or more + end_marked only users in the conference When the marked users + leaves, we will be in the conf_state_multi_marked state. This + currently will traverse the users, kicking out any who have the + end_marked flags. When they are kicked, a full ast_bridge_remove + is immediately called on the channels. At this time, we also + unilaterally set the need_prompt flag. When the need_prompt flag + is set, we then playback a sound to the bridge informing everyone + that the leader has left; however, no one is left in the bridge. + This causes some odd behaviour for the end_marked users - they + are stuck waiting for the bridge to be unlocked. This results in + them waiting for 5 or 6 seconds of dead air before hearing that + they've been kicked. Unfortunately, we do have to keep the bridge + locked while we're playing back the 'leader-has-left' prompt. If + there are any wait_marked users in the conference, this behaviour + can't be easily changed - but we do make the case of the + end_marked users better with this patch. Review: + https://reviewboard.asterisk.org/r/4184/ ASTERISK-24522 #close + Reported by: Matt Jordan + +2014-11-15 16:51 +0000 [r427952] Matthew Jordan <mjor...@digium.com> + + * cel/cel_odbc.c: cel/cel_odbc: Provide microsecond precision in + 'eventtime' column when possible This patch adds microsecond + precision when inserting a CEL record into a table with an + "eventtime" column of type timestamp, instead of second + precision. The documentation (configs/cel_odbc.conf.sample) was + already saying that the eventtime column included microseconds + precision, but that was not the case. Also, without this patch, + if you had a table with an "eventtime" column of type varchar, + you had millisecond precision. With this patch, you also get + microsecond precision in this case. Review: + https://reviewboard.asterisk.org/r/3980 ASTERISK-24283 #close + Reported by: Etienne Lessard patches: + cel_odbc_time_precision.patch uploaded by Etienne Lessard + (License 6394) + +2014-11-14 15:46 +0000 [r427874] Scott Griepentrog <sgriepent...@digium.com> + + * main/stun.c: stun: correct attribute string padding to match rfc + When sending the USERNAME attribute in an RTP STUN response, the + implementation in append_attr_string passed the actual length, + instead of padding it up to a multiple of four bytes as required + by the RFC 3489. This change adds separate variables for the + string and padded attributed lengths, and performs padding [... 32105 lines stripped ...] -- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- svn-commits mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/svn-commits