[svn-commits] bebuild: tag 11.16.0-rc1 r431512 - /tags/11.16.0-rc1/
SVN commits to the Digium repositories
svn-commits at lists.digium.com
Fri Jan 30 15:42:20 CST 2015
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 <asteriskteam at digium.com>
+
+ * Asterisk 11.16.0-rc1 Released.
+
+2015-01-30 16:55 +0000 [r431423-431472] Mark Michelson <mmichelson at 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 <jcolp at 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 <mmichelson at 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 <kharwell at 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 <rmudgett at 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 <rmudgett at 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+asterisk at 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 <mjordan at 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 <mjordan at 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 <mjordan at 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 <rmudgett at 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 <mjordan at 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 <kmoore at 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 <kharwell at 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 <rmudgett at 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 <mjordan at 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 <jcolp at 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 <rmudgett at 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+asterisk at 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 <jcolp at 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 <rmudgett at 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 <mjordan at 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 <jcolp at 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 <asteriskteam at digium.com>
+
+ * Asterisk 11.15.0 Released.
+
+2014-12-10 Asterisk Development Team <asteriskteam at 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 <asteriskteam at digium.com>
+
+ * Asterisk 11.15.0-rc1 Released.
+
+2014-12-06 18:15 +0000 [r429027-429031] Matthew Jordan <mjordan at 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 <mjordan at 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 <jcolp at 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 <rmudgett at 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 <mmichelson at 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 <kharwell at 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 <jcolp at 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 <rmudgett at 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 <git at 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 <mjordan at 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 <mjordan at 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 <sgriepentrog at 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 ...]
More information about the svn-commits
mailing list