[asterisk-commits] bebuild: tag 1.8.20.0-rc1 r377514 - /tags/1.8.20.0-rc1/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Sun Dec 9 19:48:04 CST 2012


Author: bebuild
Date: Sun Dec  9 19:48:00 2012
New Revision: 377514

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=377514
Log:
Importing files for 1.8.20.0-rc1 release.

Added:
    tags/1.8.20.0-rc1/.lastclean   (with props)
    tags/1.8.20.0-rc1/.version   (with props)
    tags/1.8.20.0-rc1/ChangeLog   (with props)

Added: tags/1.8.20.0-rc1/.lastclean
URL: http://svnview.digium.com/svn/asterisk/tags/1.8.20.0-rc1/.lastclean?view=auto&rev=377514
==============================================================================
--- tags/1.8.20.0-rc1/.lastclean (added)
+++ tags/1.8.20.0-rc1/.lastclean Sun Dec  9 19:48:00 2012
@@ -1,0 +1,1 @@
+40

Propchange: tags/1.8.20.0-rc1/.lastclean
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tags/1.8.20.0-rc1/.lastclean
------------------------------------------------------------------------------
    svn:keywords = none

Propchange: tags/1.8.20.0-rc1/.lastclean
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tags/1.8.20.0-rc1/.version
URL: http://svnview.digium.com/svn/asterisk/tags/1.8.20.0-rc1/.version?view=auto&rev=377514
==============================================================================
--- tags/1.8.20.0-rc1/.version (added)
+++ tags/1.8.20.0-rc1/.version Sun Dec  9 19:48:00 2012
@@ -1,0 +1,1 @@
+1.8.20.0-rc1

Propchange: tags/1.8.20.0-rc1/.version
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tags/1.8.20.0-rc1/.version
------------------------------------------------------------------------------
    svn:keywords = none

Propchange: tags/1.8.20.0-rc1/.version
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tags/1.8.20.0-rc1/ChangeLog
URL: http://svnview.digium.com/svn/asterisk/tags/1.8.20.0-rc1/ChangeLog?view=auto&rev=377514
==============================================================================
--- tags/1.8.20.0-rc1/ChangeLog (added)
+++ tags/1.8.20.0-rc1/ChangeLog Sun Dec  9 19:48:00 2012
@@ -1,0 +1,43462 @@
+2012-12-10  Asterisk Development Team <asteriskteam at digium.com>
+
+	* Asterisk 1.8.20.0-rc1 Released.
+
+2012-12-10 01:38 +0000 [r377487-377509]  Tilghman Lesher <tilghman at meg.abyt.es>
+
+	* main/xmldoc.c: Improve documentation by making all of the colors
+	  used readable, no matter what the background color is. Dark blue
+	  on a black background is unreadable, as is yellow on a light
+	  background. This patch turns on the bright attribute for colors
+	  when on a dark background and turns *off* the bright attribute
+	  when the -W command line option is used (indicating a _light_
+	  background). This ensures that text is readable in both cases.
+	  Patch by: tilghman Review:
+	  https://reviewboard.asterisk.org/r/2224
+
+	* addons/cdr_mysql.c: Remove some dead code and additionally handle
+	  a case that wasn't handled.
+
+2012-12-08 00:28 +0000 [r377398-377431]  Richard Mudgett <rmudgett at digium.com>
+
+	* contrib/realtime/mysql/sippeers.sql: Fix order of SIP
+	  allow/disallow in MySQL contrib script. Using the contrib
+	  sippeers.sql script to create the sippeers MySQL table would
+	  result in being unable to place calls if you set the disallow
+	  value to all. (closes issue ASTERISK-20756) Reported by: Andre
+	  Luis Patches: sippeers.patch patch uploaded by Andre Luis
+
+	* main/astmm.c: MALLOC_DEBUG: Only wait if we want atexit
+	  allocation dumps.
+
+2012-12-05 16:48 +0000 [r377257]  Joshua Colp <jcolp at digium.com>
+
+	* channels/chan_sip.c: Fix a SIP request memory leak with TLS
+	  connections. During the TLS re-work in chan_sip some TLS specific
+	  code was moved into a separate function. This function operates
+	  on a copy of the incoming SIP request. This copy was never
+	  deinitialized causing a memory leak for each request processed.
+	  This function is now given a SIP request structure which it can
+	  use to copy the incoming request into. This reduces the amount of
+	  memory allocations done since the internal allocated components
+	  are reused between packets and also ensures the SIP request
+	  structure is deinitialized when the TLS connection is torn down.
+	  (closes issue ASTERISK-20763) Reported by: deti
+
+2012-12-05 16:46 +0000 [r377256]  Jonathan Rose <jrose at digium.com>
+
+	* res/res_srtp.c: res_srtp: Fix a crash caused by srtp_dealloc on
+	  an already dealloced session When srtp_create fails, the session
+	  may be dealloced or just not alloced. At the same time though,
+	  the session pointer might not be set to NULL in this process and
+	  attempting to srtp_dealloc it again will cause a segfault. This
+	  patch checks for failure of srtp_create and sets the session
+	  pointer to NULL if it fails. (closes issue ASTERISK-20499)
+	  Reported by: tootai Review:
+	  https://reviewboard.asterisk.org/r/2228/
+
+2012-12-03 22:51 +0000 [r377037-377165]  Richard Mudgett <rmudgett at digium.com>
+
+	* main/asterisk.c: Cleanup ast_run_atexits() atexits list. *
+	  Convert atexits list to a mutex instead of a rd/wr lock. The lock
+	  is only write locked. * Move CLI verbose Asterisk ending message
+	  to where AMI message is output in really_quit() to avoid further
+	  surprises about using stuff already shutdown. (issue
+	  ASTERISK-20649) Reported by: Corey Farrell
+
+	* include/asterisk/_private.h, main/stdtime/localtime.c,
+	  main/asterisk.c: Cleanup core main on exit. * Cleanup time zones
+	  on exit. * Make exit clean/unclean report consistent for AMI and
+	  CLI in really_quit(). (issue ASTERISK-20649) Reported by: Corey
+	  Farrell Patches: core-cleanup-1_8-10.patch (license #5909) patch
+	  uploaded by Corey Farrell core-cleanup-11-trunk.patch (license
+	  #5909) patch uploaded by Corey Farrell Modified
+
+	* main/config.c: Cleanup config cache on exit. (issue
+	  ASTERISK-20649) Reported by: Corey Farrell Patches:
+	  config-cleanup-all.patch (license #5909) patch uploaded by Corey
+	  Farrell
+
+	* main/cli.c: Cleanup CLI resources on exit and CLI command
+	  registration errors. (issue ASTERISK-20649) Reported by: Corey
+	  Farrell Patches: cli-leaks-1_8-10.patch (license #5909) patch
+	  uploaded by Corey Farrell cli-leaks-11-trunk.patch (license
+	  #5909) patch uploaded by Corey Farrell Modified
+
+	* main/cdr.c: Cleanup CDR resources on exit. * Simplify do_reload()
+	  return handling since it never returned anything other than 0.
+	  (issue ASTERISK-20649) Reported by: Corey Farrell Patches:
+	  cdr-cleanup-1_8.patch (license #5909) patch uploaded by Corey
+	  Farrell cdr-cleanup-10-11-trunk.patch (license #5909) patch
+	  uploaded by Corey Farrell Modified
+
+	* main/ccss.c: Fix CCSS CLI commands and logger level not
+	  unregistered. (issue ASTERISK-20649) Reported by: Corey Farrell
+	  Patches: ccss-cleanup-all.patch (license #5909) patch uploaded by
+	  Corey Farrell
+
+2012-11-30 21:30 +0000 [r376950]  Richard Mudgett <rmudgett at digium.com>
+
+	* channels/misdn/isdn_lib.c: chan_misdn: Fix sending
+	  RELEASE_COMPLETE in response to SETUP. Fix sending a
+	  RELEASE_COMPLETE in response to a SETUP if chan_misdn does not
+	  have a B channel available to assign to the call. (closes issue
+	  ABE-2869) Reported by: Guenther Kelleter Patches:
+	  setup-reject_2.diff (license #6372) patch uploaded by Guenther
+	  Kelleter Modified ........ Merged revision 376949 from
+	  https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
+
+2012-11-30 17:04 +0000 [r376919]  Sean Bright <sean at malleable.com>
+
+	* funcs/func_volume.c: Minor spelling fix to the VOLUME
+	  documentation.
+
+2012-11-30 16:12 +0000 [r376901]  Mark Michelson <mmichelson at digium.com>
+
+	* channels/chan_sip.c: Fix potential crashes during SIP attended
+	  transfers. The principal behind this patch is simple. During a
+	  transfer, we manipulate channels that are owned by a separate
+	  thread than the one we currently are running in, so it makes
+	  sense that we need to grab a reference to the channels so that
+	  they cannot disappear out from under us. In the wild, crashes
+	  were sometimes seen when the transferring party would hang up the
+	  call before the transfer target answered the call. The most
+	  common place to see the crash occur was when attempting to send a
+	  connected line update to the transferer channel. (closes issue
+	  ASTERISK-20226) Reported by Jared Smith Patches:
+	  ASTERISK-20226.patch uploaded by Mark Michelson (License #5049)
+	  Tested by: Jared Smith
+
+2012-11-29 22:55 +0000 [r376864-376868]  Richard Mudgett <rmudgett at digium.com>
+
+	* channels/chan_local.c: chan_local: Fix local_pvt ref leak in
+	  local_devicestate(). Regression introduced by ASTERISK-20390 fix.
+	  (closes issue ASTERISK-20769) Reported by: rmudgett Tested by:
+	  rmudgett
+
+	* channels/chan_sip.c: Fix compile error. (issue ASTERISK-20724)
+
+2012-11-29 21:49 +0000 [r376834]  Michael L. Young <elgueromexicano at gmail.com>
+
+	* channels/chan_sip.c: Improve Code Readability And Fix Setting
+	  natdetected Flag For 1.8, 10, 11 and trunk we are are improving
+	  the code readability. For 11 and trunk, auto nat detection was
+	  added. The natdetected flag was being set to 1 when the host
+	  address in the VIA header did not specifiy a port. This patch
+	  fixes this by setting the port on the temporary sock address used
+	  to SIP_STANDARD_PORT in order for the sock address comparison to
+	  work properly. (closes issue ASTERISK-20724) Reported by: Michael
+	  L. Young Patches: asterisk-20724-set-port-v2.diff uploaded by
+	  Michael L. Young (license 5026) Review:
+	  https://reviewboard.asterisk.org/r/2206/
+
+2012-11-29 00:42 +0000 [r376758-376788]  Richard Mudgett <rmudgett at digium.com>
+
+	* main/astmm.c, main/asterisk.c: Add MALLOC_DEBUG atexit unreleased
+	  malloc memory summary. * Adds the following CLI commands to
+	  control MALLOC_DEBUG reporting of unreleased malloc memory when
+	  Asterisk is shut down. memory atexit list on memory atexit list
+	  off memory atexit summary byline memory atexit summary byfunc
+	  memory atexit summary byfile memory atexit summary off * Made
+	  check all remaining allocated region blocks atexit for fence
+	  violations. * Increased the allocated region hash table size by
+	  about three times. It still isn't large enough considering the
+	  number of malloced blocks Asterisk uses. * Made CLI "memory show
+	  allocations anomalies" use regions_check_all_fences(). Review:
+	  https://reviewboard.asterisk.org/r/2196/
+
+	* main/astmm.c: Enhance MALLOC_DEBUG CLI commands. * Fixed CLI
+	  "memory show allocations" misspelling of anomalies option. The
+	  command will still accept the original misspelling. *
+	  Miscellaneous tweaks to CLI "memory show allocations" command
+	  output format. * Made CLI "memory show summary" summarize by line
+	  number instead of by function if a filename is given. * Made CLI
+	  "memory show summary" sort its output by filename or
+	  function-name/line-number depending upon request. * Miscellaneous
+	  tweaks to CLI "memory show summary" command output format.
+
+2012-11-28 16:23 +0000 [r376725]  Jonathan Rose <jrose at digium.com>
+
+	* main/manager.c: manager: Make challenge work with
+	  allowmultiplelogin=no Prior to this patch, challenge would yield
+	  a multiple logins error if used without providing the username
+	  (which isn't really supposed to be an argument to challenge) if
+	  allowmultiplelogin was set to no because allowmultiplelogin finds
+	  a user with a zero length login name. This check is simply
+	  disabled for the challenge action when the username is empty by
+	  this patch. (closes issue ASTERISK-20677) Reported by: Vladimir
+	  Patches: challenge_action_nomultiplelogin.diff uploaded by
+	  Jonathan Rose (license 6182)
+
+2012-11-27 23:47 +0000 [r376627-376688]  Richard Mudgett <rmudgett at digium.com>
+
+	* UPGRADE.txt, main/pbx.c: Fix extension matching with the '-'
+	  char. The '-' char is supposed to be ignored by the dialplan
+	  extension matching. Unfortunately, it's treatment is not handled
+	  consistently throughout the extension matching code. * Made the
+	  old exten matching code consistently ignore '-' chars. * Made the
+	  old exten matching code consistently handle case in the matching.
+	  * Made ignore empty character sets. * Fixed ast_extension_cmp()
+	  to return -1, 0, or 1 as documented. The only user of it in
+	  pbx_lua.c was testing for -1. It was originally returning the
+	  strcmp() value for less than which is not usually going to be -1.
+	  * Fix character set sorting if the sets have the same number of
+	  characters and start with the same character. Character set [0-9]
+	  now sorts before [02-9a] as originally intended. * Updated some
+	  extension label and priority already in use warnings to also
+	  indicate if the extension is aliased. (closes issue
+	  ASTERISK-19205) Reported by: Philippe Lindheimer, Birger "WIMPy"
+	  Harzenetter Tested by: rmudgett Review:
+	  https://reviewboard.asterisk.org/r/2201/
+
+	* pbx/pbx_dundi.c, addons/res_config_mysql.c,
+	  apps/app_celgenuserevent.c: Remove unnecessary channel module
+	  references. * Removed call to ast_module_user_hangup_all() in
+	  res_config_mysql.c since it is effectively a noop. No channels
+	  can attach a reference to that module. * Removed call to
+	  ast_module_user_hangup_all() in app_celgenuserevent.c. The caller
+	  of unload_module() has already called it. * Removed redundant
+	  channel module references in pbx_dundi.c. The registered dialplan
+	  function callback dispatchers for the read/read2/write callbacks
+	  already reference the module before calling. * pbx_dundi: Moved
+	  unregistering CLI commands, DUNDi switch, and dialplan functions
+	  to the first thing the unload_module() does. This will reduce the
+	  chance of new channels using DUNDi services while the module is
+	  being torn down.
+
+	* include/asterisk/linkedlists.h: Made AST_LIST_REMOVE() simpler
+	  and use better names. * Update doxygen of AST_LIST_REMOVE().
+
+2012-11-22 23:51 +0000 [r376586]  Matthew Jordan <mjordan at digium.com>
+
+	* include/asterisk/lock.h, main/lock.c, main/logger.c:
+	  Re-initialize logmsgs mutex upon logger initialization to prevent
+	  lock errors Similar to the patch that moved the fork earlier in
+	  the startup sequence to prevent mutex errors in the recursive
+	  mutex surrounding the read/write thread registration lock, this
+	  patch re-initializes the logmsgs mutex. Part of the start up
+	  sequence before forking the process into the background includes
+	  reading asterisk.conf; this has to occur prior to the call to
+	  daemon in order to read startup parameters. When reading in a
+	  conf file, log statements can be generated. Since this can't be
+	  avoided, the mutex instead is re-initialized to ensure a reset of
+	  any thread tracking information. This patch also includes some
+	  additional debugging to catch errors when locking or unlocking
+	  the recursive mutex that surrounds locks when the DEBUG_THREADS
+	  build option is enabled. DO_CRASH or THREAD_CRASH will cause an
+	  abort() if a mutex error is detected. (issue ASTERISK-19463)
+	  Reported by: mjordan Tesetd by: mjordan
+
+2012-11-20 16:45 +0000 [r376521]  Mark Michelson <mmichelson at digium.com>
+
+	* channels/sip/include/sip.h, channels/chan_sip.c: Add "Require:
+	  timer" to 200 OK responses when appropriate. The method by which
+	  the Require header is added to 200 responses is inspired by the
+	  method that Olle Johansson uses in his darjeeling-prack branch.
+	  (closes issue ASTERISK-20570) Reported by Matt Jordan, at the
+	  behest of Olle Johansson Review:
+	  https://reviewboard.asterisk.org/r/2172
+
+2012-11-19 19:30 +0000 [r376469]  Walter Doekes <walter+asterisk at wjd.nu>
+
+	* main/indications.c, channels/chan_sip.c, main/security_events.c:
+	  Fix most leftover non-opaque ast_str uses. Instead of calling
+	  str->str, one should use ast_str_buffer(str). Same goes for
+	  str->used as ast_str_strlen(str) and str->len as
+	  ast_str_size(str). Review:
+	  https://reviewboard.asterisk.org/r/2198
+
+2012-11-18 20:11 +0000 [r376428]  Matthew Jordan <mjordan at digium.com>
+
+	* main/utils.c, main/stdtime/localtime.c, main/asterisk.c: Reorder
+	  startup sequence to prevent lockups when process is sent to
+	  background Although it is very rare and timing dependent, the
+	  potential exists for the call to 'daemon' to cause what appears
+	  to be a deadlock in Asterisk during startup. This can occur when
+	  a recursive mutex is obtained prior to the daemon call executing.
+	  Since daemon uses fork to send the process into the background,
+	  any threading primitives are unsafe to re-use after the call.
+	  Implementations of pthread recursive mutexes are highly likely to
+	  store the thread identifier of the thread that previously
+	  obtained the mutex. If the mutex was locked prior to the fork, a
+	  subsequent unlock operation will potentially fail as the thread
+	  identifier is no longer valid. Since the mutex is still locked,
+	  all subsequent attempts to grab the mutex by other threads will
+	  block. This behavior exhibited itself most often when
+	  DEBUG_THREADS was enabled, as this compile time option surrounds
+	  the mutexes in Asterisk with another recursive mutex that
+	  protects the storage of thread related information. This made it
+	  much more likely that a recursive mutex would be obtained prior
+	  to daemon and unlocked after the call. This patch does the
+	  following: a) It backports a patch from Asterisk 11 that prevents
+	  the spawning of the localtime monitoring thread. This thread is
+	  now spawned after Asterisk has fully booted. b) It re-orders the
+	  startup sequence to call daemon earlier during Asterisk startup.
+	  This limits the potential of threading primitives being accessed
+	  by initialization calls before daemon is called. c) It removes
+	  calls to ast_verbose/ast_log/etc. prior to daemon being called.
+	  Developers should send error messages directly to stderr prior to
+	  daemon, as calls to ast_log may access recursive mutexes that
+	  store thread related information. d) It reorganizes when thread
+	  local storage is created for storing lock information during the
+	  creation of threads. Prior to this patch, the read/write lock
+	  protecting the list of threads in ast_register_thread would
+	  utilize the lock in the thread local storage prior to it being
+	  initialized; this patch prevents that. On a very related note,
+	  this patch will *greatly* improve the stability of the Asterisk
+	  Test Suite. Review: https://reviewboard.asterisk.org/r/2197
+	  (closes issue ASTERISK-19463) Reported by: mjordan Tested by:
+	  mjordan
+
+2012-11-16 19:31 +0000 [r376389]  Jonathan Rose <jrose at digium.com>
+
+	* res/res_monitor.c: monitor: prevent attempts to move/remove
+	  recordings skipped with 'i' and 'o'. The i and o options for
+	  monitor skip the input and output sides of a recording
+	  respectively. This patch addresses a problem in those options
+	  when monitor is called without specifying a specific filename
+	  where monitor will try to move the recording that was skipped.
+	  Since this usually doesn't exist when these options are used, it
+	  would produce a warning when it does this in most cases, but it
+	  is conceivable that there are use cases where this could result
+	  in moving/removing a file unintentionally. (closes issue
+	  ASTERISK-20641) Reported by: Jonathan Rose Review:
+	  https://reviewboard.asterisk.org/r/2190/
+
+2012-11-15 23:58 +0000 [r376340]  David M. Lee <dlee at digium.com>
+
+	* utils/extconf.c: Fixed extconf.c breakage introduced in r376306.
+	  To quote wdoekes: > Note that I'm not confirming legitimacy of
+	  having that file in tree at > all. Is anyone using
+	  aelparse/conf2ael?
+
+2012-11-15 22:40 +0000 [r376307]  Jonathan Rose <jrose at digium.com>
+
+	* apps/app_meetme.c: app_meetme: Fix channels lingering when hung
+	  up under certain conditions Channels would get stuck and MeetMe
+	  would repeatedly display an Unable to write frame to channel
+	  error in the conf_run function if hung up during certain sound
+	  prompts such as during user count announcements. This patch fixes
+	  that by reintroducing a hangup check in the meetme's main loop
+	  (also in conf_run). (closes issue ASTERISK-20486) Reported by:
+	  Michael Cargile Review: https://reviewboard.asterisk.org/r/2187/
+	  Patches: meetme_hangup_patch_ASTERISK-20486_v3.diff uploaded by
+	  Jonathan Rose (license 6182)
+
+2012-11-15 22:27 +0000 [r376306]  David M. Lee <dlee at digium.com>
+
+	* tests/test_hashtab_thrash.c (added), utils/hashtest2.c (removed),
+	  include/asterisk/hashtab.h, utils/Makefile,
+	  tests/test_astobj2_thrash.c (added), utils/utils.xml,
+	  utils/hashtest.c (removed): Migrate hashtest/hashtest2 to be unit
+	  tests. Both hashtest and hashtest2 are manual testing apps that
+	  thrash hash tables (hashtab and ao2 containers, respectively), by
+	  spinning up several threads that randomly insert, delete, lookup
+	  and iterate over the hash table. If the app doesn't crash, the
+	  hash table probably passes the test. Those utils are not a part
+	  of the typical Asterisk build, so they do not usually get
+	  compiled. This all makes them less that useful. This patch
+	  removes those manual test programs and replaces them with
+	  Asterisk unit test modules (test_{hashtab,astobj2}_thrash.so). It
+	  also attempts to make the tests more deterministic. * Rather than
+	  spinning up some number of threads that operate on the hash table
+	  randomly, spin up four threads that concurrenly add, remove,
+	  lookup and iterate over the hash table. * Each thread checks the
+	  state of the hash table both during and after execution, and
+	  indicates a test failure if things are not as expected. * Each
+	  thread times out after 60 seconds to prevent deadlocking the unit
+	  test run. (closes issue ASTERISK-20505) Reported by: Matt Jordan
+	  Review: https://reviewboard.asterisk.org/r/2189/
+
+2012-11-15 01:43 +0000 [r376262]  Rusty Newton <rnewton at digium.com>
+
+	* apps/app_voicemail.c: Patch to play correct sound file when a
+	  voicemail's urgent status is removed We were attempting to play
+	  "vm-urgent-removed", which didn't exist. Now we play
+	  "vm-marked-nonurgent" which exists and is the correct sound file.
+	  Previous behavior was silence and a warning on the CLI. (issue
+	  ASTERISK-20280) (closes issue ASTERISK-20280) Reported by: Tomo
+	  Takebe Tested by: Rusty Newton Patches: asterisk20280.patch
+	  uploaded by Rusty Newton (license 5829)
+
+2012-11-14 19:48 +0000 [r376232]  Richard Mudgett <rmudgett at digium.com>
+
+	* pbx/pbx_spool.c: Fix call files when astspooldir is relative.
+	  Future dated call files are ignored when astspooldir is relative
+	  to the current directory. The queue_file() assumed that the qdir
+	  needed to be prepended if the given filename did not start with a
+	  '/'. If astspooldir is relative it is not going to start from the
+	  root directory obviously so it will not start with a '/'. The
+	  filename used in queue_file() ultimately results in qdir
+	  prepended multiple times. * Made queue_file() not prepend qdir if
+	  the filename contains a '/'. (closes issue ASTERISK-20593)
+	  Reported by: James Le Cuirot Patches:
+	  0004-Fix-future-call-files-from-relative-directories.patch
+	  (license #6439) patch uploaded by James Le Cuirot
+
+2012-11-13 18:10 +0000 [r376199]  Brent Eagles <beagles at digium.com>
+
+	* main/channel.c: Patch to prevent stopping the active generator
+	  when it is not the silence generator. This patch introduces an
+	  internal helper function to safely check whether the current
+	  generator is the one that is expected before deactivating it. The
+	  current externally accessible ast_channel_stop_generator()
+	  function has been modified to be implemented in terms of the new
+	  function. (closes issue ASTERISK-19918) Reported by: Eduardo Abad
+
+2012-11-12 20:44 +0000 [r376166]  Joshua Colp <jcolp at digium.com>
+
+	* main/pbx.c: Properly check if the "Context" and "Extension"
+	  headers are empty in a ShowDialPlan action. The code which
+	  handles the ShowDialPlan action wrongly assumed that a non-NULL
+	  return value from the function which retrieves headers from an
+	  action indicates that the header has a value. This is incorrect
+	  and the contents must be checked to see if they are blank.
+	  (closes issue ASTERISK-20628) Reported by: jkroon Patches:
+	  asterisk-showdialplan-incorrect-error.patch uploaded by jkroon
+
+2012-11-12 20:13 +0000 [r376142]  Michael L. Young <elgueromexicano at gmail.com>
+
+	* main/pbx.c: Fix Dynamic Hints Variable Substition - Underscore
+	  Problem When adding a dynamic hint, if an extension contains an
+	  underscore no variable subsitution is being performed. This patch
+	  changes from checking if the extension contains an underscore to
+	  checking if the extension begins with an underscore. (closes
+	  issue ASTERISK-20639) Reported by: Steven T. Wheeler Tested by:
+	  Steven T. Wheeler, Michael L. Young Patches:
+	  asterisk-20639-dynamic-hint-underscore.diff uploaded by Michael
+	  L. Young (license 5026) Review:
+	  https://reviewboard.asterisk.org/r/2188/
+
+2012-11-08 21:56 +0000 [r376087]  Mark Michelson <mmichelson at digium.com>
+
+	* res/res_fax.c: Fix a "set but not used" warning on newer gccs.
+	  Turns out the "helpful" setting of ms and res in this macro is
+	  completely useless after the timeout antipattern fix. If you're a
+	  new guy looking to write code, don't write a macro like this one.
+
+2012-11-08 21:05 +0000 [r376029-376058]  Richard Mudgett <rmudgett at digium.com>
+
+	* channels/sig_ss7.c: chan_dahdi/SS7: Made reject incoming call for
+	  an in-alarm or blocked channel. If a SS7 call comes in requesting
+	  a CIC that is in-alarm, the call is accepted and connects if the
+	  extension exists in the dialplan. The call does not have any
+	  audio. * Made release the call immediately with circuit
+	  congestion cause. (closes issue ASTERISK-20204) Reported by: Tuan
+	  Le Patches: jira_asterisk_20204_v1.8.patch (license #5621) patch
+	  uploaded by rmudgett
+
+	* main/utils.c, main/astmm.c, main/asterisk.c,
+	  include/asterisk/utils.h, include/asterisk/astmm.h: Add
+	  MALLOC_DEBUG enhancements. * Makes malloc() behave like calloc().
+	  It will return a memory block filled with 0x55. A nonzero value.
+	  * Makes free() fill the released memory block and boundary
+	  fence's with 0xdeaddead. Any pointer use after free is going to
+	  have a pointer pointing to 0xdeaddead. The 0xdeaddead pointer is
+	  usually an invalid memory address so a crash is expected. * Puts
+	  the freed memory block into a circular array so it is not reused
+	  immediately. * When the circular array rotates out a memory block
+	  to the heap it checks that the memory has not been altered from
+	  0xdeaddead. * Made the astmm_log message wording better. * Made
+	  crash if the DO_CRASH menuselect option is enabled and something
+	  is found. * Fixed a potential alignment issue on 64 bit systems.
+	  struct ast_region.data[] should now be aligned correctly for all
+	  platforms. * Extracted region_check_fences() from
+	  __ast_free_region() and handle_memory_show(). * Updated
+	  handle_memory_show() CLI usage help. Review:
+	  https://reviewboard.asterisk.org/r/2182/
+
+2012-11-07 17:08 +0000 [r375993-375994]  Mark Michelson <mmichelson at digium.com>
+
+	* channels/chan_sip.c: Remove some debugging that accidentally made
+	  it in the last commit.
+
+	* main/utils.c, include/asterisk/channel.h, apps/app_queue.c,
+	  channels/sig_pri.c, channels/chan_iax2.c, main/channel.c,
+	  channels/chan_dahdi.c, channels/sig_analog.c,
+	  apps/app_waitforring.c, include/asterisk/time.h, apps/app_jack.c,
+	  apps/app_dial.c, main/pbx.c, main/rtp_engine.c,
+	  channels/chan_sip.c, apps/app_meetme.c, res/res_fax.c,
+	  apps/app_record.c, channels/chan_agent.c: Fix misuses of timeouts
+	  throughout the code. Prior to this change, a common method for
+	  determining if a timeout was reached was to call a function such
+	  as ast_waitfor_n() and inspect the out parameter that told how
+	  many milliseconds were left, then use that as the input to
+	  ast_waitfor_n() on the next go-around. The problem with this is
+	  that in some cases, submillisecond timeouts can occur, resulting
+	  in the out parameter not decreasing any. When this happens
+	  thousands of times, the result is that the timeout takes much
+	  longer than intended to be reached. As an example, I had a
+	  situation where a 3 second timeout took multiple days to finally
+	  end since most wakeups from ast_waitfor_n() were under a
+	  millisecond. This patch seeks to fix this pattern throughout the
+	  code. Now we log the time when an operation began and find the
+	  difference in wall clock time between now and when the event
+	  started. This means that sub-millisecond timeouts now cannot play
+	  havoc when trying to determine if something has timed out. Part
+	  of this fix also includes changing the function ast_waitfor() so
+	  that it is possible for it to return less than zero when a
+	  negative timeout is given to it. This makes it actually possible
+	  to detect errors in ast_waitfor() when there is no timeout.
+	  (closes issue ASTERISK-20414) reported by David M. Lee Review:
+	  https://reviewboard.asterisk.org/r/2135/
+
+2012-11-06 18:18 +0000 [r375964]  Richard Mudgett <rmudgett at digium.com>
+
+	* include/asterisk/channel.h, .cleancount,
+	  include/asterisk/features.h, main/channel.c, main/features.c: Fix
+	  stuck DTMF when bridge is broken. When a bridge is broken by an
+	  AMI Redirect action or the ChannelRedirect application, an in
+	  progress DTMF digit could be stuck sending forever. * Made
+	  simulate a DTMF end event when a bridge is broken and a DTMF
+	  digit was in progress. (closes issue ASTERISK-20492) Reported by:
+	  Jeremiah Gowdy Patches: bridge_end_dtmf-v3.patch.txt (license
+	  #6358) patch uploaded by Jeremiah Gowdy Modified to
+	  jira_asterisk_20492_v1.8.patch jira_asterisk_20492_v1.8.patch
+	  (license #5621) patch uploaded by rmudgett Tested by: rmudgett
+	  Review: https://reviewboard.asterisk.org/r/2169/
+
+2012-12-10  Asterisk Development Team <asteriskteam at digium.com>
+
+	* Asterisk 1.8.19.0 Released.
+
+2012-12-06  Asterisk Development Team <asteriskteam at digium.com>
+
+	* Asterisk 1.8.19.0-rc3 Released.
+
+	* chan_local: Fix local_pvt ref leak in local_devicestate().
+
+	Regression introduced by ASTERISK-20390 fix.
+
+	(closes issue ASTERISK-20769)
+	Reported by: rmudgett
+
+2012-12-05  Asterisk Development Team <asteriskteam at digium.com>
+
+	* Asterisk 1.8.19.0-rc2 Released.
+
+	* Fix a SIP request memory leak with TLS connections.
+
+	During the TLS re-work in chan_sip some TLS specific code was moved
+	into a separate function. This function operates on a copy of the
+	incoming SIP request. This copy was never deinitialized causing a
+	memory leak for each request processed.
+
+	This function is now given a SIP request structure which it can use
+	to copy the incoming request into. This reduces the amount of memory
+	allocations done since the internal allocated components are reused
+	between packets and also ensures the SIP request structure is
+	deinitialized when the TLS connection is torn down.
+
+	(closes issue ASTERISK-20763)
+	Reported by: deti
+
+2012-11-06  Asterisk Development Team <asteriskteam at digium.com>
+
+	* Asterisk 1.8.19.0-rc1 Released.
+
+2012-11-05 22:50 +0000 [r375893]  Matthew Jordan <mjordan at digium.com>
+
+	* bridges/bridge_softmix.c, include/asterisk/timing.h,
+	  res/res_musiconhold.c, channels/chan_iax2.c,
+	  res/res_fax_spandsp.c, res/res_timing_kqueue.c, main/timing.c,
+	  main/channel.c, res/res_timing_pthread.c, res/res_timing_dahdi.c,
+	  res/res_timing_timerfd.c: Refactor ast_timer_ack to return an
+	  error and handle the error in timer users Currently, if an
+	  acknowledgement of a timer fails Asterisk will not realize that a
+	  serious error occurred and will continue attempting to use the
+	  timer's file descriptor. This can lead to situations where errors
+	  stream to the CLI/log file. This consumes significant resources,
+	  masks the actual problem that occurred (whatever caused the timer
+	  to fail in the first place), and can leave channels in odd
+	  states. This patch propagates the errors in the timing resource
+	  modules up through the timer core, and makes users of these
+	  timers handle acknowledgement failures. It also adds some
+	  defensive coding around the use of timers to prevent using bad
+	  file descriptors in off nominal code paths. Note that the patch
+	  created by the issue reporter was modified slightly for this
+	  commit and backported to 1.8, as it was originally written for
+	  Asterisk 10. (issue ASTERISK-20032) Reported by: Jeremiah Gowdy
+	  patches: jgowdy-timerfd-6-22-2012.diff uploaded by Jeremiah Gowdy
+	  (license 6358)
+
+2012-11-05 21:36 +0000 [r375862]  Richard Mudgett <rmudgett at digium.com>
+
+	* main/loader.c: Add safety NULL pointer check in module user
+	  references. Made __ast_module_user_remove() check for NULL
+	  pointers. ........ Merged revision 375860 from C.3
+
+2012-11-04 03:06 +0000 [r375727-375800]  Matthew Jordan <mjordan at digium.com>
+
+	* main/manager.c: Don't attempt to purge sessions when no sessions
+	  exist Manager's tcp/tls objects have a periodic function that
+	  purge old manager sessions periodically. During shutdown, the
+	  underlying container holding those sessions can be disposed of
+	  and set to NULL before the tcp/tls periodic function is stopped.
+	  If the periodic function fires, it will attempt to iterate over a
+	  NULL container. This patch checks for whether or not the sessions
+	  container exists before attempting to purge sessions out of it.
+	  If the sessions container is NULL, we simply return. Note that
+	  this error was also caught by the Asterisk Test Suite.
+
+	* main/manager.c: Properly clean up manager resources on exit This
+	  patch does two things: 1) It properly unregisters the manager CLI
+	  commands 2) It cleans up AMI users on exit. Prior to this patch,
+	  the AMI users were not being disposed of properly, resulting in a
+	  memory leak. (closes issue ASTERISK-20646) Reported by: Corey
+	  Farrell patches: manager_shutdown.patch uploaded by Corey Farrell
+	  (license 5909)
+
+	* main/xmldoc.c: Fix memory leak when unloading XML documentation
+	  This patch is a modified version of a patch originally committed
+	  for the Asterisk 11 branch in r375756. A portion of that patch,
+	  that fixed the memory leak during unloading XML documentation,
+	  applies to branches 1.8 and 10 as well. The patch for this issue
+	  was modified for these two branches. (issue ASTERISK-20648)
+	  Reported by: Corey Farrell Tested by: mjordan patches:
+	  xmldoc-memory_leak.patch uploaded by Corey Farrell (license 5909)
+
+	* main/cdr.c: Prevent multiple CDR batches from conflicting when
+	  scheduling the CDR write The Asterisk Test Suite caught an error
+	  condition where a scheduled CDR batch write can be deleted twice
+	  if two channels attempt to post their CDRs at the same time. The
+	  batch CDR mutex is locked while the CDRs are appended to the
+	  current batch list; however, it is unlocked prior to actually
+	  scheduling the CDR write. As such, two threads can attempt to
+	  remove the currently scheduled batch write at the same time,
+	  resulting in an assertion error. This patch extends the time that
+	  the mutex is locked to encompass actually scheduling the write.
+	  This prevents two threads from unscheduling the currently
+	  scheduled write at the same time.
+
+2012-11-03 03:11 +0000 [r375698]  Andrew Latham <lathama at gmail.com>
+
+	* README, include/asterisk/doxyref.h: Doxygen Updates Replace links
+	  to missing text files removed in the 1.6.x series with links to
+	  the wiki. Doxygen can handle URLs fine, don't atempt to quote
+	  them. Also update the wiki link in the Readme to get everyone on
+	  the same page. (issue ASTERISK-20259)
+
+2012-11-02 20:48 +0000 [r375625-375658]  Richard Mudgett <rmudgett at digium.com>
+
+	* main/channel.c, channels/chan_misdn.c, main/ccss.c: Things don't
+	  need to be that const.
+
+	* channels/misdn/isdn_lib.c, channels/misdn/isdn_lib.h: Multiple
+	  revisions 375519-375524 ........ r375519 | rmudgett | 2012-10-30
+	  16:06:15 -0500 (Tue, 30 Oct 2012) | 11 lines chan_misdn: Timer
+	  primitives must be handled first. The frm->addr is a different
+	  "address space" than the stack/instance address of other Lx
+	  primitives. The test for B channel instance address could fail.
+	  Patches: patch01_timers.diff (license #6372) patch uploaded by
+	  Guenther Kelleter JIRA ABE-2888 ........ r375520 | rmudgett |
+	  2012-10-30 16:14:58 -0500 (Tue, 30 Oct 2012) | 10 lines
+	  chan_misdn: Free memory in error paths and other memory leaks.
+	  The one line commented with BUG is not easily fixable because
+	  there is no de-init function one can call. Patches:
+	  patch02_memory.diff (license #6372) patch uploaded by Guenther
+	  Kelleter JIRA ABE-2888 ........ r375521 | rmudgett | 2012-10-30
+	  16:38:41 -0500 (Tue, 30 Oct 2012) | 14 lines chan_misdn: ISDN NT
+	  L2 de-establish/establish * An NT-PTMP cannot de/establish L2
+	  since it doesn't know the TEIs. * On NT-PTP L2 is started when L1
+	  is finally active in handle_l1. * L2 deactivation logging
+	  cleanup. * L2 aggregate link status is unknown for NT-PTMP, show
+	  as "UNKN". * Removed unused functions and code for L2 handling.
+	  Patches: patch03_L2estab.diff (license #6372) patch uploaded by
+	  Guenther Kelleter Modified JIRA ABE-2888 ........ r375522 |
+	  rmudgett | 2012-10-30 16:56:14 -0500 (Tue, 30 Oct 2012) | 22
+	  lines chan_misdn: Fix broken upper_id/lower_id usage. Sending PH
+	  prim via lower_id layer (3 or 1) simply does not work. For TE (3)
+	  it returns an error (len=-6) which is not evaluated by
+	  handle_l1(), so the L1 layer status ends up wrong. Instead PH
+	  must be sent via L4, only then does it reach L1 without an error
+	  message. And NT PH prims only reach L1 when they are sent to
+	  layer 2 id. --> use upper_id to send PH primitives. * Check for
+	  errors in PH_(DE)ACTIVATE | CONFIRM. * Debug messages are
+	  improved. * The lower_id is now not used for anything, except:
+	  Why is lower_id layer deleted when it wasn't created? I removed
+	  this code since it looks very wrong. Patches:
+	  patch04_l1activation.diff (license #6372) patch uploaded by
+	  Guenther Kelleter JIRA ABE-2888 ........ r375523 | rmudgett |
+	  2012-10-30 17:29:15 -0500 (Tue, 30 Oct 2012) | 31 lines
+	  chan_misdn: Fix loss of B channels if L1 is down. If you make 2
+	  calls out an NT PTMP port which is not connected to any phone,
+	  the B channel associated with that call becomes unusable until
+	  Asterisk is restarted. The problem is the EVENT_SETUP is queued
+	  when L1 is not up in misdn_lib_send_event(). If L1 cannot be
+	  activated the event won't be dequeued. It gets even worse when
+	  the call is hung up. The queued EVENT_SETUP will be overwritten
+	  by an EVENT_DISCONNECT. The reserved B channel then will never be
+	  freed. If later someone connects a phone to the port, L1 will
+	  eventually activate and the queued EVENT_DISCONNECT is sent down
+	  the stack. However, it is ignored because it is the wrong call
+	  state. The real fix would be that activation and queueing for a
+	  new SETUP is done by the NT stack. But since it doesn't, the
+	  workaround must be removed because it doesn't always work. Fix:

[... 42780 lines stripped ...]



More information about the asterisk-commits mailing list