[asterisk-commits] lmadsen: tag 1.4.38-rc1 r295103 - /tags/1.4.38-rc1/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Nov 15 13:22:10 CST 2010


Author: lmadsen
Date: Mon Nov 15 13:22:06 2010
New Revision: 295103

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

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

Added: tags/1.4.38-rc1/.lastclean
URL: http://svnview.digium.com/svn/asterisk/tags/1.4.38-rc1/.lastclean?view=auto&rev=295103
==============================================================================
--- tags/1.4.38-rc1/.lastclean (added)
+++ tags/1.4.38-rc1/.lastclean Mon Nov 15 13:22:06 2010
@@ -1,0 +1,1 @@
+33

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

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

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

Added: tags/1.4.38-rc1/.version
URL: http://svnview.digium.com/svn/asterisk/tags/1.4.38-rc1/.version?view=auto&rev=295103
==============================================================================
--- tags/1.4.38-rc1/.version (added)
+++ tags/1.4.38-rc1/.version Mon Nov 15 13:22:06 2010
@@ -1,0 +1,1 @@
+1.4.38-rc1

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

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

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

Added: tags/1.4.38-rc1/ChangeLog
URL: http://svnview.digium.com/svn/asterisk/tags/1.4.38-rc1/ChangeLog?view=auto&rev=295103
==============================================================================
--- tags/1.4.38-rc1/ChangeLog (added)
+++ tags/1.4.38-rc1/ChangeLog Mon Nov 15 13:22:06 2010
@@ -1,0 +1,30587 @@
+2010-11-15  Leif Madsen <lmadsen at digium.com>
+
+	* Asterisk 1.4.38-rc1 Released.
+
+2010-11-15 18:05 +0000 [r295026-295031]  Tilghman Lesher <tlesher at digium.com>
+
+	* tests/test_expr.c: Err, oops. Made it const to verify that it
+	  wasn't altered, but forgot to revert before commit.
+
+	* tests/test_expr.c (added): Create test verifying results of
+	  expression parser
+
+2010-11-12 20:49 +0000 [r294903]  Jeff Peeler <jpeeler at digium.com>
+
+	* apps/app_voicemail.c: Fix regression causing abort in voicemail
+	  after opening a mailbox with no mesgs. In order to be more safe,
+	  some error handling code was changed to respect more error
+	  conditions including the potential memory allocation failure for
+	  deleted and heard message tracking introduced in 293004. However,
+	  last_message_index returns -1 for zero messages (perhaps as
+	  expected) and was triggering the stricter error checking. Because
+	  last_message_index is only called directly in one place, just
+	  return 0 from open_mailbox (for file based storage) when no
+	  messages are detected unless a real error has occurred. (closes
+	  issue #18240) Reported by: leobrown Patches:
+	  bug18240.1-6-2.diff.txt uploaded by alecdavis (license 585)
+	  Tested by: pabelanger
+
+2010-11-12 02:41 +0000 [r294821]  Richard Mudgett <rmudgett at digium.com>
+
+	* channels/chan_dahdi.c: Asterisk is getting a "No D-channels
+	  available!" warning message every 4 seconds. Asterisk is just
+	  whining too much with this message: "No D-channels available!
+	  Using Primary channel XXX as D-channel anyway!". Filtered the
+	  message so it only comes out once if there is no D channel
+	  available without an intervening D channel available period.
+	  (closes issue #17270) Reported by: jmls
+
+2010-11-11 22:11 +0000 [r294641-294739]  Jeff Peeler <jpeeler at digium.com>
+
+	* main/pbx.c: I didn't mean to merge this, sorry
+
+	* channels/chan_sip.c: Fix problem with qualify option packets for
+	  realtime peers never stopping. The option packets not only never
+	  stopped, but if a realtime peer was not in the peer list multiple
+	  options dialogs could accumulate over time. This scenario has the
+	  potential to progress to the point of saturating a link just from
+	  options packets. The fix was to ensure that the poke scheduler
+	  checks to see if a peer is in the peer list before continuing to
+	  poke. The reason a peer must be in the peer list to be able to
+	  properly manage an options dialog is because otherwise the call
+	  pointer is lost when the peer is regenerated from the database,
+	  which is how existing qualify dialogs are detected. (closes issue
+	  #16382) Reported by: lftsy Patches: bug16382-3.patch uploaded by
+	  jpeeler (license 325) Tested by: zerohalo
+
+	* main/pbx.c: One small addition to 294384 found while very
+	  carefully merging to 1.6.
+
+2010-11-09 17:37 +0000 [r294384]  Jeff Peeler <jpeeler at digium.com>
+
+	* main/asterisk.c, include/asterisk.h, main/pbx.c: Fix a deadlock
+	  in device state change processing. Copied from some notes from
+	  the original author (Russell): Deadlock scenario: Thread 1:
+	  device state change thread Holds - rdlock on contexts Holds -
+	  hints lock Waiting on channels container lock Thread 2: SIP
+	  monitor thread Holds the "iflock" Holds a sip_pvt lock Holds
+	  channel container lock Waiting for a channel lock Thread 3: A
+	  channel thread (chan_local in this case) Holds 2 channel locks
+	  acquired within app_dial Holds a 3rd channel lock it got inside
+	  of chan_local Holds a local_pvt lock Waiting on a rdlock of the
+	  contexts lock A bunch of other threads waiting on a wrlock of the
+	  contexts lock To address this deadlock, some locking order rules
+	  must be put in place and enforced. Existing relevant rules: 1)
+	  channel lock before a pvt lock 2) contexts lock before hints lock
+	  3) channels container before a channel What's missing is some
+	  enforcement of the order when you involve more than any two. To
+	  fix this problem, I put in some code that ensures that (at least
+	  in the code paths involved in this bug) the locks in (3) come
+	  before the locks in (2). To change the operation of thread 1 to
+	  comply, I converted the storage of hints to an astobj2 container.
+	  This allows processing of hints without holding the hints
+	  container lock. So, in the code path that led to thread 1's
+	  state, it no longer holds either the contexts or hints lock while
+	  it attempts to lock the channels container. (closes issue #18165)
+	  Reported by: antonio ABE-2583
+
+2010-11-08 18:59 +0000 [r294163]  Matthew Nicholson <mnicholson at digium.com>
+
+	* channels/chan_sip.c: Modify our handling of 491 responses to drop
+	  any pending reinvite retry scheduler entries if we get a new 491.
+	  This prevents a scheduler entry from leaking if we receive a 491
+	  response when one is pending. If a scheduler entry leaks, the pvt
+	  it is associated my get destroyed before the scheduler entry
+	  fires, and then memory corruption and crashes can occur when the
+	  scheduled reinvite attempts to access and modify the memory of
+	  the destroyed pvt. ABE-2543
+
+2010-11-05 00:02 +0000 [r293968]  Shaun Ruffell <sruffell at digium.com>
+
+	* codecs/codec_dahdi.c: codecs/codec_dahdi: Prevent "choppy" audio
+	  when receiving unexpected frame sizes. dahdi-linux 2.4.0
+	  (specifically commit 9034) added the capability for the wctc4xxp
+	  to return more than a single packet of data in response to a
+	  read. However, when decoding packets, codec_dahdi was still
+	  assuming that the default number of samples was in each read. In
+	  other words, each packet your provider sent you, regardless of
+	  size, would result in 20 ms of decoded data (30 ms if decoding
+	  G723). If your provider was sending 60 ms packets then
+	  codec_dahdi would end up stripping 40 ms of data from each
+	  transcoded frame resulting in "choppy" audio. This would only
+	  affect systems where G729 packets are arriving in sizes greater
+	  than 20ms or G723 packets arriving in sizes greater than 30ms.
+	  DAHDI-744.
+
+2010-11-04 21:28 +0000 [r293922]  David Vossel <dvossel at digium.com>
+
+	* res/res_features.c: Fixes ringback tone on feature semi-attended
+	  transfer ABE-2168
+
+2010-11-03 18:23 +0000 [r293805]  Richard Mudgett <rmudgett at digium.com>
+
+	* channels/chan_dahdi.c: Party A in an analog 3-way call would
+	  continue to hear ringback after party C answers. All parties are
+	  analog FXS ports. 1) A calls B. 2) A flash hooks to call C. 3) A
+	  flash hooks to bring C into 3-way call before C answers. (A and B
+	  hear ringback) 4) C answers 5) A continues to hear ringback
+	  during the 3-way call. (All parties can hear each other.) * Fixed
+	  use of wrong variable in dahdi_bridge() that stopped ringback on
+	  the wrong subchannel. * Made several debug messages have more
+	  information. A similar issue happens if B and C are SIP channels.
+	  B continues to hear ringback. For some reason this only affects
+	  v1.8 and trunk. * Don't start ringback on the real and 3-way
+	  subchannels when creating the 3-way conference. Removing this
+	  code is benign on v1.6.2 and earlier.
+
+2010-11-02 23:02 +0000 [r293722]  Jeff Peeler <jpeeler at digium.com>
+
+	* channels/chan_sip.c: Add enabled/disabled information for
+	  rtautoclear sip show settings output. When setting to zero/"no",
+	  the numeric default was shown making it not obvious the disabled
+	  setting was respected. (closes issue #18123) Reported by:
+	  zerohalo
+
+2010-11-02 21:24 +0000 [r293639]  Richard Mudgett <rmudgett at digium.com>
+
+	* channels/chan_dahdi.c: Make warning message have more useful
+	  information in it. Change "Unable to get index, and nullok is not
+	  asserted" to "Unable to get index for '<channel-name>' on channel
+	  <number> (<function>(), line <number>)".
+
+2010-10-30 01:45 +0000 [r293339-293416]  Richard Mudgett <rmudgett at digium.com>
+
+	* channels/chan_dahdi.c: Remove some more code that serves no
+	  purpose.
+
+	* channels/chan_dahdi.c: Remove some code that serves no purpose.
+
+2010-10-28 19:44 +0000 [r293194]  Tilghman Lesher <tlesher at digium.com>
+
+	* main/ast_expr2.c, main/ast_expr2.h, main/ast_expr2.y: "!00"
+	  evaluated as false, which is incorrect. Fixing. Reported (though
+	  the reporter did not understand he was reporting a bug) on the
+	  asterisk-users list:
+	  http://lists.digium.com/pipermail/asterisk-users/2010-October/255505.html
+
+2010-10-25 22:55 +0000 [r293004]  Jeff Peeler <jpeeler at digium.com>
+
+	* apps/app_voicemail.c: Fix inprocess_container in voicemail to
+	  correctly restrict max messages. The comparison function logic
+	  was off, so the number of sessions for a given mailbox were not
+	  being incremented properly. This problem caused the maximum
+	  number of messages per folder to not be respected when
+	  simultaneously leaving multiple voicemails just below the
+	  threshold. These problems should be fixed by the above, but just
+	  in case: Fixed resequence_mailbox to rely on the actual number of
+	  detected number of files in a directory rather than just assuming
+	  only 10 messages more than the maximum had been left. Also if
+	  more messages than the maximum are deleted they are actually
+	  removed now. The second purpose of this commit should have been
+	  separated out probably, but is related to the above. Again, if
+	  the number of messages in a given voicemail folder exceeds the
+	  maximum set limit make sure to allocate enough space for the
+	  deleted and heard index tracking array. A few random fixes: There
+	  was a forgotten decrement of the inprocess count in
+	  imap_store_file. When using IMAP storage, do not look in the
+	  directory where file based storage messages may still reside and
+	  influence the message count. Ensure to use only the first format
+	  in sendmail. ABE-2516
+
+2010-10-25 19:05 +0000 [r292866]  David Vossel <dvossel at digium.com>
+
+	* channels/chan_local.c: This patch turns chan_local pvts into
+	  astobj2 objects. chan_local does some dangerous things involving
+	  deadlock avoidance. tech_pvt functions like hangup and
+	  queue_frame are provided with a locked channel upon entry. Those
+	  functions are completely safe as long as you don't attempt to
+	  give up that channel lock, but that is impossible to guarantee
+	  due to the required deadlock avoidance necessary to lock both the
+	  tech_pvt and both channels involved. In the past, we have tried
+	  to account for this by doing things like setting a "glare" flag
+	  that indicates what function should destroy the pvt. This was
+	  used in local_hangup and local_queue_frame to decided who should
+	  destroy the pvt if they collided in separate threads. I have
+	  removed the need to do this by converting all chan_local
+	  tech_pvts to astobj2. This means we can ref a pvt before deadlock
+	  avoidance and not have to worry about that pvt possibly getting
+	  destroyed under us. It also cleans up where we destroy the
+	  tech_pvt. The only unlink from the tech_pvt container occurs in
+	  local_hangup now, which is where it should occur. Since there
+	  still may be thread collisions on some functions like
+	  local_hangup after deadlock avoidance, I have added some checks
+	  to detect those collisions and exit appropriately. I think this
+	  patch is going to solve quite a bit of weirdness we have had with
+	  local channels in the past.
+
+2010-10-21 00:00 +0000 [r292411]  Paul Belanger <paul.belanger at polybeacon.com>
+
+	* apps/app_dial.c: Record priv-recordintro as sln, not gsm This
+	  removes the gsm->sln step when transcoding priv-recordintro.
+	  (closes issue #18176) Reported by: pabelanger Patches:
+	  chan_sip.diff uploaded by pabelanger (license 224)
+
+2010-10-18 21:50 +0000 [r292223]  Jeff Peeler <jpeeler at digium.com>
+
+	* apps/app_voicemail.c: Fix improper operator key acceptance and
+	  clean up temp recording files. This is a fix for when pressing
+	  the operator key after recording an unavailable, busy, name, or
+	  temporary message in mailbox options. The operator key should not
+	  be accepted here, but should be allowed during the message
+	  recording. If the operator key is pressed during ensure the file
+	  is saved or deleted as apporopriate. Also, ensure removal of
+	  temporary recorded files after an early hang up or when message
+	  acceptance confirmation times out. ABE-2518
+
+2010-10-18 21:47 +0000 [r292222]  Leif Madsen <lmadsen at digium.com>
+
+	* sounds/sounds.xml, sounds/Makefile: Add support for the new
+	  English (Australian Accent) sound files. (closes issue #17426)
+	  Reported by: camsown Patches: core-sounds-en_AU.txt uploaded by
+	  camsown (license 1050) add_AU_sounds.patch.txt uploaded by
+	  lmadsen (license 10) Tested by: camsown, lmadsen, jtodd, qwell
+
+2010-10-15 19:30 +0000 [r291938]  Paul Belanger <paul.belanger at polybeacon.com>
+
+	* configs/gtalk.conf.sample: Clean up formatting.
+
+2010-10-15 02:13 +0000 [r291862]  Terry Wilson <twilson at digium.com>
+
+	* channels/chan_oss.c: Don't access o->next after freeing o on
+	  unload
+
+2010-10-13 23:29 +0000 [r291643]  Richard Mudgett <rmudgett at digium.com>
+
+	* channels/chan_dahdi.c: Deadlock between dahdi_exception() and
+	  dahdi_indicate(). There is a deadlock between dahdi_exception()
+	  and dahdi_indicate() for analog ports. The call-waiting and
+	  three-way-calling feature can experience deadlock if these
+	  features are trying to do something and an event from the bridged
+	  channel happens at the same time. Deadlock avoidance code added
+	  to obtain necessary channel locks before attemting an operation
+	  with call-waiting and three-way-calling. (closes issue #16847)
+	  Reported by: shin-shoryuken Patches: issue_16847_v1.4.patch
+	  uploaded by rmudgett (license 664) issue_16847_v1.6.2.patch
+	  uploaded by rmudgett (license 664) issue_16847_v1.8_v2.patch
+	  uploaded by rmudgett (license 664) Tested by: alecdavis, rmudgett
+	  Review: https://reviewboard.asterisk.org/r/971/
+
+2010-10-13 22:45 +0000 [r291577]  Terry Wilson <twilson at digium.com>
+
+	* main/channel.c: Don't ignore frames that have been queued when
+	  softhangup'd When an outgoing call is answered and hung up by the
+	  far end *very* quickly, we may not read any frames and therefor
+	  end up with a call that displays the wrong
+	  disposition/DIALSTATUS. The reason is because ast_queue_hangup()
+	  immediately sets the _softhangup flag on the channel and then
+	  queues the HANGUP control frame, but __ast_read refuses to read
+	  any frames if ast_check_hangup() indicates that a hangup request
+	  has been made (which it will if _softhangup is set). So, we end
+	  up losing control frames. This change makes __ast_read continue
+	  to read frames even if a soft hangup has been requested. It
+	  queues a hangup frame to make sure that __ast_read() will still
+	  eventually return NULL. Much thanks to David Vossel for all of
+	  the reviews, discussion, and help! (closes issue #16946) Reported
+	  by: davidw Review: https://reviewboard.asterisk.org/r/740/
+
+2010-10-13 15:23 +0000 [r291392]  Russell Bryant <russell at digium.com>
+
+	* channels/chan_sip.c: Lock pvt so pvt->owner can't disappear when
+	  queueing up a frame. This fixes a crash due to a hangup race
+	  condition. ABE-2601
+
+2010-10-12 16:55 +0000 [r291263]  Tilghman Lesher <tlesher at digium.com>
+
+	* main/acl.c: Oops, incorrect range (although unallocated at ARIN)
+
+2010-10-11 18:29 +0000 [r291109]  Richard Mudgett <rmudgett at digium.com>
+
+	* channels/chan_sip.c: Add missing unlock to an exception condition
+	  in reload_config().
+
+2010-10-08 02:35 +0000 [r290862]  Jeff Peeler <jpeeler at digium.com>
+
+	* main/asterisk.c: Ensure editline cleanup occurs when Ctrl-C is
+	  pressed at control console. A recent change was made to avoid a
+	  race condition on shutdown which only called the end functions
+	  from the console thread. However, when pressing Ctrl-C the quit
+	  handler is called from the signal handler thread. (closes issue
+	  #17698) Reported by: jmls
+
+2010-10-07 20:56 +0000 [r290750]  Jason Parker <jparker at digium.com>
+
+	* autoconf/ast_ext_lib.m4, configure,
+	  include/asterisk/autoconfig.h.in: Allow PRI to build properly
+	  when using --with-pri. Use the directories found for the parent
+	  when using lib dependencies. (closes issue #17314) Reported by:
+	  tzafrir Patches: 17314-withdeps.diff uploaded by qwell (license
+	  4)
+
+2010-10-05 20:20 +0000 [r290392]  Tilghman Lesher <tlesher at digium.com>
+
+	* res/res_jabber.c: Fix a crash by ensuring that we don't alter
+	  memory after it's freed. (closes issue #17387) Reported by: jmls
+	  Patches: 20100726__issue17387.diff.txt uploaded by tilghman
+	  (license 14) Tested by: jmls
+
+2010-10-05 17:41 +0000 [r290323]  Richard Mudgett <rmudgett at digium.com>
+
+	* contrib/valgrind.supp: Merged revision 258974 from
+	  https://origsvn.digium.com/svn/asterisk/trunk .......... r258974
+	  | diruggles | 2010-04-26 14:05:47 -0500 (Mon, 26 Apr 2010) | 4
+	  lines Line 24 missed in compatibility fix in revision 233577
+	  added a "fun:" prefix line 24 ..........
+
+2010-10-04 20:15 +0000 [r290100-290177]  Tilghman Lesher <tlesher at digium.com>
+
+	* configure, configure.ac: Fixing Mac OS X auto-builder.
+
+	* configure, configure.ac: Automatically re-run configure test for
+	  menuselect, when the relevant makeopts settings change.
+
+2010-10-02 08:50 +0000 [r289949]  Olle Johansson <oej at edvina.net>
+
+	* main/manager.c: Add documentation for undocumented option to AMI
+	  action originate
+
+2010-10-02 04:42 +0000 [r289873]  Tilghman Lesher <tlesher at digium.com>
+
+	* apps/app_voicemail.c: When forwarding a message, a prepend means
+	  that the filesystem will always have a better copy. (closes issue
+	  #17803) Reported by: dpetersen Patches:
+	  20100923__issue17803.diff.txt uploaded by tilghman (license 14)
+	  Tested by: dpetersen
+
+2010-10-01 22:58 +0000 [r289797]  Jeff Peeler <jpeeler at digium.com>
+
+	* main/rtp.c, channels/chan_sip.c, include/asterisk/rtp.h: Change
+	  RFC2833 DTMF event duration on end to report actual elapsed time.
+	  The scenario here is with a non P2P early media session. The
+	  reported time length of DTMF presses are coming up short when
+	  sending to the remote side. Currently the event duration is a
+	  running total that is incremented when sending continuation
+	  packets. These continuation packets are only triggered upon
+	  incoming media from the remote side, which means that the running
+	  total probably is not going to end up matching the actual length
+	  of time Asterisk received DTMF. This patch changes the end event
+	  duration to be lengthened if it is detected that the end event is
+	  going to come up short. Review:
+	  https://reviewboard.asterisk.org/r/957/ ABE-2476
+
+2010-10-01 17:03 +0000 [r289703]  Paul Belanger <paul.belanger at polybeacon.com>
+
+	* configs/jabber.conf.sample, res/res_jabber.c: Disable debugging
+	  by default and reformat .config file. Review:
+	  https://reviewboard.asterisk.org/r/929/
+
+2010-10-01 16:20 +0000 [r289699]  Jeff Peeler <jpeeler at digium.com>
+
+	* channels/chan_sip.c: Ensure user portion of SIP URI matches
+	  dialplan when using encoded characters. This commit takes a
+	  simliar approach to 288112 and checks the dialplan to determine
+	  the proper action for an incoming contact header as to whether or
+	  not it should be decoded or not. sip_new was blindly always
+	  decoding the extension, which also caused the outgoing contact
+	  header to be incorrect as well as failing to match the encoded
+	  extension in the dialplan. (closes issue #17892) Reported by:
+	  wdoekes Patches: bug17892-1.patch uploaded by jpeeler (license
+	  325) Tested by: wdoekes
+
+2010-10-01 09:42 +0000 [r289622]  schmitds <schmitds at localhost>:
+
+	* channels/chan_sip.c: don't iterate through all dialogs to find
+	  and delete old subscribes On every incoming subscribe there is a
+	  iteration through all dialogs to find old subscribes and delete
+	  them. This is slow and not RFC conform. This was only needed in
+	  1.2 cause a subscribe was not deleted when a dialog was
+	  destroyed, after 1.4 a subscribe get removed when its dialog is
+	  destroyed. (closes issue #17950) Reported by: schmidts Tested by:
+	  schmidts Review: https://reviewboard.asterisk.org/r/901/
+
+2010-09-30 17:08 +0000 [r289500]  Brett Bryant <bbryant at digium.com>
+
+	* res/res_agi.c: res_agi.c:handle_getvariablefull() could
+	  recursively lock a channel and not release it if an argument is
+	  the current channel's name. (closes issue #17970) Reported by:
+	  mdu113 Patches: res_agi.c.diff3 uploaded by mdu113 (license 582)
+	  Tested by: mdu113 Review: https://reviewboard.asterisk.org/r/947/
+
+2010-09-30 15:34 +0000 [r289424]  Russell Bryant <russell at digium.com>
+
+	* apps/app_sms.c: Fix a crash in app_sms. Since the data being
+	  passed to the generator callback is on the stack of the SMS()
+	  application, we must ensure that the generator is stopped before
+	  the application exits. ABE-2587
+
+2010-09-29 20:56 +0000 [r289338]  Jason Parker <jparker at digium.com>
+
+	* main/channel.c, res/res_features.c: Allow a manager originate to
+	  succeed on forwarded devices. The timeout to wait for an answer
+	  was being set to 0 when a device forwarded to another extension.
+	  We don't always need the timeout set like this, so make it an
+	  optional parameter, and don't use it in this case. ABE-2544
+
+2010-09-29 15:03 +0000 [r289177]  Matthew Nicholson <mnicholson at digium.com>
+
+	* main/channel.c: Set the caller id on CDRs when it is set on the
+	  parent channel. (closes issue #17569) Reported by: tbelder
+	  Patches: 17569.diff uploaded by tbelder (license 618) Tested by:
+	  tbelder
+
+2010-09-28 18:10 +0000 [r289094]  Brett Bryant <bbryant at digium.com>
+
+	* main/channel.c: Fixes an issue with the Newchannel AMI event
+	  during the Masquerading process. Fixes an issue with the
+	  Newchannel AMI event during the Masquerading process, where no
+	  Newchannel AMI event was generated for the psuedo channel used
+	  during the masquerading process. (closes issue #17987) Reported
+	  by: RadicAlish Patches: newchannel.patch.txt uploaded by
+	  RadicAlish (license 1122) Tested by: RadicAlish Review:
+	  https://reviewboard.asterisk.org/r/937/
+
+2010-09-24 15:26 +0000 [r288746]  Terry Wilson <twilson at digium.com>
+
+	* channels/chan_local.c: Don't fail a masquerade if it is already
+	  being hung up This avoids noise on some Local channel situations
+	  where we don't use /n. Thanks to Alec Davis for the suggestion.
+
+2010-09-24 03:20 +0000 [r288636]  Tilghman Lesher <tlesher at digium.com>
+
+	* main/asterisk.exports, include/asterisk/compat.h,
+	  main/strcompat.c, include/asterisk/channel.h: Solaris
+	  compatibility fixes
+
+2010-09-22 23:00 +0000 [r288499]  Terry Wilson <twilson at digium.com>
+
+	* channels/chan_local.c: Don't let a Local channel get bridged to
+	  itself If a local channel gets bridged to itself, it becomes
+	  orphaned with no devices left to actually tell it to hang up.
+	  This patch modifies local_fixup() to detect this case and deny
+	  it. Review: https://reviewboard.asterisk.org/r/934
+
+2010-09-22 17:48 +0000 [r288416]  David Vossel <dvossel at digium.com>
+
+	* channels/chan_sip.c: RFC3261 section 12.2 explicitly says out of
+	  order requests are responded with a 500 Server Internal Error
+	  response. ABE-2458
+
+2010-09-22 17:39 +0000 [r288412]  Matthew Nicholson <mnicholson at digium.com>
+
+	* channels/chan_sip.c: Handle media specific T.38 SDP information
+	  (closes issue #16647) Reported by: kwemheuer
+
+2010-09-22 16:49 +0000 [r288343]  David Vossel <dvossel at digium.com>
+
+	* channels/chan_sip.c: During check_pendings, if the dialog is
+	  terminated with a CANCEL, change the invitestate to INV_CANCEL
+	  like in sip_hangup.
+
+2010-09-22 16:39 +0000 [r288339]  Russell Bryant <russell at digium.com>
+
+	* main/asterisk.c: Fix a 100% CPU consumption problem when setting
+	  console=yes in asterisk.conf. The handling of -c and console=yes
+	  should be the same, but they were not. When you specify -c, it
+	  sets both a flag for console module and for asterisk not to
+	  fork() off into the background. The handling of console=yes only
+	  set console mode, so you would end up with a background process()
+	  trying to run the Asterisk console and freaking out since it
+	  didn't have anything to read input from. Thanks to beagles for
+	  reporting and helping debug the problem!
+
+2010-09-22 15:04 +0000 [r288265-288266]  Tilghman Lesher <tlesher at digium.com>
+
+	* UPGRADE.txt: Document addition of encoding parameter. (issue
+	  #16940) Reported by: jamicque
+
+	* configs/cdr_pgsql.conf.sample, cdr/cdr_pgsql.c: Allow the
+	  encoding to be set, in case local charset does not agree with
+	  database. (closes issue #16940) Reported by: jamicque Patches:
+	  20100827__issue16940.diff.txt uploaded by tilghman (license 14)
+	  20100921__issue16940__1.6.2.diff.txt uploaded by tilghman
+	  (license 14) Tested by: jamicque
+
+2010-09-21 23:55 +0000 [r288192]  Richard Mudgett <rmudgett at digium.com>
+
+	* channels/chan_iax2.c: In chan_iax2.c:schedule_delivery() calls
+	  ast_bridged_channel() on an unlocked channel. Near the beginning
+	  of schedule_delivery(), ast_bridged_channel() is called on
+	  iaxs[fr->callno]->owner. However, the channel is not locked,
+	  which can result in ast_bridged_channel() crashing should
+	  owner->tech change to a technology that doesn't implement
+	  bridged_channel. I also fixed the other calls to
+	  ast_bridged_channel() in chan_iax2.c since the owner lock was not
+	  held there either. Converted the existing channel deadlock
+	  avoidance to use iax2_lock_owner(). Using the new function
+	  simplified some awkward code. In the process of fixing the
+	  locking on ast_bridged_channel(), I also found a memory leak in
+	  socket_process() for v1.6.2 and v1.8. The local struct variable
+	  ies.vars is not freed on early/abnormal function exits. (closes
+	  issue #17919) Reported by: rain Patches: issue17919_v1.4.patch
+	  uploaded by rmudgett (license 664) issue17919_w_leak_v1.6.2.patch
+	  uploaded by rmudgett (license 664) issue17919_w_leak_v1.8.patch
+	  uploaded by rmudgett (license 664) Review:
+	  https://reviewboard.asterisk.org/r/926/
+
+2010-09-21 22:17 +0000 [r288112-288116]  Tilghman Lesher <tlesher at digium.com>
+
+	* include/asterisk/stringfields.h: Underquoted definition of
+	  stringfield macro.
+
+	* channels/chan_sip.c: Try both the encoded and unencoded
+	  subscription URI for a match in hints. When a phone sends an
+	  encoded URI for a subscription, the URI is not matched with the
+	  actual hint that is in decoded format. For example, if we have an
+	  extension with a hint that is named: "#5601" or "*5601", the
+	  subscription will work fine if the phone subscribes with an
+	  already decoded URI, but when it's decoded like "%255601" or
+	  "%2A5601", Asterisk is unable to match it with the correct hint.
+	  (closes issue #17785) Reported by: ramonpeek Patches:
+	  20100831__issue17785.diff.txt uploaded by tilghman (license 14)
+	  Tested by: ramonpeek
+
+2010-09-21 19:43 +0000 [r288005]  Brett Bryant <bbryant at digium.com>
+
+	* main/channel.c: Add a check to fix a rare segmentation fault
+	  you'd get if ast_frdup couldn't allocate memory on the first
+	  frame being queued in ast_queue_frame. (closes issue #17882)
+	  Reported by: seanbright Tested by: seanbright
+
+2010-09-21 19:07 +0000 [r287933]  Tilghman Lesher <tlesher at digium.com>
+
+	* main/asterisk.c: Less than zero is an error, not any non-zero
+	  value.
+
+2010-09-20 23:57 +0000 [r287758]  Brett Bryant <bbryant at digium.com>
+
+	* apps/app_meetme.c: Fix misvalidation of meetme pins in
+	  conjunction with the 'a' MeetMe flag. When using the 'a' MeetMe
+	  flag and having a user and admin pin setup for your conference,
+	  using the user pin would gain you admin priviledges. Also, when
+	  no user pin was set, an admin pin was, the 'a' MeetMe flag wasn't
+	  used, and the user tried to enter a conference then they were
+	  still prompted for a pin and forced to hit #. (closes issue
+	  #17908) Reported by: kuj Patches: pins_2.patch uploaded by kuj
+	  (license 1111) Tested by: kuj Review: [full review board URL with
+	  trailing slash]
+
+2010-09-20 23:15 +0000 [r287682-287684]  Alec L Davis <sivad.a at paradise.net.nz>
+
+	* main/channel.c: ast_channel_masquerade: remove extra else if
+	  (closes issue #17363,#16057) Reported by:
+	  amorsen;davidw,alecdavis Patches: based on bug16057.diff4.txt
+	  uploaded by alecdavis (license 585) Tested by: ramonpeek, davidw,
+	  alecdavis
+
+	* main/channel.c: ast_channel_masquerade: Avoid recursive
+	  masquerades. Check all 4 combinations of (original/clonechan) *
+	  (masq/masqr). Initially original->masq and clonechan->masqr were
+	  only checked. It's possible with multiple masq's planned - and
+	  not yet executed, that the 'original' chan could already have
+	  another masq'd into it - thus original->masqr would be set, that
+	  masqr would lost. Likewise for the clonechan->masq. (closes issue
+	  #16057;#17363) Reported by: amorsen;davidw,alecdavis Patches:
+	  bug16057.diff4.txt uploaded by alecdavis (license 585) Tested by:
+	  ramonpeek, davidw, alecdavis
+
+2010-11-02  Leif Madsen <lmadsen at digium.com>
+
+	* Asterisk 1.4.37 Released.
+
+2010-09-20  Leif Madsen <lmadsen at digium.com>
+
+	* Asterisk 1.4.37-rc1 Released.
+
+2010-09-20 15:48 +0000 [r287555]  Matthew Nicholson <mnicholson at digium.com>
+
+	* main/pbx.c: Use ast_dynamic_str when processing hint state
+	  changes (related to issue #17928) Reported by: mdu113
+
+2010-09-19 15:56 +0000 [r287469]  Olle Johansson <oej at edvina.net>
+
+	* main/manager.c: Make sure we always free variables properly in
+	  manager originate. (closes issue #17891) reported, solved and
+	  tested by oej Review: https://reviewboard.asterisk.org/r/869/
+
+2010-09-17 21:06 +0000 [r287386]  Tilghman Lesher <tlesher at digium.com>
+
+	* apps/app_queue.c: Blank columns should get set on reload, not
+	  ignored. (closes issue #16893) Reported by: haakon Patches:
+	  20100818__issue16893.diff.txt uploaded by tilghman (license 14)
+
+2010-09-17 13:34 +0000 [r287307]  Matthew Nicholson <mnicholson at digium.com>
+
+	* main/pbx.c: Use ast_strdup() instead of ast_strdupa() while
+	  processing in ast_hint_state_changed(). (related to issue #17928)
+	  Reported by: mdu113
+
+2010-09-16 22:12 +0000 [r287197]  Jason Parker <jparker at digium.com>
+
+	* contrib/init.d/rc.debian.asterisk: Add LSB headers for Debian
+	  init script, since Debian will complain if it isn't there.
+	  Headers were taken from trunk. (closes issue #17958) Reported by:
+	  javyer
+
+2010-09-16 20:04 +0000 [r287114-287118]  Matthew Nicholson <mnicholson at digium.com>
+
+	* main/pbx.c: Don't limit hint processing in
+	  ast_hint_state_changed() to AST_MAX_EXTENSION length strings.
+	  (closes issue #17928) Reported by: mdu113 Patches:
+	  20100831__issue17928.diff.txt uploaded by tilghman (license 14)
+	  Tested by: mdu113
+
+	* main/cdr.c: Don't stop printing cdr variables if we encounter one
+	  with a blank name or value. (closes issue #17900) Reported by:
+	  under Patches: core-show-channel-cdr-fix1.diff uploaded by
+	  mnicholson (license 96) Tested by: mnicholson
+
+2010-09-15 20:20 +0000 [r286941-286956]  Jeff Peeler <jpeeler at digium.com>
+
+	* apps/app_voicemail.c: whitespace fix
+
+	* apps/app_voicemail.c: Ensure mailbox is not filled to capacity
+	  before doing message forwarding. Specifically, before prompting
+	  to record a prepended message the capacity is checked first. If
+	  the mailbox is full the extension will be reprompted. ABE-2517
+
+2010-09-14 19:26 +0000 [r286679-286756]  Matthew Nicholson <mnicholson at digium.com>
+
+	* channels/chan_sip.c: Don't clear the username from a realtime
+	  database when a registration expires. Non-realtime chan_sip does
+	  not clear the username from memory when a registration expiries
+	  so realtime probably shouldn't either. (closes issue #17551)
+	  Reported by: ricardolandim Patches:
+	  reg-expiry-username-1.4-fix1.diff uploaded by mnicholson (license
+	  96) reg-expiry-username-1.6.2-fix1.diff uploaded by mnicholson
+	  (license 96) reg-expiry-username-1.8-fix1.diff uploaded by
+	  mnicholson (license 96) reg-expiry-username-trunk-fix1.diff
+	  uploaded by mnicholson (license 96) Tested by: ricardolandim,
+	  mnicholson
+
+	* main/channel.c: Only drop duplicate answer frames if the channel
+	  is bridged. Back in r3710 ast_read() was modified to drop answer
+	  frames on channels that were in the UP state. This modification
+	  prevented bridges that were up before the answer from being
+	  broken and reestablished by an ANSWER control frame. That change
+	  also prevents pickup of channels called from the ast_dial
+	  framework from working properly. The ast_dial framework expects
+	  to see an ANSWER frame after dialing and the pickup code queues
+	  one but ast_read() drops it. This new change only drops ANSWER
+	  frames when the channel is bridged, allowing the answer queued by
+	  the pickup code to properly pass through ast_read() on to the
+	  ast_dial framework. ABE-2473 (related to issue #2342)
+
+2010-09-13 15:12 +0000 [r286381]  Jason Parker <jparker at digium.com>
+
+	* tests: Add stuff to svn:ignore for tests/ directory. (closes
+	  issue #17983) Reported by: oej
+
+2010-09-11 16:59 +0000 [r286267]  Olle Johansson <oej at edvina.net>
+
+	* main/file.c: Handle error response when we can't make file
+	  compatible Review: https://reviewboard.asterisk.org/r/911/
+
+2010-09-10 22:54 +0000 [r286222]  Terry Wilson <twilson at digium.com>
+
+	* channels/chan_local.c: Return -1 if chan_local doesn't support an
+	  option
+
+2010-09-10 20:35 +0000 [r286114]  Paul Belanger <paul.belanger at polybeacon.com>
+
+	* channels/chan_iax2.c: Load iax.conf before registering any
+	  functions/applications/actions. Review:
+	  https://reviewboard.asterisk.org/r/914/
+
+2010-09-10 20:33 +0000 [r286113]  Richard Mudgett <rmudgett at digium.com>
+
+	* channels/chan_dahdi.c: An outgoing call may not get hung up if a
+	  pre-connect incoming ISDN call is disconnected. If the ISDN link
+	  a pre-connect incoming call is using fails or is reset, the
+	  outgoing leg may not hang up or be delayed in hanging up.
+	  (Causes: PRI_CAUSE_NETWORK_OUT_OF_ORDER,
+	  PRI_CAUSE_DESTINATION_OUT_OF_ORDER, and
+	  PRI_CAUSE_NORMAL_TEMPORARY_FAILURE.) Just hang up the call if the
+	  incoming call leg hangs up before connecting for any reason. It
+	  makes no sense to send a BUSY or CONGESTION control frame to the
+	  outgoing call leg under these circumstances.
+
+2010-09-10 20:03 +0000 [r286070]  David Vossel <dvossel at digium.com>
+
+	* channels/chan_sip.c: Fixes sip extension state update DEADLOCK
+	  PROBLEM: In chan_sip, and all the other channel drivers, it is
+	  common for us to hold the tech_pvt lock while we ask the Asterisk
+	  core about an extension and context. Every time we do this the
+	  locking order becomes, (1. tech_pvt lock ---> 2. global context
+	  lock). In chan_sip when a dialog subscribes to a hint, that
+	  locking order is reversed in the extensionstate callback which
+	  will occur outside of the channel_driver's monitor loop. So, on
+	  an extension state update we have (1. global context lock ---->
+	  2. tech_pvt lock). Typically when we have to do a reversed
+	  locking order like this we'd just do some sort of deadlock
+	  avoidance to fix the problem... That will not work here. There
+	  are more locks involved here than just the context and tech_pvt.
+	  Those are the two that are colliding, but it is impossible to
+	  give up the context lock because the global hints list lock MUST
+	  be held as well and we can not give that lock up during the
+	  extensionstate callback traversal... The locking order for the
+	  context and hints are (1. global context lock ----> 2. hints list
+	  lock). Deadlock avoidance is not an option here. SOLUTION: The
+	  solution this patch implements is to queue the extension state
+	  updates into a list and send the NOTIFY messages out during the
+	  do_monitor pvt traversal. This clears out the problem of having
+	  to hold the context lock before the tech_pvt lock entirely.
+	  (closes issue #17888) Reported by: zerohalo
+
+2010-09-10 19:25 +0000 [r286059]  Terry Wilson <twilson at digium.com>
+
+	* channels/chan_local.c, funcs/func_channel.c,
+	  include/asterisk/channel.h, include/asterisk/pbx.h,
+	  include/asterisk/frame.h: Inherit CHANNEL() writes to both sides
+	  of a Local channel Having Local (/n) channels as queue members
+	  and setting the language in the extension with
+	  Set(CHANNEL(language)=fr) sets the language on the Local/...,2
+	  channel. Hold time report playbacks happen on the Local/...,1
+	  channel and therefor do not play in the specified language. This
+	  patch modifies func_channel_write to call the setoption callback
+	  and pass the CHANNEL() write info to the callback. chan_local
+	  uses this information to look up the other side of the channel
+	  and apply the same changes to it. (closes issue #17673) Reported
+	  by: Guggemand Review: https://reviewboard.asterisk.org/r/903/
+
+2010-09-10 18:22 +0000 [r285889-286023]  Tilghman Lesher <tlesher at digium.com>
+
+	* main/test.c: Missing newline
+
+	* include/asterisk/select.h, configure,
+	  include/asterisk/autoconfig.h.in, configure.ac,
+	  tests/test_poll.c: Fix Mac OS X build. This also fixes a rather
+	  grievous calculation error for the offset of ast_fdset, which was
+	  masked on Linux and FreeBSD, because these platforms check the

[... 29842 lines stripped ...]



More information about the asterisk-commits mailing list