[asterisk-commits] lmadsen: tag 1.4.26-rc5 r204738 - /tags/1.4.26-rc5/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Jul 2 11:42:39 CDT 2009


Author: lmadsen
Date: Thu Jul  2 11:42:35 2009
New Revision: 204738

URL: http://svn.asterisk.org/svn-view/asterisk?view=rev&rev=204738
Log:
Importing files for 1.4.26-rc5 release.

Added:
    tags/1.4.26-rc5/.lastclean   (with props)
    tags/1.4.26-rc5/.version   (with props)
    tags/1.4.26-rc5/ChangeLog   (with props)

Added: tags/1.4.26-rc5/.lastclean
URL: http://svn.asterisk.org/svn-view/asterisk/tags/1.4.26-rc5/.lastclean?view=auto&rev=204738
==============================================================================
--- tags/1.4.26-rc5/.lastclean (added)
+++ tags/1.4.26-rc5/.lastclean Thu Jul  2 11:42:35 2009
@@ -1,0 +1,1 @@
+33

Propchange: tags/1.4.26-rc5/.lastclean
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tags/1.4.26-rc5/.lastclean
------------------------------------------------------------------------------
    svn:keywords = none

Propchange: tags/1.4.26-rc5/.lastclean
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tags/1.4.26-rc5/.version
URL: http://svn.asterisk.org/svn-view/asterisk/tags/1.4.26-rc5/.version?view=auto&rev=204738
==============================================================================
--- tags/1.4.26-rc5/.version (added)
+++ tags/1.4.26-rc5/.version Thu Jul  2 11:42:35 2009
@@ -1,0 +1,1 @@
+1.4.26-rc5

Propchange: tags/1.4.26-rc5/.version
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tags/1.4.26-rc5/.version
------------------------------------------------------------------------------
    svn:keywords = none

Propchange: tags/1.4.26-rc5/.version
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tags/1.4.26-rc5/ChangeLog
URL: http://svn.asterisk.org/svn-view/asterisk/tags/1.4.26-rc5/ChangeLog?view=auto&rev=204738
==============================================================================
--- tags/1.4.26-rc5/ChangeLog (added)
+++ tags/1.4.26-rc5/ChangeLog Thu Jul  2 11:42:35 2009
@@ -1,0 +1,25066 @@
+2009-07-02 15:05 +0000 [r204681]  David Vossel <dvossel at digium.com>
+
+	* include/asterisk/devicestate.h, main/pbx.c, main/devicestate.c,
+	  include/asterisk/pbx.h: Improved mapping of extension states from
+	  combined device states. This fixes a few issues with incorrect
+	  extension states and adds a cli command, core show
+	  device2extenstate, to display all possible state mappings.
+	  (closes issue #15413) Reported by: legart Patches:
+	  exten_helper.diff uploaded by dvossel (license 671) Tested by:
+	  dvossel, legart, amilcar Review:
+	  https://reviewboard.asterisk.org/r/301/
+
+2009-06-30 20:23 +0000 [r204556]  Tilghman Lesher <tlesher at digium.com>
+
+	* main/say.c, UPGRADE.txt: More incorrect language codes, plus
+	  ensuring that regionalizations use the specified language, and
+	  not English for grammar. (closes issue #15022) Reported by:
+	  greenfieldtech Patches: 20090519__issue15022.diff.txt uploaded by
+	  tilghman (license 14)
+
+2009-06-30 18:47 +0000 [r204474]  Jason Parker <jparker at digium.com>
+
+	* main/say.c: Fix ast_say_counted_noun to correctly handle Polish.
+	  Fix a comment typo in passing.
+
+2009-06-30 18:23 +0000 [r204469]  Tilghman Lesher <tlesher at digium.com>
+
+	* main/say.c, UPGRADE.txt: "tw" is the language specification for
+	  Twi (from Ghana) not Taiwanese. (closes issue #15346) Reported
+	  by: volivier Patches: 20090617__issue15346__1.4.diff.txt uploaded
+	  by tilghman (license 14) 20090617__issue15346__trunk.diff.txt
+	  uploaded by tilghman (license 14)
+	  20090617__issue15346__1.6.0.diff.txt uploaded by tilghman
+	  (license 14) 20090617__issue15346__1.6.1.diff.txt uploaded by
+	  tilghman (license 14) 20090617__issue15346__1.6.2.diff.txt
+	  uploaded by tilghman (license 14) Tested by: volivier
+
+2009-06-29 22:45 +0000 [r204243-204300]  Mark Michelson <mmichelson at digium.com>
+
+	* channels/chan_sip.c: Add error message so that it is clear why a
+	  SIP peer was not processed when a DNS lookup fails on a host or
+	  outboundproxy. (closes issue #13432) Reported by: p_lindheimer
+	  Patches: outboundproxy.patch uploaded by p (license 558)
+
+	* channels/chan_sip.c: Fix build oops.
+
+	* channels/chan_sip.c: Fix a problem where chan_sip would ignore
+	  "old" but valid responses. chan_sip has had a problem for quite a
+	  long time that would manifest when Asterisk would send multiple
+	  SIP responses on the same dialog before receiving a response. The
+	  problem occurred because chan_sip only kept track of the highest
+	  outgoing sequence number used on the dialog. If Asterisk sent two
+	  requests out, and a response arrived for the first request sent,
+	  then Asterisk would ignore the response. The result was that
+	  Asterisk would continue retransmitting the requests and ignoring
+	  the responses until the maximum number of retransmissions had
+	  been reached. The fix here is to rearrange the code a bit so that
+	  instead of simply comparing the sequence number of the response
+	  to our latest outgoing sequence number, we walk our list of
+	  outstanding packets and determine if there is a match. If there
+	  is, we continue. If not, then we ignore the response. In doing
+	  this, I found a few completely useless variables that I have now
+	  removed. (closes issue #11231) Reported by: flefoll Review:
+	  https://reviewboard.asterisk.org/r/298
+
+2009-06-29 19:36 +0000 [r204170]  Tilghman Lesher <tlesher at digium.com>
+
+	* funcs/func_odbc.c, funcs/func_strings.c: Revision 189537 was
+	  supposed to make 1.4 more correct. Instead, it broke func_odbc.
+	  Reverting. (closes issue #15317, issue #14614)
+
+2009-06-29 17:04 +0000 [r204067]  David Vossel <dvossel at digium.com>
+
+	* channels/chan_iax2.c: segfault after SPINLOCK schedule delete
+	  Using the SPINLOCK schedule delete macro can result in the
+	  iax_pvt lock being given up. This makes it possible for the
+	  iax_pvt to dissappear when we thought we held the mutex the
+	  entire time. To resolve this, the iax_pvt's ref count is
+	  incremented. (closes issue #15377) Reported by: aragon Patches:
+	  iax_spin_issue_1.4.diff uploaded by dvossel (license 671) Tested
+	  by: aragon, dvossel
+
+2009-06-29 15:04 +0000 [r204012]  Mark Michelson <mmichelson at digium.com>
+
+	* apps/app_mixmonitor.c: Place unlock of mutex in an else block so
+	  that it does not get unlocked twice. (closes issue #15400)
+	  Reported by: aragon
+
+2009-06-27 00:55 +0000 [r203908]  Richard Mudgett <rmudgett at digium.com>
+
+	* channels/chan_dahdi.c: The ISDN CPE side should not exclusively
+	  pick B channels normally. Before this patch, Asterisk
+	  unconditionally picked B channels exclusively on the CPE side and
+	  normally allowed alternative B channels on the network side. Now
+	  Asterisk does the opposite. Reasons for the CPE side to normally
+	  not pick B channels exclusively: * For CPE point-to-multipoint
+	  mode (i.e. phone side), the CPE side does not have enough
+	  information to exclusively pick B channels. (There may be other
+	  devices on the line.) * Q.931 gives preference to the network
+	  side picking B channels. * Some telcos require the CPE side to
+	  not pick B channels exclusively. (closes issue #14383) Reported
+	  by: mbrancaleoni
+
+2009-06-26 22:09 +0000 [r203848]  Jeff Peeler <jpeeler at digium.com>
+
+	* channels/chan_dahdi.c: Make sure to recreate the dahdi pseudo
+	  channel after dahdi restart (closes issue #14477) Reported by:
+	  timking
+
+2009-06-26 21:16 +0000 [r203785]  Russell Bryant <russell at digium.com>
+
+	* main/file.c: Don't fast forward past the end of a message. This
+	  is nice change for users of the voicemail application. If someone
+	  gets a little carried away with fast forwarding through a
+	  message, they can easily get to the end and accidentally exit the
+	  voicemail application by hitting the fast forward key during the
+	  following prompt. This adds some safety by not allowing a fast
+	  forward past the end of a message. (closes issue #14554) Reported
+	  by: lacoursj Patches: 21761.patch uploaded by lacoursj (license
+	  707) Tested by: lacoursj
+
+2009-06-26 20:03 +0000 [r203719]  David Brooks <dbrooks at digium.com>
+
+	* apps/app_voicemail.c: Fixing voicemail's error in checking max
+	  silence vs min message length Max silence was represented in
+	  milliseconds, yet vmminsecs (minmessage) was represented as
+	  seconds. Also, the inequality was reversed. The warning, if
+	  triggered, was "Max silence should be less than minmessage or you
+	  may get empty messages", which should have been logged if max
+	  silence was greater than minmessage, but the check was for less
+	  than. Also, conforming if statement to coding guidelines. closes
+	  issue #15331) Reported by: markd Review:
+	  https://reviewboard.asterisk.org/r/293/
+
+2009-06-25 21:13 +0000 [r203380]  Terry Wilson <twilson at digium.com>
+
+	* main/cli.c: I didn't see that Mark already fixed the underlying
+	  issue! Yay for removing useless code.
+
+2009-06-25 21:02 +0000 [r203375]  Russell Bryant <russell at digium.com>
+
+	* res/res_features.c: Fix a case where CDR answer time could be
+	  before the start time involving parking. (closes issue #13794)
+	  Reported by: davidw Patches: 13794.patch uploaded by murf
+	  (license 17) 13794.patch.160 uploaded by murf (license 17) Tested
+	  by: murf, dbrooks
+
+2009-06-25 20:09 +0000 [r203311]  Terry Wilson <twilson at digium.com>
+
+	* main/cli.c: Don't try to free NULL
+
+2009-06-25 18:52 +0000 [r203230]  Mark Michelson <mmichelson at digium.com>
+
+	* main/astmm.c: Prevent false positives when freeing a NULL pointer
+	  with MALLOC_DEBUG enabled.
+
+2009-06-25 16:02 +0000 [r203115]  Russell Bryant <russell at digium.com>
+
+	* channels/chan_sip.c: Resolve a crash related to a T.38 reinvite
+	  race condition. This change resolves a crash observed locally
+	  during some T.38 testing. A call was set up using a call file,
+	  and when the T.38 reinvite came in, the channel state was still
+	  AST_STATE_DOWN. The reason is explained by a comment in the code
+	  that previously lived in the handling of AST_STATE_RINGING. This
+	  change modifies the logic to handle the same race condition for
+	  any channel state that is not UP. (closes ABE-1895)
+
+2009-06-24 21:01 +0000 [r203036]  Richard Mudgett <rmudgett at digium.com>
+
+	* channels/chan_dahdi.c: Improved chan_dahdi.conf pritimer error
+	  checking. Valid format is: pritimer=timer_name,timer_value *
+	  Fixed segfault if the ',' is missing. * Completely check the
+	  range returned by pri_timer2idx() to prevent possible access
+	  outside array bounds.
+
+2009-06-24 18:28 +0000 [r202966]  Mark Michelson <mmichelson at digium.com>
+
+	* channels/chan_sip.c: Use the handy UNLINK macro instead of
+	  hand-coding the same thing in-line.
+
+2009-06-23 16:28 +0000 [r202671]  David Vossel <dvossel at digium.com>
+
+	* channels/chan_sip.c: MWI NOTIFY contains a wrong URI if Asterisk
+	  listens to non-standard port and transport (closes issue #14659)
+	  Reported by: klaus3000 Patches: patch_chan_sip_fixMWIuri_1.4.txt
+	  uploaded by klaus3000 (license 65) mwi_port-transport_trunk.diff
+	  uploaded by dvossel (license 671) Tested by: dvossel, klaus3000
+	  Review: https://reviewboard.asterisk.org/r/288/
+
+2009-06-23 15:22 +0000 [r202572-202601]  Mark Michelson <mmichelson at digium.com>
+
+	* channels/chan_sip.c: Fix more memory leaks that may result if rtp
+	  is not successfully allocated.
+
+	* channels/chan_sip.c: Fix potential memory leak in chan_sip when
+	  video rtp is not allocated properly.
+
+2009-06-22 20:08 +0000 [r202414-202496]  Russell Bryant <russell at digium.com>
+
+	* main/channel.c: Report CallerID change during a masquerade.
+	  Reported by: markster
+
+	* channels/chan_sip.c: Make Polycom subscription type override
+	  check more explicit.
+
+2009-06-22 14:44 +0000 [r202336-202342]  Mark Michelson <mmichelson at digium.com>
+
+	* channels/chan_sip.c: Remove an extra debug line left from
+	  previous commit.
+
+	* channels/chan_sip.c: Fix a situation in which Asterisk would not
+	  stop retransmitting 487s. If a CANCEL were received by Asterisk,
+	  we would send a 487 in response to the original INVITE and a 200
+	  OK for the CANCEL. If there were a network hiccup which caused
+	  the 200 OK and the 487 to be lost, then the UA communicating with
+	  Asterisk may try to retransmit its CANCEL. Asterisk's response to
+	  this used to be to try sending another 487 to the canceled INVITE
+	  and another 200 OK to the CANCEL. The problem here is that the
+	  originally-sent 487 was sent "reliably" meaning that it will be
+	  retransmitted until it is received properly. So when we receive
+	  the second CANCEL it is likely that the first batch of 487s we
+	  sent is still going strong and reaches the UA. The result was
+	  that the second set of 487s would be retransmitted constantly
+	  until the maximum number of retries had been reached. The fix for
+	  this is that if we receive a second CANCEL for an INVITE, then we
+	  cancel the retransmission of the first set of 487s and start a
+	  second set. This causes the dialog to be terminated reasonably.
+	  (closes issue #14584) Reported by: klaus3000 Patches:
+	  14584_v2.patch uploaded by mmichelson (license 60) Tested by:
+	  klaus3000
+
+	* channels/chan_sip.c: Fix a possible infinite loop in SDP parsing
+	  during glare situation. There was a while loop in
+	  get_ip_and_port_from_sdp which was controlled by a call to
+	  get_sdp_iterate. The loop would exit either if what we were
+	  searching for was found or if the return was NULL. The problem is
+	  that get_sdp_iterate never returns NULL. This means that if what
+	  we were searching for was not present, the loop would run
+	  infinitely. This modification of the loop fixes the problem.
+	  (closes issue #15213) Reported by: schmidts (closes issue #15349)
+	  Reported by: samy (closes issue #14464) Reported by: pj (closes
+	  issue #15345) Reported by: aragon Patches: sip_inf_loop.patch
+	  uploaded by mmichelson (license 60) Tested by: aragon
+
+2009-06-20 17:51 +0000 [r202153]  Sean Bright <sean at malleable.com>
+
+	* channels/chan_sip.c: Since we don't have sip_pvt_lock() in 1.4,
+	  we need to use ast_mutex_* directly. (closes issue #15366)
+	  Reported by: loloski
+
+2009-06-19 21:21 +0000 [r202022]  Matthew Nicholson <mnicholson at digium.com>
+
+	* channels/chan_sip.c: Added deadlock protection to
+	  try_suggested_sip_codec in chan_sip.c. Review:
+	  https://reviewboard.asterisk.org/r/287/
+
+2009-06-19 20:22 +0000 [r201993]  David Vossel <dvossel at digium.com>
+
+	* channels/chan_iax2.c: timestamp was being converted to host order
+	  as a short rather than a long (closes issue #15361) Reported by:
+	  ffloimair Patches: ts_issue.diff uploaded by dvossel (license
+	  671)
+
+2009-06-19 00:40 +0000 [r201828]  Tilghman Lesher <tlesher at digium.com>
+
+	* res/res_features.c: If the "h" extension fails, give it another
+	  chance in main/pbx.c. If the "h" extension fails, give it another
+	  chance in main/pbx.c, when it returns from the bridge code. Fixes
+	  an issue where the "h" extension may occasionally not fire, when
+	  a Dial is executed from a Macro. Debugged in #asterisk with user
+	  tompaw.
+
+2009-06-18 15:24 +0000 [r201600]  Russell Bryant <russell at digium.com>
+
+	* res/res_musiconhold.c: Fix memory corruption and leakage related
+	  reloads of non files mode MoH classes. For Music on Hold classes
+	  that are not files mode, meaning that we are executing an
+	  application that will feed us audio data, we use a thread to
+	  monitor the external application and read audio from it. This
+	  thread also makes use of the MoH class object. In the MoH class
+	  destructor, we used pthread_cancel() to ask the thread to exit.
+	  Unfortunately, the code did not wait to ensure that the thread
+	  actually went away. What needed to be done is a pthread_join() to
+	  ensure that the thread fully cleans up before we proceed. By
+	  adding this one line, we resolve two significant problems: 1)
+	  Since the thread was never joined, it never fully goes away. So,
+	  on every reload of non-files mode MoH, an unused thread was
+	  sticking around. 2) There was a race condition here where the
+	  application monitoring thread could still try to access the MoH
+	  class, even though the thread executing the MoH reload has
+	  already destroyed it. (issue #15109) Reported by: jvandal (issue
+	  #15123) Reported by: axisinternet (issue #15195) Reported by:
+	  amorsen (issue AST-208)
+
+2009-06-17 19:59 +0000 [r201450]  Mark Michelson <mmichelson at digium.com>
+
+	* main/channel.c: Change the datastore traversal in
+	  ast_do_masquerade to use a safe list traversal. It is possible
+	  for datastore fixup functions to remove the datastore from the
+	  list and free it. In particular, the queue_transfer_fixup in
+	  app_queue does this. While I don't yet know of this causing any
+	  crashes, it certainly could. Found while discussing a separate
+	  issue with Brian Degenhardt.
+
+2009-06-17 19:28 +0000 [r201423]  David Vossel <dvossel at digium.com>
+
+	* apps/app_mixmonitor.c: StopMixMonitor race condition (not giving
+	  up file immediately) StopMixMonitor only indicates to the
+	  MixMonitor thread to stop writing to the file. It does not
+	  guarantee that the recording's file handle is available to the
+	  dialplan immediately after execution. This results in a race
+	  condition. To resolve this, the filestream pointer is placed in a
+	  datastore on the channel. When StopMixMonitor is called, the
+	  datastore is retrieved from the channel and the filestream is
+	  closed immediately before returning to the dialplan.
+	  Documentation indicating the use of StopMixMonitor to free files
+	  has been updated as well. (closes issue #15259) Reported by:
+	  travisghansen Tested by: dvossel Review:
+	  https://reviewboard.asterisk.org/r/283/
+
+2009-06-17 18:45 +0000 [r201380]  David Brooks <dbrooks at digium.com>
+
+	* channels/chan_sip.c: Checks for NULL sip_pvt pointer in
+	  chan_sip.c->acf_channel_read() Zombie channels could be passed,
+	  and chan_sip.c wasn't checking for it. Could crash Asterisk. Now
+	  checking for NULL pointer. (closes issue #15330) Reported by:
+	  okrief Tested by: dbrooks
+
+2009-06-17 12:03 +0000 [r200991-201261]  Kevin P. Fleming <kpfleming at digium.com>
+
+	* include/asterisk/linkedlists.h: Correct AST_LIST_APPEND_LIST
+	  behavior when list to be appended is empty. When the list to be
+	  appended is empty, and the list to be appended to is *not*,
+	  AST_LIST_APPEND_LIST would actually cause the target list to
+	  become broken, and no longer have a pointer to its last entry.
+	  This patch fixes the problem. (reported by Stanislaw Pitucha on
+	  the asterisk-dev mailing list)
+
+	* apps/app_chanspy.c, apps/app_mixmonitor.c, main/channel.c,
+	  build_tools/cflags-devmode.xml, main/autoservice.c, main/frame.c,
+	  apps/app_meetme.c, main/slinfactory.c,
+	  include/asterisk/linkedlists.h, main/file.c,
+	  include/asterisk/channel.h, include/asterisk/frame.h: Improve
+	  support for media paths that can generate multiple frames at
+	  once. There are various media paths in Asterisk (codec
+	  translators and UDPTL, primarily) that can generate more than one
+	  frame to be generated when the application calling them expects
+	  only a single frame. This patch addresses a number of those
+	  cases, at least the primary ones to solve the known problems. In
+	  addition it removes the broken TRACE_FRAMES support, fixes a
+	  number of bugs in various frame-related API functions, and cleans
+	  up various code paths affected by these changes.
+	  https://reviewboard.asterisk.org/r/175/
+
+2009-06-16 13:25 +0000 [r200875]  Eliel C. Sardanons <eliels at gmail.com>
+
+	* res/res_smdi.c: Show the interface name on error, if it is not
+	  found. If the smdiport specified is not found, show the interface
+	  name instead of '(null)'.
+
+2009-06-15 15:21 +0000 [r200513]  Mark Michelson <mmichelson at digium.com>
+
+	* channels/chan_sip.c: Add INFO to our allowed methods so that
+	  endpoints know they may send it to us. AST-223
+
+2009-06-12 19:06 +0000 [r200360]  Mark Michelson <mmichelson at digium.com>
+
+	* main/channel.c: Suppress a warning message and give a better
+	  return code when generating inband ringing after a call is
+	  answered. (closes issue #15158) Reported by: madkins Patches:
+	  15158.patch uploaded by mmichelson (license 60) Tested by:
+	  madkins
+
+2009-06-11 22:20 +0000 [r200185]  Sean Bright <sean at malleable.com>
+
+	* Makefile: Backport fix for parallel build warnings from trunk
+	  r199781.
+
+2009-06-11 12:12 +0000 [r200037]  Leif Madsen <lmadsen at digium.com>
+
+	* build_tools/make_version_h: Fix path for .flavor and .version.
+	  (issue #14737) Reported by: davidw Patches: flavor.patch uploaded
+	  by davidw (license 780) Tested by: davidw
+
+2009-06-10 16:08 +0000 [r199856]  Sean Bright <sean at malleable.com>
+
+	* include/asterisk/utils.h: __WORDSIZE is not available on all
+	  platforms, so use sizeof(void *) instead.
+
+2009-06-08 19:28 +0000 [r199626-199628]  Sean Bright <sean at malleable.com>
+
+	* include/asterisk/utils.h: Fix a typo in the stack size
+	  calculation just introduced.
+
+	* include/asterisk/utils.h: Increase the size of our thread stack
+	  on 64 bit processors. We were setting the stack size for each
+	  thread to 240KB regardless of architecture, which meant that in
+	  some scenarios we actually had less available stack space on 64
+	  bit processors (pointers use 8 bytes instead of 4). So now we
+	  calculate the stack size we reserve based on the platform's
+	  __WORDSIZE, which gives us: 32 bit -> 240KB 64 bit -> 496KB 128
+	  bit -> 1008KB (that's right, we're ready for 128 bit processors)
+	  Patch typed by me but written by several members of
+	  #asterisk-dev, including Kevin, Tilghman, and Qwell. (closes
+	  issue #14932) Reported by: jpiszcz Patches:
+	  06052009_issue14932.patch uploaded by seanbright (license 71)
+	  Tested by: seanbright
+
+2009-06-05 21:19 +0000 [r199297]  David Vossel <dvossel at digium.com>
+
+	* main/pbx.c: Fixes issue with hints giving unexpected results.
+	  Hints with two or more devices that include ONHOLD gave
+	  unexpected results. (closes issue #15057) Reported by:
+	  p_lindheimer Patches: onhold_trunk.diff uploaded by dvossel
+	  (license 671) pbx.c.1.4.patch uploaded by p (license 558)
+	  devicestate.c.trunk.patch uploaded by p (license 671) Tested by:
+	  p_lindheimer, dvossel Review:
+	  https://reviewboard.asterisk.org/r/254/
+
+2009-06-04 19:00 +0000 [r199138]  David Vossel <dvossel at digium.com>
+
+	* channels/chan_iax2.c: Additional updates to AST-2009-001
+
+2009-06-04 14:14 +0000 [r198957-199022]  Sean Bright <sean at malleable.com>
+
+	* main/asterisk.c, main/loader.c, include/asterisk.h: Safely handle
+	  AMI connections/reload requests that occur during startup. During
+	  asterisk startup, a lock on the list of modules is obtained by
+	  the primary thread while each module is initialized. Issue 13778
+	  pointed out a problem with this approach, however. Because the
+	  AMI is loaded before other modules, it is possible for a module
+	  reload to be issued by a connected client (via Action: Command),
+	  causing a deadlock. The resolution for 13778 was to move
+	  initialization of the manager to happen after the other modules
+	  had already been lodaded. While this fixed this particular issue,
+	  it caused a problem for users (like FreePBX) who call AMI scripts
+	  via an #exec in a configuration file (See issue 15189). The
+	  solution I have come up with is to defer any reload requests that
+	  come in until after the server is fully booted. When a call comes
+	  in to ast_module_reload (from wherever) before we are fully
+	  booted, the request is added to a queue of pending requests. Once
+	  we are done booting up, we then execute these deferred requests
+	  in turn. Note that I have tried to make this a bit more
+	  intelligent in that it will not queue up more than 1 request for
+	  the same module to be reloaded, and if a general reload request
+	  comes in ('module reload') the queue is flushed and we only issue
+	  a single deferred reload for the entire system. As for how this
+	  will impact existing installations - Before 13778, a reload
+	  issued before module initialization was completed would result in
+	  a deadlock. After 13778, you simply couldn't connect to the
+	  manager during startup (which causes problems with
+	  #exec-that-calls-AMI configuration files). I believe this is a
+	  good general purpose solution that won't negatively impact
+	  existing installations. (closes issue #15189) (closes issue
+	  #13778) Reported by: p_lindheimer Patches:
+	  06032009_15189_deferred_reloads.diff uploaded by seanbright
+	  (license 71) Tested by: p_lindheimer, seanbright Review:
+	  https://reviewboard.asterisk.org/r/272/
+
+	* pbx/pbx_spool.c: Fix a possible crash in pbx_spool. We were
+	  trying to reference members of a struct that had previously been
+	  freed. This patch makes sure that we free the struct after it has
+	  been removed from the spooler queue. (closes issue #15072)
+	  Reported by: garlew Patches: spool.diff uploaded by garlew
+	  (license 376)
+
+2009-06-03 15:49 +0000 [r198891]  David Vossel <dvossel at digium.com>
+
+	* main/channel.c, res/res_features.c, include/asterisk/channel.h:
+	  Generic call forward api, ast_call_forward() The function
+	  ast_call_forward() forwards a call to an extension specified in
+	  an ast_channel's call_forward string. After an ast_channel is
+	  called, if the channel's call_forward string is set this function
+	  can be used to forward the call to a new channel and terminate
+	  the original one. I have included this api call in both
+	  channel.c's ast_request_and_dial() and res_feature.c's
+	  feature_request_and_dial(). App_dial and app_queue already
+	  contain call forward logic specific for their application and
+	  options. (closes issue #13630) Reported by: festr Review:
+	  https://reviewboard.asterisk.org/r/271/
+
+2009-06-01 20:07 +0000 [r198665]  Tilghman Lesher <tlesher at digium.com>
+
+	* res/res_musiconhold.c: If using the old deprecated format, a
+	  reload would cause the class to disappear. (closes issue #14759)
+	  Reported by: lidocaineus Patches: 20090518__issue14759.diff.txt
+	  uploaded by tilghman (license 14) Tested by: lmadsen
+
+2009-05-30 19:36 +0000 [r198370]  Sean Bright <sean at malleable.com>
+
+	* res/res_jabber.c: Properly terminate AMI JabberSend response
+	  messages. The response message (either Error or Success) needs an
+	  extra trailing \r\n after the fields to inform the client that
+	  the message is complete. (closes issue #14876) Reported by: srt
+	  Patches: 05302009_1.4_res_jabber.c.diff uploaded by seanbright
+	  (license 71) asterisk_14876.patch uploaded by srt (license 378)
+	  trunk-14876-2.diff uploaded by phsultan (license 73)
+
+2009-05-30 03:42 +0000 [r198311]  Russell Bryant <russell at digium.com>
+
+	* res/res_smdi.c: Fix a crash that occurred when MWI SMDI messages
+	  expired. (closes issue #14561) Reported by: cmoss28
+
+2009-05-30 02:46 +0000 [r198251]  Sean Bright <sean at malleable.com>
+
+	* apps/app_dial.c: Treat an empty FORWARD_CONTEXT the same way we
+	  treat a missing one. (closes issue #15056) Reported by:
+	  p_lindheimer Patches: 05292009_bug15056.diff uploaded by
+	  seanbright (license 71) Tested by: p_lindheimer
+
+2009-05-29 18:53 +0000 [r198068]  Matthew Nicholson <mnicholson at digium.com>
+
+	* main/cdr.c, main/channel.c, res/res_features.c,
+	  include/asterisk/cdr.h: Use AST_CDR_NOANSWER instead of
+	  AST_CDR_NULL as the default CDR disposition. This change also
+	  involves the addition of an AST_CDR_FLAG_ORIGINATED flag that is
+	  used on originated channels to distinguish: them from dialed
+	  channels. (closes issue #12946) Reported by: meral Patches:
+	  null-cdr2.diff uploaded by mnicholson (license 96) Tested by:
+	  mnicholson, dbrooks (closes issue #15122) Reported by: sum Tested
+	  by: sum
+
+2009-05-29 18:14 +0000 [r197998]  Sean Bright <sean at malleable.com>
+
+	* Makefile: Fix 'make config' target for Slackware. There was a
+	  missing semi-colon after the echo statement in the Makefile that
+	  was causing problems for some users. Fix suggested by reporter.
+	  (closes issue #15225) Reported by: pdavis
+
+2009-05-28 23:57 +0000 [r197895]  Leif Madsen <lmadsen at digium.com>
+
+	* apps/app_mixmonitor.c: Update MixMonitor documentation. Updated
+	  the MixMonitor documentation for the 'b' option so that it is
+	  more obvious that you must not optimize awat the Local channel
+	  when using this option. (issue #14829)
+
+2009-05-28 15:51 +0000 [r197620]  David Vossel <dvossel at digium.com>
+
+	* channels/chan_iax2.c: 'iax show peer blah' now outputs whether or
+	  not peer 'blah' is in trunk mode or not.
+
+2009-05-28 15:27 +0000 [r197588]  Mark Michelson <mmichelson at digium.com>
+
+	* main/rtp.c, channels/chan_sip.c, include/asterisk/rtp.h: Allow
+	  for media to arrive from an alternate source when responding to a
+	  reinvite with 491. When we receive a SIP reinvite, it is possible
+	  that we may not be able to process the reinvite immediately since
+	  we have also sent a reinvite out ourselves. The problem is that
+	  whoever sent us the reinvite may have also sent a reinvite out to
+	  another party, and that reinvite may have succeeded. As a result,
+	  even though we are not going to accept the reinvite we just
+	  received, it is important for us to not have problems if we
+	  suddenly start receiving RTP from a new source. The fix for this
+	  is to grab the media source information from the SDP of the
+	  reinvite that we receive. This information is passed to the RTP
+	  layer so that it will know about the alternate source for media.
+	  Review: https://reviewboard.asterisk.org/r/252
+
+2009-05-28 15:21 +0000 [r197562]  Eliel C. Sardanons <eliels at gmail.com>
+
+	* channels/chan_sip.c: Use the address we already know when
+	  reloading a peer with nat=yes. If we already have an address for
+	  a peer, and we are reloading the sip configuration, try to use
+	  that address to contact the peer, instead of getting it from the
+	  Contact. (closes issue #15194) Reported by: ibc Patches:
+	  sip.patch uploaded by eliel (license 64) Tested by: manwe
+
+2009-05-28 14:49 +0000 [r197537]  Mark Michelson <mmichelson at digium.com>
+
+	* apps/app_chanspy.c, include/asterisk/audiohook.h,
+	  main/audiohook.c: Add flags to chanspy audiohook so that audio
+	  stays in sync. There are two flags being added to the chanspy
+	  audiohook here. One is the pre-existing
+	  AST_AUDIOHOOK_TRIGGER_SYNC flag. With this set, we ensure that
+	  the read and write slinfactories on the audiohook do not skew
+	  beyond a certain tolerance. In addition, there is a new audiohook
+	  flag added here, AST_AUDIOHOOK_SMALL_QUEUE. With this flag set,
+	  we do not allow for a slinfactory to build up a substantial
+	  amount of audio before flushing it. For this particular issue,
+	  this means that the person spying on the call will hear the
+	  conversations in real time with very little delay in the audio.
+	  (closes issue #13745) Reported by: geoffs Patches: 13745.patch
+	  uploaded by mmichelson (license 60) Tested by: snblitz
+
+2009-05-28 13:44 +0000 [r197466]  Joshua Colp <jcolp at digium.com>
+
+	* channels/chan_sip.c: Fix a bug where the flag indicating the
+	  presence of rport would get overwritten by the nat setting. The
+	  presence of rport is now stored as a separate flag. Once the
+	  dialog is setup and authenticated (or it passes through
+	  unauthenticated) the proper nat flag is set. (closes issue
+	  #13823) Reported by: dimas
+
+2009-05-27 20:12 +0000 [r197264]  Sean Bright <sean at malleable.com>
+
+	* Makefile: Use bash explicitly when calling
+	  build_tools/mkpkgconfig from the Makefile. Since we use bashisms
+	  in build_tools/mkpkgconfig, we should call on bash explicitly
+	  when running from the Makefile, otherwise we get errors during a
+	  'make install.' (closes issue #15209) Reported by: seandarcy
+
+2009-05-27 20:07 +0000 [r197259]  Olle Johansson <oej at edvina.net>
+
+	* doc/asterisk-conf.txt: Typo fix
+
+2009-05-27 19:09 +0000 [r197194]  Tilghman Lesher <tlesher at digium.com>
+
+	* funcs/func_cut.c: Use a different determinator on whether to
+	  print the delimiter, since leading fields may be blank. (closes
+	  issue #15208) Reported by: ramonpeek Patch by me, though inspired
+	  in part by a patch from ramonpeek
+
+2009-05-27 16:49 +0000 [r197124]  Jeff Peeler <jpeeler at digium.com>
+
+	* main/channel.c, include/asterisk/channel.h: Fix broken attended
+	  transfers The bridge was terminating immediately after the
+	  attended transfer was completed. The problem was because upon
+	  reentering ast_channel_bridge nexteventts was checked to see if
+	  it was set and if so could possibly return AST_BRIDGE_COMPLETE.
+	  (closes issue #15183) Reported by: andrebarbosa Tested by:
+	  andrebarbosa, tootai, loloski
+
+2009-05-27 13:54 +0000 [r197024]  Sean Bright <sean at malleable.com>
+
+	* apps/app_queue.c: Fix handling of the 'state_interface' option of
+	  the 'queue add member' CLI command. This change relates to
+	  r184980, which was a backport of the state interface changes to
+	  app_queue from trunk. trunk and all of the 1.6.x branches are not
+	  affected. 'queue add member' allows for specifying an interface
+	  to use for device state when adding a queue member via CLI, but
+	  the validation code was not properly updated to reflect this
+	  optional argument. (closes issue #15198) Reported by: loloski
+	  Patches: 05272009_app_queue.diff uploaded by seanbright (license
+	  71) Tested by: loloski
+
+2009-05-26 18:14 +0000 [r196826]  Russell Bryant <russell at digium.com>
+
+	* res/res_convert.c: Resolve a file handle leak. The frames here
+	  should have always been freed. However, out of luck, there was
+	  never any memory leaked. However, after file streams became
+	  reference counted, this code would leak the file stream for the
+	  file being read. (closes issue #15181) Reported by: jkroon
+
+2009-05-26 13:06 +0000 [r196657]  Joshua Colp <jcolp at digium.com>
+
+	* contrib/scripts/safe_asterisk: Remove some bash specific stuff
+	  from safe_asterisk. (closes issue #10812) Reported by: paravoid
+	  Patches: safe_asterisk_bashism.diff uploaded by tzafrir (license
+	  46)
+
+2009-05-22 13:54 +0000 [r196116]  Joshua Colp <jcolp at digium.com>
+
+	* channels/chan_misdn.c: Fix a bug where using immediate with mISDN
+	  caused a cause code of 16 to get sent back instead of 1 if the
+	  's' extension did not exist. (closes issue #12286) Reported by:
+	  lmamane
+
+2009-05-21 19:04 +0000 [r195991]  David Vossel <dvossel at digium.com>
+
+	* channels/chan_iax2.c: Sign problem calculating timestamp for iax
+	  frame leads to no audio on the receiving peer. There are rare
+	  cases in which a frame's delivery timestamp is slightly less than
+	  the iax2_pvt's offset. This causes the pvt's timestamp to be a
+	  small negative number, but since the timestamp value is unsigned
+	  it looks like a huge positive number. This patch checks for this
+	  negative case and sets the ms to zero. A similar check is already
+	  done right below this one in the 'else' statement. (closes issue
+	  #15032) Reported by: guillecabeza Patches:
+	  chan_iax2.c.patch_timestamp uploaded by guillecabeza (license
+	  380) Tested by: guillecabeza (closes issue #14216) Reported by:
+	  Andrey Sofronov
+
+2009-05-21 15:25 +0000 [r195881]  Matthew Nicholson <mnicholson at digium.com>
+
+	* main/cdr.c, res/res_features.c, include/asterisk/cdr.h: This
+	  commit prevents cdr records with AST_CDR_FLAG_ANSLOCKED and
+	  AST_CDR_FLAG_LOCKED from being updated in certain cases. This is
+	  accomplished by adding two functions to update the answer time
+	  and disposition of calls that checks for the proper lock flags.
+	  These functions are used in the ast_bridge_call() function so
+	  that ForkCDR(A) calls are respected. This patch also modifies the
+	  way ast_bridge_call() chooses the cdr record to base the
+	  bridged_cdr on. Previously the first unlocked cdr record would be
+	  chosen, now instead the first cdr record is chosen and forked cdr
+	  records are moved to the bridge_cdr. This allows the original cdr
+	  record and any forked cdr records to be properly updated with
+	  answer and end times. (closes issue #13797) Reported by: sh0t
+	  Tested by: sh0t (closes issue #14744) Reported by: deepesh
+
+2009-05-21  Leif Madsen <lmadsen at digium.com>
+
+	* Release Asterisk 1.4.25
+
+2009-05-13  Leif Madsen <lmadsen at digium.com>
+
+	* Release Asterisk 1.4.25-rc1
+
+2009-05-13 13:38 +0000 [r194208]  Joshua Colp <jcolp at digium.com>
+
+	* main/rtp.c: Fix RFC2833 issues with DTMF getting duplicated and
+	  with duration wrapping over. (closes issue #14815) Reported by:
+	  geoff2010 Patches: v1-14815.patch uploaded by dimas (license 88)
+	  Tested by: geoff2010, file, dimas, ZX81, moliveras (closes issue
+	  #14460) Reported by: moliveras Tested by: moliveras
+
+2009-05-13 00:52 +0000 [r194137]  Tilghman Lesher <tlesher at digium.com>
+
+	* main/pbx.c: Fix logic for how to proceed with a single digit
+	  extension. (closes issue #15091) Reported by: andrew Patches:
+	  20090512__issue15091.diff.txt uploaded by tilghman (license 14)
+	  Tested by: andrew
+
+2009-05-12 22:15 +0000 [r194028]  Matthew Nicholson <mnicholson at digium.com>
+
+	* apps/app_queue.c: This change modifies app_queue to properly
+	  generate CDR records in failure situations. This involves setting
+	  a proper cdr disposition coresponding to the given failure
+	  condition and ensuring the proper information is stored in the
+	  cdr record. (closes issue #13691) Reported by: dferrer Tested by:
+	  mnicholson (closes issue #13637) Reported by: atis Tested by:
+	  atis
+
+2009-05-12 20:39 +0000 [r193955]  Tilghman Lesher <tlesher at digium.com>
+
+	* apps/app_voicemail.c: Avoid initializing routines if the
+	  authentication fails. Fixes a crash (RR) issue. (closes issue
+	  #14508) Reported by: tiziano Patches:
+	  20090221_2_wrongmailbox.diff.txt uploaded by tiziano (license
+	  377)
+
+2009-05-12 18:18 +0000 [r193880]  Mark Michelson <mmichelson at digium.com>
+
+	* channels/chan_sip.c: Set the invitestate to INV_CANCELLED only if
+	  we are actually sending a SIP CANCEL. The problem was that the
+	  hangup code was setting the invitestate too early. The result of
+	  this was that we would always send a CANCEL request, even if it
+	  was not an appropriate time to do so (e.g. we have not yet
+	  received a provisional response for our INVITE). Note that this
+	  same fix had been applied to trunk and the 1.6.X branches
+	  starting with revision 155467. This is why you will see this
+	  revision being blocked from those places. AST-216
+
+2009-05-11 22:48 +0000 [r193755]  Tilghman Lesher <tlesher at digium.com>
+
+	* apps/app_voicemail.c: Move 300 bytes around on the stack, to make
+	  more room for an extension buffer. This allows more concurrent
+	  extensions to be copied for a single voicemail, without creating
+	  a possibility of upsetting existing users, where a dialplan could
+	  run out of stack space where it had run fine before.
+	  Alternatively, we could have allocated off the heap, but that is
+	  a larger change and would have increased the chance for
+	  instability introduced by this change. This is really solved
+	  starting in 1.6.0.11, as the use of an ast_str buffer allows an
+	  unlimited number of extensions (up to available memory). We
+	  additionally create a new warning message when the buffer length

[... 24324 lines stripped ...]



More information about the asterisk-commits mailing list