[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