[asterisk-commits] lmadsen: tag 1.4.26-rc6 r206223 - /tags/1.4.26-rc6/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Jul 13 13:34:54 CDT 2009


Author: lmadsen
Date: Mon Jul 13 13:34:50 2009
New Revision: 206223

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

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

Added: tags/1.4.26-rc6/.lastclean
URL: http://svn.asterisk.org/svn-view/asterisk/tags/1.4.26-rc6/.lastclean?view=auto&rev=206223
==============================================================================
--- tags/1.4.26-rc6/.lastclean (added)
+++ tags/1.4.26-rc6/.lastclean Mon Jul 13 13:34:50 2009
@@ -1,0 +1,1 @@
+33

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

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

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

Added: tags/1.4.26-rc6/.version
URL: http://svn.asterisk.org/svn-view/asterisk/tags/1.4.26-rc6/.version?view=auto&rev=206223
==============================================================================
--- tags/1.4.26-rc6/.version (added)
+++ tags/1.4.26-rc6/.version Mon Jul 13 13:34:50 2009
@@ -1,0 +1,1 @@
+1.4.26-rc6

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

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

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

Added: tags/1.4.26-rc6/ChangeLog
URL: http://svn.asterisk.org/svn-view/asterisk/tags/1.4.26-rc6/ChangeLog?view=auto&rev=206223
==============================================================================
--- tags/1.4.26-rc6/ChangeLog (added)
+++ tags/1.4.26-rc6/ChangeLog Mon Jul 13 13:34:50 2009
@@ -1,0 +1,25253 @@
+2009-07-13  Leif Madsen <lmadsen at digium.com>
+
+	* Release Asterisk 1.4.26-rc6
+
+2009-07-13 15:12 +0000 [r206126]  Russell Bryant <russell at digium.com>
+
+	* main/pbx.c: Print CID match in "show dialplan". (closes issue
+	  #14702) Reported by: klaus3000 Patches:
+	  patch_asterisk_1.4.23_CID_matching.txt uploaded by klaus3000
+	  (license 65)
+
+2009-07-10 17:39 +0000 [r205877]  Mark Michelson <mmichelson at digium.com>
+
+	* channels/chan_sip.c: Properly ACK 487 responses to canceled
+	  INVITEs. From the review board request: The fix from review 298
+	  has exposed a new bug in chan_sip. When we hang up an outgoing
+	  call, we first will dump all the outstanding packets on the
+	  sip_pvt using __sip_pretend_ack. Then, if we can, we send a
+	  CANCEL. The problem with this is that since destroyed all the
+	  outstanding packets on the dialog, we cannot match the incoming
+	  487 response to our INVITE. Because we cannot match the response,
+	  we do not send an ACK. To correct this, instead of using
+	  __sip_pretend_ack, I have changed the code to loop through the
+	  list of packets and call __sip_semi_ack on each one instead. This
+	  causes us to stop retransmitting the requests, but we still have
+	  them around in case we get responses for them. When discussing
+	  this earlier today with Josh Colp, we both agreed that in the
+	  majority of cases, this would be enough of a fix. However, we
+	  also agreed that we should have a safety net in place in case we
+	  never receive a response to our initial INVITE. To handle this, I
+	  have modified __sip_autodestruct to behave similar to the way it
+	  does in Asterisk 1.4. If there are outstanding packets on the
+	  sip_pvt, the needdestroy flag is not set, and the last request on
+	  the dialog was either a CANCEL or BYE, then we set the
+	  needdestroy flag and reschedule destruction for 10 seconds in the
+	  future. If, though, the needdestroy flag is set, then we use
+	  __sip_pretend_ack to kill the remaining outstanding packets so
+	  that the monitor thread can destroy the sip_pvt. I ran two
+	  separate tests. First, I placed a call from my Aastra phone to my
+	  Polycom phone. I hung up the Aastra before the Polycom answered.
+	  I verified through sip debug output that Asterisk properly ACKed
+	  the 487 received from the Polycom. For my second test, I set up a
+	  SIPp UAS scenario so that it would send a 200 OK in response to a
+	  CANCEL but would not send a 487 for the original INVITE. I
+	  verified that after about 40 seconds, Asterisk properly cleans up
+	  the outgoing sip_pvt for the call. Review:
+	  https://reviewboard.asterisk.org/r/308
+
+2009-07-10 16:23 +0000 [r205804]  David Vossel <dvossel at digium.com>
+
+	* channels/chan_sip.c: SIP registration auth loop caused by stale
+	  nonce If an endpoint sends two registration requests in a very
+	  short period of time with the same nonce, both receive 401
+	  responses from Asterisk, each with a different nonce (the second
+	  401 containing the current nonce and the first one being stale).
+	  If the endpoint responds to the first 401, it does not match the
+	  current nonce so Asterisk sends a third 401 with a newly
+	  generated nonce (which updates the current nonce)... Now if the
+	  endpoint responds to the second 401, it does not match the
+	  current nonce either and Asterisk sends a fourth 401 with a newly
+	  generated nonce... This loop goes on and on. There appears to be
+	  a simple fix for this. If the nonce from the request does not
+	  match our nonce, but is a good response to a previous nonce,
+	  instead of sending a 401 with a newly generated nonce, use the
+	  current one instead. This breaks the loop as the nonce is not
+	  updated until a response is received. Additional logic has been
+	  added to make sure no nonce can be responded to twice though.
+	  (closes issue #15102) Reported by: Jamuel Patches:
+	  patch-bug_0015102 uploaded by Jamuel (license 809) nonce_sip.diff
+	  uploaded by dvossel (license 671) Tested by: Jamuel Review:
+	  https://reviewboard.asterisk.org/r/289/
+
+2009-07-10 15:51 +0000 [r205775]  Mark Michelson <mmichelson at digium.com>
+
+	* channels/chan_sip.c: Ensure that outbound NOTIFY requests are
+	  properly routed through stateful proxies. With this change, we
+	  make note of Record-Route headers present in any SUBSCRIBE
+	  request that we receive so that our outbound NOTIFY requests will
+	  have the proper Route headers in them. (closes issue #14725)
+	  Reported by: ibc
+
+2009-07-09 23:37 +0000 [r205728]  Richard Mudgett <rmudgett at digium.com>
+
+	* channels/chan_dahdi.c: No audio on calls from Asterisk to various
+	  ISDN devices until DTMF sent by caller. Add missing clearing of
+	  the dialing flag when the ISDN call is CONNECTED. (i.e. When
+	  libpri generates the event PRI_EVENT_ANSWER.) (closes issue
+	  #15420) Reported by: scottbmilne Patches:
+	  bug15420-1.4.25.1-diff2.txt uploaded by alecdavis (license 585)
+	  Tested by: scottbmilne, alecdavis (closes issue #15416) Reported
+	  by: avinoash (closes issue #15389) Reported by: alecdavis This
+	  patch should also fix the following issue: (issue #15205)
+	  Reported by: vinsik
+
+2009-07-09 16:18 +0000 [r205409-205599]  David Vossel <dvossel at digium.com>
+
+	* include/asterisk/time.h: Changing ast_samp2tv to not use floating
+	  point.
+
+	* main/rtp.c, channels/chan_iax2.c, include/asterisk/frame.h: Fixes
+	  8khz assumptions Many calculations assume 8khz is the codec rate.
+	  This is not always the case. This patch only addresses chan_iax.c
+	  and res_rtp_asterisk.c, but I am sure there are other areas that
+	  make this assumption as well. Review:
+	  https://reviewboard.asterisk.org/r/306/
+
+	* include/asterisk/devicestate.h, main/pbx.c, main/devicestate.c,
+	  include/asterisk/pbx.h: moving ast_devstate_to_extenstate to
+	  pbx.c from devicestate.c ast_devstate_to_extenstate belongs in
+	  pbx.c. This change fixes a compile time error with chan_vpb as
+	  well.
+
+2009-07-08 19:26 +0000 [r205349]  Mark Michelson <mmichelson at digium.com>
+
+	* apps/app_queue.c: Prevent phantom calls to queue members. If a
+	  caller were to hang up while a periodic announcement or position
+	  were being said, the return value for those functions would
+	  incorrectly indicate that the caller was still in the queue. With
+	  these changes, the problem does not occur. (closes issue #14631)
+	  Reported by: latinsud Patches: queue_announce_ghost_call2.diff
+	  uploaded by latinsud (license 745) (with small modification from
+	  me)
+
+2009-07-08 18:19 +0000 [r205288]  Jason Parker <jparker at digium.com>
+
+	* config.guess, config.sub: Update config.guess and config.sub from
+	  the savannah.gnu.org git repo.
+
+2009-07-08 16:53 +0000 [r205215]  David Vossel <dvossel at digium.com>
+
+	* include/asterisk/time.h: ast_samp2tv needs floating point for
+	  16khz audio In ast_samp2tv(), (1000000 / _rate) = 62.5 when _rate
+	  is 16000. The .5 is currently stripped off because we don't
+	  calculate using floating points. This causes madness with 16khz
+	  audio. (issue ABE-1899) Review:
+	  https://reviewboard.asterisk.org/r/305/
+
+2009-07-08 16:26 +0000 [r205188]  Tilghman Lesher <tlesher at digium.com>
+
+	* main/say.c: Add redirection warnings for the invalid language
+	  codes previously removed.
+
+2009-07-08 15:54 +0000 [r205149]  Russell Bryant <russell at digium.com>
+
+	* res/res_crypto.c: Make OpenSSL usage thread-safe. OpenSSL is not
+	  thread-safe by default. However, making it thread safe is very
+	  easy. We just have to provide a couple of callbacks. One callback
+	  returns a thread ID. The other handles locking. For more
+	  information, start with the "Is OpenSSL thread-safe?" question on
+	  the FAQ page of openssl.org.
+
+2009-07-02 21:59 +0000 [r204834]  Richard Mudgett <rmudgett at digium.com>
+
+	* channels/chan_misdn.c: Removed confusing warning message "Got
+	  Busy in Connected State" If an incoming mISDN call is answered
+	  with the Answer application and a subsequent Dial gets a busy
+	  endpoint then it is valid for that already connected channel to
+	  get the busy indication. Asterisk will play the busy tones until
+	  the dialplan plays something else or hangs up the call. (closes
+	  issue #11974) Reported by: fvdb
+
+2009-07-02 18:15 +0000 [r204755]  David Vossel <dvossel at digium.com>
+
+	* include/asterisk/devicestate.h, main/pbx.c, main/devicestate.c,
+	  include/asterisk/pbx.h: moving device state functions from pbx.h
+	  to devicestate.h to sync with other branches
+
+2009-07-02  Leif Madsen <lmadsen at digium.com>
+
+	* Release Asterisk 1.4.26-rc5
+
+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-24  Leif Madsen <lmadsen at digium.com>
+
+	* Release Asterisk 1.4.26-rc4 
+
+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  Leif Madsen <lmadsen at digium.com>
+
+	* Release Asterisk 1.4.26-rc3
+
+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.bright at gmail.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.bright at gmail.com>
+
+	* include/asterisk/utils.h: __WORDSIZE is not available on all
+	  platforms, so use sizeof(void *) instead.
+
+2009-06-09  Leif Madsen <lmadsen at digium.com>
+
+	* Release Asterisk 1.4.26-rc2
+
+2009-06-08 19:28 +0000 [r199626-199628]  Sean Bright <sean.bright at gmail.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.bright at gmail.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.bright at gmail.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.bright at gmail.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.bright at gmail.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  Leif Madsen <lmadsen at digium.com>
+
+	* Release Asterisk 1.4.26-rc1
+
+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

[... 24505 lines stripped ...]



More information about the asterisk-commits mailing list