[asterisk-commits] russell: tag 1.4.23-rc4 r168756 - /tags/1.4.23-rc4/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Jan 16 09:52:29 CST 2009


Author: russell
Date: Fri Jan 16 09:52:29 2009
New Revision: 168756

URL: http://svn.digium.com/svn-view/asterisk?view=rev&rev=168756
Log:
Importing files for 1.4.23-rc4 release

Added:
    tags/1.4.23-rc4/.lastclean   (with props)
    tags/1.4.23-rc4/.version   (with props)
    tags/1.4.23-rc4/ChangeLog   (with props)

Added: tags/1.4.23-rc4/.lastclean
URL: http://svn.digium.com/svn-view/asterisk/tags/1.4.23-rc4/.lastclean?view=auto&rev=168756
==============================================================================
--- tags/1.4.23-rc4/.lastclean (added)
+++ tags/1.4.23-rc4/.lastclean Fri Jan 16 09:52:29 2009
@@ -1,0 +1,1 @@
+33

Propchange: tags/1.4.23-rc4/.lastclean
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tags/1.4.23-rc4/.lastclean
------------------------------------------------------------------------------
    svn:keywords = none

Propchange: tags/1.4.23-rc4/.lastclean
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tags/1.4.23-rc4/.version
URL: http://svn.digium.com/svn-view/asterisk/tags/1.4.23-rc4/.version?view=auto&rev=168756
==============================================================================
--- tags/1.4.23-rc4/.version (added)
+++ tags/1.4.23-rc4/.version Fri Jan 16 09:52:29 2009
@@ -1,0 +1,1 @@
+1.4.23-rc4

Propchange: tags/1.4.23-rc4/.version
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tags/1.4.23-rc4/.version
------------------------------------------------------------------------------
    svn:keywords = none

Propchange: tags/1.4.23-rc4/.version
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tags/1.4.23-rc4/ChangeLog
URL: http://svn.digium.com/svn-view/asterisk/tags/1.4.23-rc4/ChangeLog?view=auto&rev=168756
==============================================================================
--- tags/1.4.23-rc4/ChangeLog (added)
+++ tags/1.4.23-rc4/ChangeLog Fri Jan 16 09:52:29 2009
@@ -1,0 +1,22076 @@
+2009-01-16  Russell Bryant <russell at digium.com>
+
+	* Asterisk 1.4.23-rc4 released.
+
+2009-01-16 00:19 +0000 [r168745]  Steve Murphy <murf at digium.com>
+
+	* pbx/pbx_ael.c: This patch fixes a problem where a goto (or jump,
+	  in this case) fails a consistency check because it can't find a
+	  matching extension. The problem was a missing instruction to end
+	  the range notation in the code where it converts the pattern into
+	  a regex and uses the regex code to determine the match. I tested
+	  using the AEL code the user supplied, and now, the consistency
+	  check passes. (closes issue #14141) Reported by: dimas
+
+2009-01-15 18:43 +0000 [r168721]  Olle Johansson <oej at edvina.net>
+
+	* configs/extconfig.conf.sample: Meetme actually has realtime but
+	  wasn't documented
+
+2009-01-15 18:22 +0000 [r168716]  Terry Wilson <twilson at digium.com>
+
+	* res/res_features.c: Convert call to park_call_full to
+	  masq_park_call_announce Since we removed the AST_PBX_KEEPALIVE
+	  return value, we need to use masqueraded parking, otherwise we
+	  will try to call ast_hangup() in __pbx_run() and in
+	  do_parking_thread() and then promptly crash. (closes issue
+	  #14215) Reported by: waverly360 Tested by: otherwiseguy (closes
+	  issue #14228) Reported by: kobaz Tested by: otherwiseguy
+
+2009-01-15 01:20 +0000 [r168633]  Tilghman Lesher <tlesher at digium.com>
+
+	* /: Blocked revision 168632 from /branches/1.2: 1.2 regression on
+	  security fix AST-2009-001 (Closes issue #14238)
+
+2009-01-15 00:11 +0000 [r168628]  Mark Michelson <mmichelson at digium.com>
+
+	* apps/app_queue.c: Fix some crashes from bad datastore handling in
+	  app_queue.c * The queue_transfer_fixup function was searching for
+	  and removing the datastore from the incorrect channel, so this
+	  was fixed. * Most datastore operations regarding the
+	  queue_transfer datastore were being done without the channel
+	  locked, so proper channel locking was added, too. (closes issue
+	  #14086) Reported by: ZX81 Patches: 14086v2.patch uploaded by
+	  putnopvut (license 60) Tested by: ZX81, festr
+
+2009-01-14 21:48 +0000 [r168622]  Richard Mudgett <rmudgett at digium.com>
+
+	* channels/misdn/isdn_lib.c: * Fixed create_process() allocation of
+	  process ID values. The allocated process IDs could overflow their
+	  respective NT and TE fields. Affects outgoing calls.
+
+2009-01-14 20:52 +0000 [r168614]  Sean Bright <sean.bright at gmail.com>
+
+	* contrib/scripts/autosupport: Update autosupport script to supply
+	  info for both Zaptel and DAHDI in 1.4 and be sure to run
+	  dahdi_test in 1.6.x and trunk instead of zttest. (closes issue
+	  #14132) Reported by: dsedivec Patches:
+	  asterisk-1.4-autosupport.patch uploaded by dsedivec (license 638)
+	  asterisk-trunk-autosupport.patch uploaded by dsedivec (license
+	  638)
+
+2009-01-14 19:34 +0000 [r168608]  Steve Murphy <murf at digium.com>
+
+	* apps/app_page.c: app_page was failing to compile in dev-mode on
+	  my gcc-4.2.4 system. This change gets rid of the warning.
+
+2009-01-14 19:02 +0000 [r168603]  Tilghman Lesher <tlesher at digium.com>
+
+	* main/udptl.c: Don't read into a buffer without first checking if
+	  a value is beyond the end. (closes issue #13600) Reported by:
+	  atis Patches: 20090106__bug13600.diff.txt uploaded by Corydon76
+	  (license 14) Tested by: atis
+
+2009-01-14 16:19 +0000 [r168598]  Mark Michelson <mmichelson at digium.com>
+
+	* channels/chan_agent.c: Fix a logic error I found while searching
+	  through chan_agent.c I found that the allow_multiple_logins
+	  function would never return 0 due to an incorrect comparison
+	  being used when traversing the list of agents. While I was
+	  modifying this function, I also did a little bit of coding
+	  guidelines cleanup, too.
+
+2009-01-14 01:27 +0000 [r168593]  Terry Wilson <twilson at digium.com>
+
+	* apps/app_page.c: Don't overflow when paging more than 128
+	  extensions The number of available slots for calls in app_page
+	  was hardcoded to 128. Proper bounds checking was not in place to
+	  enforce this limit, so if more than 128 extensions were passed to
+	  the Page() app, Asterisk would crash. This patch instead
+	  dynamically allocates memory for the ast_dial structures and
+	  removes the (non-functional) arbitrary limit. This issue would
+	  have special importance to anyone who is dynamically creating the
+	  argument passed to the Page application and allowing more than
+	  128 extensions to be added by an outside user via some external
+	  interface. The patch posted by a_villacis was slightly modified
+	  for some coding guidelines and other cleanups. Thanks,
+	  a_villacis! (closes issue #14217) Reported by: a_villacis
+	  Patches: 20080912-asterisk-app_page-fix-buffer-overflow.patch
+	  uploaded by a (license 660) Tested by: otherwiseguy
+
+2009-01-13 19:13 +0000 [r168561]  Russell Bryant <russell at digium.com>
+
+	* main/indications.c, main/channel.c, apps/app_read.c,
+	  channels/chan_misdn.c, funcs/func_channel.c,
+	  include/asterisk/indications.h, apps/app_disa.c, main/app.c,
+	  res/snmp/agent.c, include/asterisk/channel.h,
+	  res/res_indications.c: Revert unnecessary indications API change
+	  from rev 122314
+
+2009-01-13 18:34 +0000 [r168551]  Terry Wilson <twilson at digium.com>
+
+	* channels/chan_sip.c: Don't pass a value with a side effect to a
+	  macro (closes issue #14176) Reported by: paraeco Patches:
+	  chan_sip.c.diff uploaded by paraeco (license 658)
+
+2009-01-13 17:48 +0000 [r168546]  Tilghman Lesher <tlesher at digium.com>
+
+	* funcs/func_logic.c: If either conditional is NULL, don't try
+	  copying it. (closes issue #14226) Reported by: caspy Patches:
+	  20090113__bug14226.diff.txt uploaded by Corydon76 (license 14)
+
+2009-01-12 21:42 +0000 [r168507-168516]  Jeff Peeler <jpeeler at digium.com>
+
+	* res/res_agi.c: (closes issue #13881) Reported by: hoowa Update
+	  the app CDR field for AGI commands that are not executing an
+	  application via "exec".
+
+	* channels/chan_agent.c: (closes issue #12269) Reported by: IgorG
+	  Tested by: denisgalvao This gits rid of the notion of an
+	  owning_app allowing the request and hangup to be initiated by
+	  different threads. Originating from an active agent channel
+	  requires this. The implementation primarily changes __login_exec
+	  to wait on a condition variable rather than a lock. Review:
+	  http://reviewboard.digium.com/r/35/
+
+2009-01-12 14:58 +0000 [r168482]  Mark Michelson <mmichelson at digium.com>
+
+	* channels/chan_sip.c: I am reverting the fix made in revision
+	  168128 (and its upward merges) after being contacted by Olle
+	  Johansson and being shown how this fix is incorrect. Thanks to
+	  Olle for clearing this up for me.
+
+2009-01-12 14:57 +0000 [r168480]  Russell Bryant <russell at digium.com>
+
+	* configs/indications.conf.sample: s/ringdance/ringcadence/ for
+	  Bulgaria
+
+2009-01-10 20:47 +0000 [r168267-168382]  Kevin P. Fleming <kpfleming at digium.com>
+
+	* README: small commit to test new server
+
+	* README: small commit to test new server
+
+	* sounds/Makefile: update to use new sound file packages that
+	  include license files
+
+2009-01-09 22:14 +0000 [r168198]  Russell Bryant <russell at digium.com>
+
+	* res/res_musiconhold.c: Make this compile for mvanbaak
+
+2009-01-09 21:28 +0000 [r168191]  Richard Mudgett <rmudgett at digium.com>
+
+	* channels/chan_misdn.c: * Fix for JIRA AST-175/ABE-1757 *
+	  Miscellaneous doxygen comments added.
+
+2009-01-09 20:08 +0000 [r168128]  Mark Michelson <mmichelson at digium.com>
+
+	* channels/chan_sip.c: Add check_via calls to more request handlers
+	  INFO, NOTIFY, OPTIONS, REFER, and MESSAGE requests were not
+	  checking the topmost Via to determine where to send the response.
+	  Adding check_via calls to those request handlers solves this.
+	  (closes issue #13071) Reported by: baron Patches: check_via.patch
+	  uploaded by baron (license 531) Tested by: baron
+
+2009-01-08 22:08 +0000 [r167840]  Tilghman Lesher <tlesher at digium.com>
+
+	* res/res_agi.c: Don't truncate database results at 255 chars.
+	  (closes issue #14069) Reported by: evandro Patches:
+	  20081214__bug14069.diff.txt uploaded by Corydon76 (license 14)
+
+2009-01-08 17:24 +0000 [r167620-167714]  Kevin P. Fleming <kpfleming at digium.com>
+
+	* channels/chan_sip.c: remove an unnecessary argument to
+	  queue_request()
+
+	* channels/chan_sip.c: When a SIP request or response arrives for a
+	  dialog with an associated Asterisk channel, and the lock on that
+	  channel cannot be obtained because it is held by another thread,
+	  instead of dropping the request/response, queue it for later
+	  processing when the channel lock becomes available.
+	  http://reviewboard.digium.com/r/117/
+
+2009-01-07 22:35 +0000 [r167432-167566]  Russell Bryant <russell at digium.com>
+
+	* main/file.c: Fix the last couple of places where free() was
+	  improperly used directly.
+
+	* main/file.c: Don't fclose() the file early, the filestream
+	  destructor will handle it.
+
+	* main/file.c: Only try to close the file if one was actually
+	  opened
+
+	* main/file.c: Don't use free() directly. This caused a crash since
+	  ast_filestream is now an ao2 object. Reported by JunK-Y on IRC,
+	  #asterisk-dev
+
+	* main/indications.c: Treat an empty string the same way as a NULL
+	  country argument. In passing, simplify the handling of returning
+	  a default tone zone.
+
+2009-01-06 21:35 +0000 [r167299]  Mark Michelson <mmichelson at digium.com>
+
+	* main/db.c: Use the correct variable when creating the format
+	  string (closes issue #14177) Reported by: nic_bellamy Patches:
+	  asterisk-trunk-svn-r167242-ast_db_gettree.patch uploaded by nic
+	  (license 299)
+
+2009-01-06 20:48 +0000 [r167260]  Tilghman Lesher <tlesher at digium.com>
+
+	* /, channels/chan_iax2.c: Merged revisions 167259 via svnmerge
+	  from https://origsvn.digium.com/svn/asterisk/branches/1.2
+	  ........ r167259 | tilghman | 2009-01-06 14:44:03 -0600 (Tue, 06
+	  Jan 2009) | 2 lines Security fix AST-2009-001. ........
+
+2009-01-05 16:51 +0000 [r167179]  Mark Michelson <mmichelson at digium.com>
+
+	* channels/chan_sip.c: A couple of changes to T.38 SDP attribute
+	  handling There are some boolean attributes for T.38 such as
+	  T38FaxFillBitRemoval, T38FaxTranscodingMMR, and
+	  T38FaxTranscodingJBIG. By simply being present, we should treat
+	  these as a "true" value. The current code, however, was requiring
+	  a 1 or 0 as the value of the attribute in order to parse it. This
+	  is due to the fact that there are some T.38 endpoints and
+	  gateways that also transmit this information incorrectly. This
+	  patch follows the "be liberal in what you accept and strict in
+	  what you send" philosophy by accepting both the correctly- and
+	  incorrectly-formatted attributes, but only sending information as
+	  it is supposed to be sent. It was also discovered that a
+	  particular type of T.38 gateway sends some non-standard T.38 SDP
+	  attributes. Instead of using T38FaxMaxDatagram and T38MaxBitRate,
+	  it used T38MaxDatagram and T38FaxMaxRate respectively. We now
+	  will properly accept these attributes as well. Note that there
+	  are a lot of patches cited in the below commit message template.
+	  This is because the person who submitted these patches is an
+	  awesome person and wrote 1.4, 1.6.0, and 1.6.1 variants. (closes
+	  issue #13976) Reported by: linulin Patches:
+	  chan_sip.c.1.4-update1.diff uploaded by arcivanov (license 648)
+	  chan_sip.c.1.6.0-update1.diff uploaded by arcivanov (license 648)
+	  chan_sip.c.1.6.1-update1.diff uploaded by arcivanov (license 648)
+	  chan_sip.c.1.4-relaxedT38_update1.diff uploaded by arcivanov
+	  (license 648) chan_sip.c.1.6.0-relaxedT38_update1.diff uploaded
+	  by arcivanov (license 648)
+	  chan_sip.c.1.6.1-relaxedT38_update1.diff uploaded by arcivanov
+	  (license 648) Tested by: arcivanov
+
+2009-01-01 00:01 +0000 [r166953-167095]  Tilghman Lesher <tlesher at digium.com>
+
+	* channels/chan_alsa.c: Repeat attempts to write when we receive
+	  -EAGAIN from the driver, as detailed in the ALSA sample code (see
+	  http://www.alsa-project.org/alsa-doc/alsa-lib/_2test_2pcm_8c-example.html#a32)
+	  Reported by: Jerry Geis (via the -users list) Fixed by: me
+	  (license 14)
+
+	* channels/chan_local.c: Also inherit the musiconhold class.
+	  (Closes #14153) Reported by: Jerry Geis, via the users list.
+	  Patch by: me (license 14)
+
+2008-12-28 15:13 +0000 [r166772]  Russell Bryant <russell at digium.com>
+
+	* channels/misdn_config.c: Use strncat() instead of an sprintf() in
+	  which source and target buffers overlap
+	  http://lists.digium.com/pipermail/asterisk-dev/2008-December/035919.html
+
+2008-12-23 15:35 +0000 [r166592]  Tilghman Lesher <tlesher at digium.com>
+
+	* main/asterisk.c, channels/chan_iax2.c: Compile, even if both
+	  DAHDI and Zaptel are not installed. (Closes issue #14120)
+
+2008-12-23 15:16 +0000 [r166568]  Mark Michelson <mmichelson at digium.com>
+
+	* main/channel.c: Fix a crash resulting from a datastore with
+	  inheritance but no duplicate callback The fix for this is to
+	  simply set the newly created datastore's data pointer to NULL if
+	  it is inherited but has no duplicate callback. (closes issue
+	  #14113) Reported by: francesco_r Patches: 14113.patch uploaded by
+	  putnopvut (license 60) Tested by: francesco_r
+
+2008-12-23 04:05 +0000 [r166509]  Tilghman Lesher <tlesher at digium.com>
+
+	* main/channel.c: Use the integer form of condition for integer
+	  comparisons. (closes issue #14127) Reported by: andrew
+
+2008-12-22 20:56 +0000 [r166380]  Mark Michelson <mmichelson at digium.com>
+
+	* channels/chan_dahdi.c: Fix a deadlock relating to channel locks
+	  and autoservice It has been discovered that if a channel is
+	  locked prior to a call to ast_autoservice_stop, then it is likely
+	  that a deadlock will occur. The reason is that the call to
+	  ast_autoservice_stop has a check built into it to be sure that
+	  the thread running autoservice is not currently trying to
+	  manipulate the channel we are about to pull out of autoservice.
+	  The autoservice thread, however, cannot advance beyond where it
+	  currently is, though, because it is trying to acquire the lock of
+	  the channel for which autoservice is attempting to be stopped.
+	  The gist of all this is that a channel MUST NOT be locked when
+	  attempting to stop autoservice on the channel. In this particular
+	  case, the channel was locked by a call to ast_read. A call to
+	  ast_exists_extension led to autoservice being started and stopped
+	  due to the existence of dialplan switches. It may be that there
+	  are future commits which handle the same symptoms but in a
+	  different location, but based on my looks through the code, it is
+	  very rare to see a construct such as this one. (closes issue
+	  #14057) Reported by: rtrauntvein Patches: 14057v3.patch uploaded
+	  by putnopvut (license 60) Tested by: rtrauntvein Review:
+	  http://reviewboard.digium.com/r/107/
+
+2008-12-22 17:22 +0000 [r166262-166297]  Russell Bryant <russell at digium.com>
+
+	* main/utils.c: Fix up timeout handling in ast_carefulwrite().
+
+	* include/asterisk/strings.h, res/res_musiconhold.c: Re-work ref
+	  count handling of MoH classes using astobj2 to resolve crashes.
+	  (closes issue #13566) Reported by: igorcarneiro Tested by:
+	  russell Review: http://reviewboard.digium.com/r/106/
+
+2008-12-19 23:34 +0000 [r166157]  Mark Michelson <mmichelson at digium.com>
+
+	* main/channel.c, funcs/func_audiohookinherit.c (added),
+	  channels/chan_sip.c, include/asterisk/audiohook.h,
+	  main/audiohook.c, CHANGES: Backport of AUDIOHOOK_INHERIT for
+	  Asterisk 1.4 (closes issue #13538) Reported by: mbit Patches:
+	  13538.patch uploaded by putnopvut (license 60) Tested by:
+	  putnopvut
+
+2008-12-19 22:30 +0000 [r166093]  Steve Murphy <murf at digium.com>
+
+	* apps/app_dial.c, res/res_features.c, include/asterisk/pbx.h,
+	  apps/app_queue.c: This merges the masqpark branch into 1.4 These
+	  changes eliminate the need for (and use of) the KEEPALIVE return
+	  code in res_features.c; There are other places that use this
+	  result code for similar purposes at a higher level, these appear
+	  to be left alone in 1.4, but attacked in trunk. The reason these
+	  changes are being made in 1.4, is that parking ends a channel's
+	  life, in some situations, and the code in the bridge (and some
+	  other places), was not checking the result code properly, and
+	  dereferencing the channel pointer, which could lead to memory
+	  corruption and crashes. Calling the masq_park function eliminates
+	  this danger in higher levels. A series of previous commits have
+	  replaced some parking calls with masq_park, but this patch puts
+	  them ALL to rest, (except one, purposely left alone because a
+	  masquerade is done anyway), and gets rid of the code that tests
+	  the KEEPALIVE result, and the NOHANGUP_PEER result codes. While
+	  bug 13820 inspired this work, this patch does not solve all the
+	  problems mentioned there. I have tested this patch (again) to
+	  make sure I have not introduced regressions. Crashes that
+	  occurred when a parked party hung up while the parking party was
+	  listening to the numbers of the parking stall being assigned, is
+	  eliminated. These are the cases where parking code may be
+	  activated: 1. Feature one touch (eg. *3) 2. Feature blind xfer to
+	  parking lot (eg ##700) 3. Run Park() app from dialplan (eg sip
+	  xfer to 700) (eg. dahdi hookflash xfer to 700) 4. Run Park via
+	  manager. The interesting testing cases for parking are: I. A
+	  calls B, A parks B a. B hangs up while A is getting the numbers
+	  announced. b. B hangs up after A gets the announcement, but
+	  before the parking time expires c. B waits, time expires, A is
+	  redialed, A answers, B and A are connected, after which, B hangs
+	  up. d. C picks up B while still in parking lot. II. A calls B, B
+	  parks A a. A hangs up while B is getting the numbers announced.
+	  b. A hangs up after B gets the announcement, but before the
+	  parking time expires c. A waits, time expires, B is redialed, B
+	  answers, A and B are connected, after which, A hangs up. d. C
+	  picks up A while still in parking lot. Testing this throroughly
+	  involves acting all the permutations of I and II, in situations
+	  1,2,3, and 4. Since I added a few more changes (ALL references to
+	  KEEPALIVE in the bridge code eliimated (I missed one earlier), I
+	  retested most of the above cases, and no crashes. H-extension
+	  weirdness. Current h-extension execution is not completely
+	  correct for several of the cases. For the case where A calls B,
+	  and A parks B, the 'h' exten is run on A's channel as soon as the
+	  park is accomplished. This is expected behavior. But when A calls
+	  B, and B parks A, this will be current behavior: After B parks A,
+	  B is hung up by the system, and the 'h' (hangup) exten gets run,
+	  but the channel mentioned will be a derivative of A's... Thus, if
+	  A is DAHDI/1, and B is DAHDI/2, the h-extension will be run on
+	  channel Parked/DAHDI/1-1<ZOMBIE>, and the start/answer/end info
+	  will be those relating to Channel A. And, in the case where A is
+	  reconnected to B after the park time expires, when both parties
+	  hang up after the joyful reunion, no h-exten will be run at all.
+	  In the case where C picks up A from the parking lot, when either
+	  A or C hang up, the h-exten will be run for the C channel. CDR's
+	  are a separate issue, and not addressed here. As to WHY this
+	  strange behavior occurs, the answer lies in the procedure
+	  followed to accomplish handing over the channel to the parking
+	  manager thread. This procedure is called masquerading. In the
+	  process, a duplicate copy of the channel is created, and most of
+	  the active data is given to the new copy. The original channel
+	  gets its name changed to XXX<ZOMBIE> and keeps the PBX
+	  information for the sake of the original thread (preserving its
+	  role as a call originator, if it had this role to begin with),
+	  while the new channel is without this info and becomes a call
+	  target (a "peer"). In this case, the parking lot manager thread
+	  is handed the new (masqueraded) channel. It will not run an
+	  h-exten on the channel if it hangs up while in the parking lot.
+	  The h exten will be run on the original channel instead, in the
+	  original thread, after the bridge completes. See bug 13820 for
+	  our intentions as to how to clean up the h exten behavior.
+	  Review: http://reviewboard.digium.com/r/29/
+
+2008-12-19 19:48 +0000 [r165991]  Jeff Peeler <jpeeler at digium.com>
+
+	* include/asterisk/dahdi_compat.h, main/asterisk.c, main/channel.c,
+	  apps/app_dahdibarge.c, channels/chan_dahdi.c, apps/app_meetme.c,
+	  apps/app_dahdiscan.c, codecs/codec_dahdi.c,
+	  res/res_musiconhold.c, channels/chan_iax2.c: (closes issue
+	  #13480) Reported by: tzafrir Replace a bunch of if defined checks
+	  for Zaptel/DAHDI through several new defines in dahdi_compat.h.
+	  This removes a lot of code duplication. Example from bug: #ifdef
+	  HAVE_ZAPTEL fd = open("/dev/zap/pseudo", O_RDWR); #else fd =
+	  open("/dev/dahdi/pseudo", O_RDWR); #endif is replaced with: fd =
+	  open(DAHDI_FILE_PSEUDO, O_RDRW);
+
+2008-12-19 15:03 +0000 [r165796-165889]  Russell Bryant <russell at digium.com>
+
+	* apps/app_chanspy.c: Ensure that the chanspy datastore is fully
+	  initialized. This patch resolved some random crash issues
+	  observed by a user on a BSD system (closes issue #14111) Reported
+	  by: ys Patches: app_chanspy.c.diff uploaded by ys (license 281)
+
+	* main/utils.c: Make ast_carefulwrite() be more careful. This patch
+	  handles some additional cases that could result in partial writes
+	  to the file description. This was done to address complaints
+	  about partial writes on AMI. (issue #13546) (more changes needed
+	  to address potential problems in 1.6) Reported by: srt Tested by:
+	  russell Review: http://reviewboard.digium.com/r/99/
+
+2008-12-18 21:14 +0000 [r165767]  Tilghman Lesher <tlesher at digium.com>
+
+	* apps/app_voicemail.c: Add mutexes around accesses to the IMAP
+	  library interface. This prevents certain crashes, especially when
+	  shared mailboxes are used. (closes issue #13653) Reported by:
+	  howardwilkinson Patches:
+	  asterisk-1.4.21.2-appvoicemail-sharedimap-lock.patch uploaded by
+	  howardwilkinson (license 590) Tested by: jpeeler
+
+2008-12-18 18:52 +0000 [r165661]  Russell Bryant <russell at digium.com>
+
+	* res/res_musiconhold.c: Set the process group ID on the MOH
+	  process so that all children will get killed (closes issue
+	  #14099) Reported by: caspy Patches:
+	  res_musiconhold.c.patch.killpg.try2 uploaded by caspy (license
+	  645)
+
+2008-12-18 17:11 +0000 [r165537-165591]  Joshua Colp <jcolp at digium.com>
+
+	* main/rtp.c: Only care about a compatible codec for early bridging
+	  if we are actually bridging to another channel. If we are not we
+	  actually want to bring the audio back to us. (closes issue
+	  #13545) Reported by: davidw
+
+	* apps/app_followme.c: Do not crash if we are not passed in a
+	  followme id. (closes issue #14106) Reported by: ys Patches:
+	  app_followme.c.2.diff uploaded by ys (license 281)
+
+2008-12-17  Russell Bryant <russell at digium.com>
+
+	* Asterisk 1.4.23-rc3 released.
+
+2008-12-17 21:14 +0000 [r165317]  Tilghman Lesher <tlesher at digium.com>
+
+	* apps/app_macro.c: Reverse the fix from issue #6176 and add proper
+	  handling for that issue. (Closes issue #13962, closes issue
+	  #13363) Fixed by myself (license 14)
+
+2008-12-17 20:51 +0000 [r164977-165255]  Mark Michelson <mmichelson at digium.com>
+
+	* apps/app_meetme.c, apps/app_realtime.c, apps/app_directory.c,
+	  apps/app_queue.c: Fix some memory leaks found while looking at
+	  how realtime configs are handled. Also cleaned up some coding
+	  guidelines violations in app_realtime.c, mostly related to
+	  spacing
+
+	* channels/chan_sip.c: After looking through SIP registration code
+	  most of the day, this is one of the few things I could find that
+	  was just plain wrong. Even though it probably isn't possible for
+	  it to happen, it seems weird to have code that checks if a
+	  pointer is NULL and then immediately dereferences that pointer if
+	  it was NULL.
+
+2008-12-16 21:38 +0000 [r164672-164881]  Russell Bryant <russell at digium.com>
+
+	* main/utils.c: Fix an issue where DEBUG_THREADS may erroneously
+	  report that a thread is exiting while holding a lock. If the last
+	  lock attempt was a trylock, and it failed, it will still be in
+	  the list of locks so that it can be reported. (closes issue
+	  #13219) Reported by: pj
+
+	* apps/app_macro.c: Do not dereference the channel if
+	  AST_PBX_KEEPALIVE has been returned. This is a bug I noticed
+	  while looking at the code for app_macro. This return code means
+	  that another thread has assumed ownership of the channel and it
+	  can no longer be touched. (I hate this return code with a
+	  passion, by the way.)
+
+	* main/manager.c: Add "restart gracefully" to the AMI blacklist of
+	  CLI commands. "module unload" was already identified as a command
+	  that can not be used from the AMI. "restart gracefully"
+	  effectively unloads all modules, and will run in to the same
+	  problems. (closes issue #13894) Reported by: kernelsensei
+
+	* include/asterisk/threadstorage.h, main/threadstorage.c: Fix
+	  memory leak and invalid reporting issues with DEBUG_THREADLOCALS.
+	  One issue was that the ast_mutex_* API was being used within the
+	  context of the thread local data destructors. We would go off and
+	  allocate more thread local data while the pthread lib was in the
+	  middle of destroying it all. This led to a memory leak. Another
+	  issue was an invalid argument being provided to the the
+	  object_add API call. (closes issue #13678) Reported by: ys Tested
+	  by: Russell
+
+	* channels/chan_sip.c: Fix a memory leak related to the use of the
+	  "setvar" configuration option. The problem was that these
+	  variables were being appended to the list of vars on the sip_pvt
+	  every time a re-registration or re-subscription came in. Since
+	  it's just a waste of memory to put them there unless the request
+	  was an INVITE, then the fix is to check the request type before
+	  copying the vars. (closes issue #14037) Reported by: marvinek
+	  Tested by: russell
+
+2008-12-16 15:15 +0000 [r164634]  Steve Murphy <murf at digium.com>
+
+	* main/pbx.c: I added a sentence to clarify why - and ' ' are
+	  ignored in patterns as per bug 14076. Leif says he'll put some
+	  stuff about it in the extensions.conf sample, etc.
+
+2008-12-16 14:28 +0000 [r164605]  Russell Bryant <russell at digium.com>
+
+	* res/res_musiconhold.c: Don't try to change working directory if a
+	  directory was not configured. (closes issue #14089) Reported by:
+	  caspy
+
+2008-12-15 19:53 +0000 [r164416-164422]  Mark Michelson <mmichelson at digium.com>
+
+	* include/asterisk/pbx.h: Add the deadlock note to
+	  ast_spawn_extension as well
+
+	* include/asterisk/channel.h, include/asterisk/pbx.h: Add notes to
+	  autoservice and pbx doxygen regarding a potential deadlock
+	  scenario so that it is avoided in the future
+
+2008-12-15 18:11 +0000 [r164204-164350]  Joshua Colp <jcolp at digium.com>
+
+	* channels/chan_sip.c: Do not try to unlock a non-existant channel
+	  if the transfer fails. (closes issue #13800) Reported by: dwagner
+	  Patches: asterisk-1.4.22-chan-sip-nullp.patch uploaded by tweety
+	  (license 608)
+
+	* configure, include/asterisk/autoconfig.h.in, configure.ac,
+	  include/asterisk/channel.h: Use autoconf logic to determine
+	  whether the system has timersub or not. Do not blindly assume
+	  Solaris does not. (closes issue #13838) Reported by: ano
+
+	* apps/app_dial.c: Can we try not to assign an unsigned int to -1?
+	  (closes issue #14074) Reported by: wetwired
+
+2008-12-15 14:31 +0000 [r164201]  Russell Bryant <russell at digium.com>
+
+	* main/channel.c, res/res_features.c: Handle a case where a call
+	  can be bridged to a channel that is still ringing. The issue that
+	  was reported was about a case where a RINGING channel got
+	  redirected to an extension to pick up a call from parking. Once
+	  the parked call got taken out of parking, it heard silence until
+	  the other side answered. Ideally, the caller that was parked
+	  would get a ringing indication. This patch fixes this case so
+	  that the caller receives ringback once it comes out of parking
+	  until the other side answers. The fixes are: - Make sure we
+	  remember that a channel was an outgoing channel when doing a
+	  masquerade. This prevents an erroneous ast_answer() call on the
+	  channel, which causes a bogus 200 OK to be sent in the case of
+	  SIP. - Add some additional comments to explain related parts of
+	  code. - Update the handling of the ast_channel visible_indication
+	  field. Storing values that are not stateful is pointless. Control
+	  frames that are events or commands should be ignored. - When a
+	  bridge first starts, check to see if the peer channel needs to be
+	  given ringing indication because the calling side is still
+	  ringing. - Rework ast_indicate_data() a bit for the sake of
+	  readability. (closes issue #13747) Reported by: davidw Tested by:
+	  russell Review: http://reviewboard.digium.com/r/90/
+
+2008-12-13 23:22 +0000 [r164082]  Tilghman Lesher <tlesher at digium.com>
+
+	* apps/app_dial.c: Change the default calldurationlimit from the
+	  special value 0 to -1, so we can better detect an exceptional
+	  case. This follows on to the changes made in revision 156386.
+	  Related to issue #13851. (closes issue #13974) Reported by:
+	  paradise Patches: 20081208__bug13974.diff.txt uploaded by
+	  Corydon76 (license 14) Tested by: file, blitzrage, ZX81
+
+2008-12-12 22:20 +0000 [r163785]  Russell Bryant <russell at digium.com>
+
+	* /: Set the reviewboard:url property on 1.4, as well
+
+2008-12-12 22:03 +0000 [r163761]  Tilghman Lesher <tlesher at digium.com>
+
+	* main/asterisk.c, main/editline/read.c: Simple fix for Ctrl-C not
+	  immediately exiting Asterisk, but also add a pointer inside
+	  editline to look back to asterisk.c, so others don't spend as
+	  much time as I did looking (in the wrong place) for the
+	  appropriate function. Reported by: ZX81, via the #asterisk-users
+	  channel Fixed by: me (license 14)
+
+2008-12-12 14:40 +0000 [r163448-163511]  Russell Bryant <russell at digium.com>
+
+	* pbx/pbx_dundi.c: Specify uint32_t for variables storing a CRC32
+	  so that it is actually 32 bits on 64-bit machines, as well.
+	  (inspired by issue #13879)
+
+	* main/channel.c, main/autoservice.c, include/asterisk/channel.h:
+	  Resolve issues that could cause DTMF to be processed out of
+	  order. These changes come from team/russell/issue_12658 1) Change
+	  autoservice to put digits on the head of the channel's frame
+	  readq instead of the tail. If there were frames on the readq that
+	  autoservice had not yet read, the previous code would have
+	  resulted in out of order processing. This required a new API call
+	  to queue a frame to the head of the queue instead of the tail. 2)
+	  Change up the processing of DTMF in ast_read(). Some of the
+	  problems were the result of having two sources of pending DTMF
+	  frames. There was the dtmfq and the more generic readq. Both were
+	  used for pending DTMF in various scenarios. Simplifying things to
+	  only use the frame readq avoids some of the problems. 3) Fix a
+	  bug where a DTMF END frame could get passed through when it
+	  shouldn't have. If code set END_DTMF_ONLY in the middle of digit
+	  emulation, and a digit arrived before emulation was complete,
+	  digits would get processed out of order. (closes issue #12658)
+	  Reported by: dimas Tested by: russell, file Review:
+	  http://reviewboard.digium.com/r/85/
+
+2008-12-11 23:35 +0000 [r163383]  Tilghman Lesher <tlesher at digium.com>
+
+	* main/asterisk.c: When a Ctrl-C or Ctrl-D ends a remote console,
+	  on certain shells, the terminal is messed up. By intercepting
+	  those events with a signal handler in the remote console, we can
+	  avoid those issues. (closes issue #13464) Reported by: tzafrir
+	  Patches: 20081110__bug13464.diff.txt uploaded by Corydon76
+	  (license 14) Tested by: blitzrage
+
+2008-12-11 22:44 +0000 [r163316]  Matt Nicholson <mnicholson at digium.com>
+
+	* pbx/pbx_dundi.c: Clean up the dundi cache every 5 minutes.
+	  (closes issue #13819) Reported by: adomjan Patches:
+	  pbx_dundi.c-clearcache.patch uploaded by adomjan (license 487)
+	  dundi_clearecache3.diff uploaded by mnicholson (license 96)
+	  Tested by: adomjan
+
+2008-12-11 21:46 +0000 [r163092-163253]  Russell Bryant <russell at digium.com>
+
+	* funcs/func_strings.c, funcs/func_cut.c: Fix some observed
+	  slowdowns in dialplan processing. The change is to remove
+	  autoservice usage from dialplan functions that do not need it
+	  because they do not perform operations that potentially block.
+	  (closes issue #13940) Reported by: tbelder
+
+	* res/res_features.c: Fix an issue that made it so you could only
+	  have a single caller executing a custom feature at a time. This
+	  was especially problematic when custom features ran for any
+	  appreciable amount of time. The fix turned out to be quite
+	  simple. The dynamic features are now stored in a read/write list
+	  instead of a list using a mutex. (closes issue #13478) Reported
+	  by: neutrino88 Fix suggested by file
+
+2008-12-11 16:51 +0000 [r163088]  Tilghman Lesher <tlesher at digium.com>
+
+	* res/res_agi.c: Don't wait forever, if there's a specified
+	  recording timeout. (closes issue #13885) Reported by: bamby
+	  Patches: res_agi.c.patch uploaded by bamby (license 430)
+
+2008-12-11 16:46 +0000 [r163080-163084]  Mark Michelson <mmichelson at digium.com>
+
+	* apps/app_queue.c: Revert this cast to long. Using time_t here
+	  causes build failures on a FreeBSD 32-bit build.
+
+	* apps/app_queue.c: Fix a potential crash due to unsafe datastore
+	  handling. This patch also contains a conversion from using long
+	  to time_t for representing times for a queue, as well as some
+	  whitespace fixes. (closes issue #14060) Reported by: nivek
+	  Patches: datastore_fixup.patch.corrected uploaded by nivek
+	  (license 636) with slight modification from me Tested by: nivek
+
+2008-12-10 22:52 +0000 [r162874-162926]  Jeff Peeler <jpeeler at digium.com>
+
+	* res/res_musiconhold.c: Oops, inverted logic for a strcasecmp
+	  check. Pointed out by mmichelson, thanks!
+
+	* res/res_musiconhold.c: (closes issue #13229) Reported by:
+	  clegall_proformatique Ensure that moh_generate does not return
+	  prematurely before local_ast_moh_stop is called. Also, the sleep
+	  in mp3_spawn now only occurs for http locations since it seems to
+	  have been added originally only for failing media streams.
+
+2008-12-10 19:01 +0000 [r162738-162804]  Joshua Colp <jcolp at digium.com>
+
+	* channels/chan_sip.c: Fix subscription based MWI up a bit. We only
+	  want to put sip: at the beginning of the URI if it is not already
+	  there and revert code to ignore destination check if subscribing
+	  for MWI. (closes issue #12560) Reported by: vsauer Patches:
+	  patch001.diff uploaded by ramonpeek (license 266)
+
+	* channels/chan_sip.c: When a SIP peer unregisters set the expiry
+	  time back to 0 so that the 200 OK contains an expires of 0.
+	  (closes issue #13599) Reported by: hjourdain Patches:
+	  chan_sip.c.diff uploaded by hjourdain (license 583)
+
+2008-12-10 16:45 +0000 [r162671]  Steve Murphy <murf at digium.com>
+
+	* pbx/ael/ael_lex.c, pbx/ael/ael.flex: (closes issue #14022)
+	  Reported by: wetwired Tested by: murf I checked, and I added a
+	  mod to the trunk version of Asterisk that would make it 8-bit
+	  transparent on 27 Nov 2007, but I made no such updates to 1.4. My
+	  best guess is that 1.4 was released, and it was not appropriate
+	  to commit an enhancement. But I'm going to add the same fixes to
+	  1.4 now, for the following reasons: 1. wetwired is correct; 1.4
+	  is **mostly** 8-bit transparent now. This is because the lexical
+	  token forming rules use . in most 'word' state continuances. It's
+	  just the beginning of a 'word' that is picky. 2. Accepting 8-bit
+	  chars in some places and not others leads to bug reports like
+	  this.
+
+2008-12-10 16:44 +0000 [r162659-162670]  Mark Michelson <mmichelson at digium.com>
+
+	* include/asterisk/stringfields.h: Update to stringfield handling
+	  so that side-effects on parameters are not evaluated multiple
+	  times. An example where this caused a problem was in chan_sip.c,
+	  with the line ast_string_field_set(p, fromdomain, ++fromdomain);
+	  This patch was originally uploaded to issue #13783 by jamessan.
+	  While the issue was closed for other reasons, this patch is valid
+	  and fixes a separate problem, and is thus being committed.
+
+	* channels/chan_sip.c: Revert fix for issue 13570. It has caused
+	  more problems than it helped to fix. (closes issue #13783)
+	  Reported by: navkumar (closes issue #14025) Reported by: ffs
+
+	* doc/misdn.txt: Add missing documentation to misdn.txt (closes
+	  issue #14052) Reported by: festr Patches: misdn.txt.patch
+	  uploaded by festr (license 443)
+
+2008-12-10 16:05 +0000 [r162653]  Joshua Colp <jcolp at digium.com>
+
+	* main/rtp.c: Increment the sequence number on the end packets for
+	  RFC2833. After reading the RFC some more and doing some testing I
+	  agree with this change. (closes issue #12983) Reported by: vt
+	  Patches: dtmf_inc_seqnum_on_end_pkts.diff uploaded by vt (license
+	  520)
+
+2008-12-09 23:08 +0000 [r162463]  Tilghman Lesher <tlesher at digium.com>
+

[... 21334 lines stripped ...]



More information about the asterisk-commits mailing list