Commit Graph

1941 Commits

Author SHA1 Message Date
Kevin P. Fleming
98ecc431c9 Merged revisions 231692 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r231692 | kpfleming | 2009-11-30 15:47:42 -0600 (Mon, 30 Nov 2009) | 22 lines
  
  Another round of UDPTL stack fixes/improvements:
  
  1) Allow users of UDPTL stack to associate a character-string tag with a UDPTL
     session, so that log/error/debug messages generated by the UDPTL stack can
     be 'connected' to the endpoint that caused them to be generated.
  
  2) Improve comments (and process) of calculating the far end's maximum IFP size
     when redundancy mode is in use for error correction.
  
  3) When an IFP larger than the calculated 'far max IFP' size is presented for
     writing, truncate it rather than putting in the buffer and allowing the buffer
     to overflow; this will cause the ends to retrain to a lower bit rate that
     produces IFPs of an appropriate size if possible, and if not possible, the
     FAX transfer will fail completely. In these cases, it is due to the one endpoint
     supplying a T38FaxMaxDatagram value that is improperly calculated and is
     too low to be of use; we have configuration options available to override
     this behavior.
  
  4) Eliminate use of T38FaxMaxDatagram value in udptl.conf; it is no longer
     needed.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@231696 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-30 21:59:06 +00:00
Matthew Nicholson
6f122d97ae Merged revisions 231688 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r231688 | mnicholson | 2009-11-30 15:31:55 -0600 (Mon, 30 Nov 2009) | 15 lines
  
  Merged revisions 231614 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r231614 | mnicholson | 2009-11-30 15:11:44 -0600 (Mon, 30 Nov 2009) | 8 lines
    
    Remove duplicate entries from voicemail format lists. This prevents app_voicemail from entering an infinite loop when the same format is specified twice in the format list.
    
    (closes issue #15625)
    Reported by: Shagg63
    Tested by: mnicholson
    
    Review: https://reviewboard.asterisk.org/r/429/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@231689 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-30 21:36:06 +00:00
David Vossel
f54a6f1e07 Merged revisions 230583 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r230583 | dvossel | 2009-11-20 11:26:20 -0600 (Fri, 20 Nov 2009) | 6 lines
  
  audiohook signal trigger on every status change
  
  (issue #14618)
  
  Review: https://reviewboard.asterisk.org/r/434/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@230585 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-20 17:31:09 +00:00
Matthew Nicholson
e137b23cb5 Merged revisions 228858 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r228858 | mnicholson | 2009-11-09 08:37:07 -0600 (Mon, 09 Nov 2009) | 15 lines
  
  Merged revisions 228827 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r228827 | mnicholson | 2009-11-09 08:16:03 -0600 (Mon, 09 Nov 2009) | 8 lines
    
    Perform limited bounds checking when destroying ast_mutex_t structures to make sure we don't try to use negative indices.
    
    (closes issue #15588)
    Reported by: zerohalo
    Patches:
          20090820__issue15588.diff.txt uploaded by tilghman (license 14)
    Tested by: zerohalo
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@228859 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-09 14:48:56 +00:00
Tilghman Lesher
56f95a4d9c Merged revisions 226305 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r226305 | tilghman | 2009-10-28 13:04:05 -0500 (Wed, 28 Oct 2009) | 9 lines
  
  Merged revisions 226304 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r226304 | tilghman | 2009-10-28 13:02:25 -0500 (Wed, 28 Oct 2009) | 2 lines
    
    Fix documentation (pointed out by TheDavidFactor on #-dev)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@226308 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-28 18:06:10 +00:00
David Vossel
12fb1e8bde Merged revisions 225445 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r225445 | dvossel | 2009-10-22 14:55:51 -0500 (Thu, 22 Oct 2009) | 50 lines
  
  SIP TCP/TLS: move client connection setup/write into tcp helper thread, various related locking/memory fixes.
  
          What this patch fixes
  1.Moves sip TCP/TLS connection setup into the TCP helper thread:
    Connection setup takes awhile and before this it was being
    done while holding the monitor lock.
  2.Moves TCP/TLS writing to the TCP helper thread:  Through the
    use of a packet queue and an alert pipe, the TCP helper thread
    can now be woken up to write data as well as read data.
  3.Locking error: sip_xmit returned an XMIT_ERROR without giving
    up the tcptls_session lock.  This lock has been completely removed
    from sip_xmit and placed in the new sip_tcptls_write() function.
  4.Memory leak:  When creating a tcptls_client the tls_cfg was alloced
    but never freed unless the tcptls_session failed to start.  Now the
    session_args for a sip client are an ao2 object which frees the
    tls_cfg on destruction.
  5.Pointer to stack variable: During sip_prepare_socket the creation
    of a client's ast_tcptls_session_args was done on the stack and
    stored as a pointer in the newly created tcptls_session.  Depending
    on the events that followed, there was a slight possibility that
    pointer could have been accessed after the stack returned.  Given
    the new changes, it is always accessed after the stack returns
    which is why I found it.
  
  Notable code changes
  1.I broke tcptls.c's ast_tcptls_client_start() function into two
    functions.  One for creating and allocating the new tcptls_session,
    and a separate one for starting and handling the new connection.
    This allowed me to create the tcptls_session, launch the helper
    thread, and then establish the connection within the helper thread.
  2.Writes to a tcptls_session are now done within the helper thread.
    This is done by using an alert pipe to wake up the thread if new
    data needs to be sent.  The thread's sip_threadinfo object contains
    the alert pipe as well as the packet queue.
  3.Since the threadinfo object contains the alert pipe, it must now be
    accessed outside of the helper thread for every write (queuing of a
    packet).  For easy lookup, I moved the threadinfo objects from a
    linked list to an ao2_container.
  
  (closes issue #13136)
  Reported by: pabelanger
  Tested by: dvossel, whys
  
  (closes issue #15894)
  Reported by: dvossel
  Tested by: dvossel
  
  Review: https://reviewboard.asterisk.org/r/380/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@225489 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-22 21:55:48 +00:00
Tilghman Lesher
c6a9fbf2c9 Merged revisions 225360 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r225360 | tilghman | 2009-10-22 12:11:23 -0500 (Thu, 22 Oct 2009) | 11 lines
  
  Merged revisions 225105 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r225105 | tilghman | 2009-10-21 11:02:12 -0500 (Wed, 21 Oct 2009) | 4 lines
    
    Fix documentation for ast_softhangup() and correct the misuse thereof.
    (closes issue #16103)
     Reported by: majorbloodnok
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@225363 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-22 17:14:48 +00:00
Russell Bryant
bfd8af8cc8 Merged revisions 222880 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r222880 | russell | 2009-10-08 14:52:03 -0500 (Thu, 08 Oct 2009) | 51 lines
  
  Merged revisions 222878 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r222878 | russell | 2009-10-08 14:45:47 -0500 (Thu, 08 Oct 2009) | 44 lines
    
    Make filestream frame handling safer by isolating frames before returning them.
    
    This patch is related to a number of issues on the bug tracker that show
    crashes related to freeing frames that came from a filestream.  A number of
    fixes have been made over time while trying to figure out these problems, but
    there re still people seeing the crash.  (Note that some of these bug reports
    include information about other problems.  I am specifically addressing
    the filestream frame crash here.)
    
    I'm still not clear on what the exact problem is.  However, what is _very_
    clear is that we have seen quite a few problems over time related to unexpected
    behavior when we try to use embedded frames as an optimization.  In some cases,
    this optimization doesn't really provide much due to improvements made in other
    areas.
    
    In this case, the patch modifies filestream handling such that the embedded frame
    will not be returned.  ast_frisolate() is used to ensure that we end up with a
    completely mallocd frame.  In reality, though, we will not actually have to malloc
    every time.  For filestreams, the frame will almost always be allocated and freed
    in the same thread.  That means that the thread local frame cache will be used.
    So, going this route doesn't hurt.
    
    With this patch in place, some people have reported success in not seeing the
    crash anymore.
    
    (SWP-150)
    (AST-208)
    (ABE-1834)
    
    (issue #15609)
    Reported by: aragon
    Patches:
          filestream_frisolate-1.4.diff2.txt uploaded by russell (license 2)
    Tested by: aragon, russell
    
    (closes issue #15817)
    Reported by: zerohalo
    Tested by: zerohalo
    
    (closes issue #15845)
    Reported by: marhbere
    
    Review: https://reviewboard.asterisk.org/r/386/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@222883 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-08 20:00:18 +00:00
David Vossel
d9a817f431 Merged revisions 222873 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r222873 | dvossel | 2009-10-08 14:35:30 -0500 (Thu, 08 Oct 2009) | 6 lines
  
  fixes an ast_netsock_list memory leak.
  
  ABE-1998
  Review: https://reviewboard.asterisk.org/r/395/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@222874 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-08 19:41:58 +00:00
Kevin P. Fleming
6410aa2418 Merged revisions 222176 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r222176 | kpfleming | 2009-10-05 20:24:24 -0500 (Mon, 05 Oct 2009) | 27 lines
  
  Recorded merge of revisions 222152 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r222152 | kpfleming | 2009-10-05 20:16:36 -0500 (Mon, 05 Oct 2009) | 20 lines
    
    Fix ao2_iterator API to hold references to containers being iterated.
    
    See Mantis issue for details of what prompted this change.
    
    Additional notes:
    
    This patch changes the ao2_iterator API in two ways: F_AO2I_DONTLOCK
    has become an enum instead of a macro, with a name that fits our
    naming policy; also, it is now necessary to call
    ao2_iterator_destroy() on any iterator that has been
    created. Currently this only releases the reference to the container
    being iterated, but in the future this could also release other
    resources used by the iterator, if the iterator implementation changes
    to use additional resources.
    
    (closes issue #15987)
    Reported by: kpfleming
    
    Review: https://reviewboard.asterisk.org/r/383/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@222187 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-06 01:39:07 +00:00
Terry Wilson
9a61ba3e28 Merged revisions 221266 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r221266 | twilson | 2009-09-30 12:52:30 -0500 (Wed, 30 Sep 2009) | 32 lines
  
  Merged revisions 221086 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r221086 | twilson | 2009-09-30 09:49:11 -0500 (Wed, 30 Sep 2009) | 25 lines
    
    Change the SSRC by default when our media stream changes
    
    Be default, change SSRC when doing an audio stream changes Asterisk doesn't
    honor marker bit when reinvited to already-bridged RTP streams,resulting in
    far-end stack discarding packets with "old" timestamps that areactually part of
    a new stream.  This patch sends AST_CONTROL_SRCUPDATE whenever there is a
    reinvite, unless the 'constantssrc' is set to true in sip.conf.
    
    The original issue reported to Digium support detailed the following situation:
    ITSP <-> Asterisk 1.4.26.2 <-> SIP-based Application Server Call comes in
    fromITSP, Asterisk dials the app server which sends a re-invite back
    toAsterisk--not to negotiate to send media directly to the ITSP, but to
    indicatethat it's changing the stream it's sending to Asterisk.  The app
    servergenerates a new SSRC, sequence numbers, timestamps, and sets the marker
    bit on the new stream.  Asterisk passes through the teimstamp of the new stream,
    butdoes not reset the SSRC, sequence numbers, or set the marker bit.
    
    When the timestamp on the new stream is older than the timestamp on the
    originalstream, the ITSP (which doesn't know there has been any change) discards
    the newframes because it thinks they are too old.  This patch addresses this by
    changing the SSRC on a stream update unless constantssrc=true is set in
    sip.conf.
    
    Review: https://reviewboard.asterisk.org/r/374/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@221304 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-30 19:15:06 +00:00
Tilghman Lesher
4ddccae801 Remove optional_api from 1.6.2 branch, since it is not currently working.
This is a blocking issue for the 1.6.2 release.
(closes issue #15914)
 Reported by: mbeckwell
 Branch: http://svn.digium.com/svn/asterisk/team/tilghman/optional_api_162
 Tested by: mbeckwell


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@221042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-30 04:22:33 +00:00
Tilghman Lesher
b1848ad0fc Merged revisions 220586 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r220586 | tilghman | 2009-09-26 10:10:28 -0500 (Sat, 26 Sep 2009) | 2 lines
  
  Allow AES to compile, when OpenSSL is not present.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@220589 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-26 15:12:54 +00:00
Matthew Nicholson
5eb7d1c6b1 Merged revisions 219139 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r219139 | mnicholson | 2009-09-17 10:18:01 -0500 (Thu, 17 Sep 2009) | 17 lines
  
  Merged revisions 219136 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r219136 | mnicholson | 2009-09-17 09:58:39 -0500 (Thu, 17 Sep 2009) | 10 lines
    
    Prevent a potential race condition and crash when hanging up a channel by removing the channel from the channel list before begining channel tear down.
    
    This fix may potentially cause problems with CDR backends that access the channel a CDR is associated with via the channel list.  This fix makes the channel unavabile at the time when the CDR backend is invoked.  This has been documented in include/asterisk/cdr.h.
    
    (closes issue #15316)
    Reported by: vmarrone
    Tested by: mnicholson
    
    Review: https://reviewboard.asterisk.org/r/362/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@219194 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-17 15:38:11 +00:00
Tilghman Lesher
571890c856 Merged revisions 217638 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r217638 | tilghman | 2009-09-10 13:17:14 -0500 (Thu, 10 Sep 2009) | 4 lines
  
  Verify support for wide ODBC character types before using them.
  (closes issue #15870)
   Reported by: nic_bellamy
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@217647 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-10 18:19:58 +00:00
Kevin P. Fleming
2b2b717d71 Merged revisions 217074 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r217074 | kpfleming | 2009-09-08 11:37:28 -0500 (Tue, 08 Sep 2009) | 9 lines
  
  Ensure that the default autoconf CFLAGS are not used.
  
  A recent change to the configure script that allows the user to specify
  CFLAGS and/or LDFLAGS to the script had the unfortunate side effect of
  letting autoconf's default CFLAGS (-g -O2) feed in to the rest of the build
  system, thereby overriding the DONT_OPTIMIZE setting in menuselect. That
  problem is now corrected.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@217077 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-08 16:39:54 +00:00
Tilghman Lesher
8a9ab86721 Merged revisions 216551 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r216551 | tilghman | 2009-09-04 12:50:21 -0500 (Fri, 04 Sep 2009) | 2 lines
  
  Fix trunk breakage.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@216553 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-04 17:53:46 +00:00
Michiel van Baak
4f750dac83 Merged revisions 216437 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r216437 | mvanbaak | 2009-09-04 16:00:38 +0200 (Fri, 04 Sep 2009) | 2 lines
  
  make sure canlog is set so we can compile with DEBUG_THREADS enabled on OpenBSD
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@216469 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-04 14:26:00 +00:00
David Vossel
574c8c2144 Merged revisions 215955 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r215955 | dvossel | 2009-09-03 11:31:54 -0500 (Thu, 03 Sep 2009) | 6 lines
  
  Merge code associated with AST-2009-006
  
  (closes issue #12912)
  Reported by: rathaus
  Tested by: tilghman, russell, dvossel, dbrooks
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@216007 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-03 18:42:41 +00:00
Tilghman Lesher
5372378abb Merged revisions 214819 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r214819 | tilghman | 2009-08-30 01:43:04 -0500 (Sun, 30 Aug 2009) | 4 lines
  
  If lua is detected with the lua5.1 prefix (or not), adjust the include path accordingly.
  Based upon feedback to a release announcement on the -users list.  See
  http://lists.digium.com/pipermail/asterisk-users/2009-August/236954.html
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@214822 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-30 06:45:14 +00:00
Kevin P. Fleming
7838215111 Merged revisions 214696 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r214696 | kpfleming | 2009-08-28 15:01:21 -0500 (Fri, 28 Aug 2009) | 9 lines
  
  Ensure that CFLAGS and/or LDFLAGS provided to configure script are preserved.
  
  Cross-compilation environments want to provide 'defaults' for compiler and
  linker options, and frequently do this by specifying CFLAGS and LDFLAGS in the
  environment or as command-line arguments to the configure script. This patch
  modifies the configure script and Makefile to preserve these settings and
  ensure they are used in the build process.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@214700 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-28 20:05:56 +00:00
Mark Michelson
7330132ee7 Merged revisions 214650 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r214650 | mmichelson | 2009-08-28 13:41:23 -0500 (Fri, 28 Aug 2009) | 3 lines
  
  Fix some incorrect documentation of sched_thread functions.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@214653 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-28 18:43:02 +00:00
Tilghman Lesher
23a70136b7 Merged revisions 214518 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r214518 | tilghman | 2009-08-27 16:46:46 -0500 (Thu, 27 Aug 2009) | 14 lines
  
  Merged revisions 214517 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r214517 | tilghman | 2009-08-27 16:45:34 -0500 (Thu, 27 Aug 2009) | 7 lines
    
    Use autoconf to detect libcurl, as this enables cross-compilation checks, something we didn't allow before.
    (closes issue #15714)
     Reported by: pprindeville
     Patches: 
           20090813__issue15714.diff.txt uploaded by tilghman (license 14)
     Tested by: pprindeville
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@214521 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-27 21:49:51 +00:00
Tilghman Lesher
ef5ae5be67 Merged revisions 214466 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r214466 | tilghman | 2009-08-27 12:28:01 -0500 (Thu, 27 Aug 2009) | 9 lines
  
  Merged revisions 214436 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r214436 | tilghman | 2009-08-27 11:53:58 -0500 (Thu, 27 Aug 2009) | 2 lines
    
    One more build system change, to make the descriptions look better, if we have better information.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@214504 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-27 20:27:03 +00:00
Tilghman Lesher
10e51e82f1 Merged revisions 214360 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r214360 | tilghman | 2009-08-27 11:12:03 -0500 (Thu, 27 Aug 2009) | 10 lines
  
  Merged revisions 214357 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r214357 | tilghman | 2009-08-27 11:03:50 -0500 (Thu, 27 Aug 2009) | 3 lines
    
    Make autoheader descriptions render correctly in our autoconfig.h file.
    (Figured out while working with issue #14906)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@214363 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-27 16:16:36 +00:00
Tilghman Lesher
aa1b25b24d Merged revisions 214152 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r214152 | tilghman | 2009-08-25 17:39:51 -0500 (Tue, 25 Aug 2009) | 4 lines
  
  Not all versions of gnu-linux use glibc, which contains iconv.  Some (especially embedded systems) don't have iconv at all.
  (closes issue #15169)
   Reported by: pprindeville
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@214155 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-25 22:43:00 +00:00
Tilghman Lesher
7bc6aaf989 Merged revisions 213560 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r213560 | tilghman | 2009-08-21 11:53:52 -0500 (Fri, 21 Aug 2009) | 14 lines
  
  Merged revisions 213559 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r213559 | tilghman | 2009-08-21 11:52:53 -0500 (Fri, 21 Aug 2009) | 7 lines
    
    Permit DEBUG_FD_LEAKS to be used with C++ source files.
    (closes issue #15698)
     Reported by: slavon
     Patches: 
           20090817__issue15698.diff.txt uploaded by tilghman (license 14)
     Tested by: slavon, tilghman
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@213563 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-21 16:55:28 +00:00
Tilghman Lesher
fe6107aba0 Merged revisions 210908 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r210908 | tilghman | 2009-08-06 16:29:26 -0500 (Thu, 06 Aug 2009) | 9 lines
  
  Allow Gosub to recognize quote delimiters without consuming them.
  (closes issue #15557)
   Reported by: rain
   Patches: 
         20090723__issue15557.diff.txt uploaded by tilghman (license 14)
   Tested by: rain
   
  Review: https://reviewboard.asterisk.org/r/316/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@210911 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-06 21:34:48 +00:00
David Brooks
503bb8de9c Merged revisions 209554 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r209554 | dbrooks | 2009-07-30 11:07:05 -0500 (Thu, 30 Jul 2009) | 6 lines
  
  Fixes numerous spelling errors. Patch submitted by alecdavis.
  
  (closes issue #15595)
  Reported by: alecdavis
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@209594 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-30 18:51:15 +00:00
David Brooks
4921462e88 Merged revisions 209098 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r209098 | dbrooks | 2009-07-27 11:33:50 -0500 (Mon, 27 Jul 2009) | 6 lines
  
  Fixing typos. Replaces "recieved" with "received" and "initilize" with "initialize"
  
  (closes issue #15571)
  Reported by: alecdavis
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@209234 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-27 20:33:56 +00:00
Kevin P. Fleming
b7e75a4a56 Merged revisions 208548 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r208548 | kpfleming | 2009-07-24 10:02:53 -0500 (Fri, 24 Jul 2009) | 8 lines
  
  Resolve a T.38 negotiation issue left over from the udptl-updates merge.
  
  The udptl-updates branch that was merged yesterday failed to properly send back
  T.38 SDP responses with the correct error correction mode, if the incoming SDP
  from the other end caused us to change error correction modes. This patch
  corrects that situation.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@208551 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-24 15:06:52 +00:00
Kevin P. Fleming
03d73280b3 Merged revisions 208464 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r208464 | kpfleming | 2009-07-23 16:57:24 -0500 (Thu, 23 Jul 2009) | 46 lines
  
  Rework of T.38 negotiation and UDPTL API to address interoperability problems
  
  Over the past couple of months, a number of issues with Asterisk
  negotiating (and successfully completing) T.38 sessions with various
  endpoints have been found. This patch attempts to address many of
  them, primarily focused around ensuring that the endpoints'
  MaxDatagram size is honored, and in addition by ensuring that T.38
  session parameter negotiation is performed correctly according to the
  ITU T.38 Recommendation.
  
  The major changes here are:
  
  1) T.38 applications in Asterisk (app_fax) only generate/receive IFP
  packets, they do not ever work with UDPTL packets. As a result of
  this, they cannot be allowed to generate packets that would overflow
  the other endpoints' MaxDatagram size after the UDPTL stack adds any
  error correction information. With this patch, the application is told
  the maximum *IFP* size it can generate, based on a calculation using
  the far end MaxDatagram size and the active error correction mode on
  the T.38 session. The same is true for sending *our* MaxDatagram size
  to the remote endpoint; it is computed from the value that the
  application says it can accept (for a single IFP packet) combined with
  the active error correction mode.
  
  2) All treatment of T.38 session parameters as 'capabilities' in
  chan_sip has been removed; these parameters are not at all like
  audio/video stream capabilities. There are strict rules to follow for
  computing an answer to a T.38 offer, and chan_sip now follows those
  rules, using the desired parameters from the application (or channel)
  that wants to accept the T.38 negotiation.
  
  3) chan_sip now stores and forwards ast_control_t38_parameters
  structures for tracking 'our' and 'their' T.38 session parameters;
  this greatly simplifies negotiation, especially for pass-through
  calls.
  
  4) Since T.38 negotiation without specifying parameters or receiving
  the final negotiated parameters is not very worthwhile, the
  AST_CONTROL_T38 control frame has been removed. A note has been added
  to UPGRADE.txt about this removal, since any out-of-tree applications
  that use it will no longer function properly until they are upgraded
  to use AST_CONTROL_T38_PARAMETERS.
  
  Review: https://reviewboard.asterisk.org/r/310/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@208501 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-23 22:31:27 +00:00
Kevin P. Fleming
b4ad95ecf3 Merged revisions 205696 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r205696 | kpfleming | 2009-07-09 16:20:23 -0500 (Thu, 09 Jul 2009) | 16 lines
  
  Repair ability of SendFAX/ReceiveFAX to respond to T.38 switchover.
  
  Recent changes in T.38 negotiation in Asterisk caused these applications to
  not respond when the other endpoint initiated a switchover to T.38; this
  resulted in the T.38 switchover failing, and the FAX attempt to be made
  using an audio connection, instead of T.38 (which would usually cause the
  FAX to fail completely).
  
  This patch corrects this problem, and the applications will now correctly
  respond to the T.38 switchover request. In addition, the response will include
  the appopriate T.38 session parameters based on what the other end offered
  and what our end is capable of.
  
  (closes issue #14849)
  Reported by: afosorio
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@205699 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-09 21:27:36 +00:00
David Vossel
8a7c94dae5 Merged revisions 205600 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r205600 | dvossel | 2009-07-09 11:19:09 -0500 (Thu, 09 Jul 2009) | 9 lines
  
  Merged revisions 205599 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r205599 | dvossel | 2009-07-09 11:18:09 -0500 (Thu, 09 Jul 2009) | 2 lines
    
    Changing ast_samp2tv to not use floating point.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@205603 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-09 16:19:58 +00:00
David Vossel
4088c54d14 Merged revisions 205479 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r205479 | dvossel | 2009-07-08 18:19:09 -0500 (Wed, 08 Jul 2009) | 16 lines
  
  Merged revisions 205471 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r205471 | dvossel | 2009-07-08 18:15:54 -0500 (Wed, 08 Jul 2009) | 10 lines
    
    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/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@205595 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-09 15:37:05 +00:00
David Vossel
a076c9af21 Merged revisions 205412 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r205412 | dvossel | 2009-07-08 17:15:06 -0500 (Wed, 08 Jul 2009) | 12 lines
  
  Merged revisions 205409 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r205409 | dvossel | 2009-07-08 16:35:12 -0500 (Wed, 08 Jul 2009) | 6 lines
    
    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.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@205413 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-08 22:15:46 +00:00
David Vossel
49ac045c97 Merged revisions 205216 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r205216 | dvossel | 2009-07-08 11:54:24 -0500 (Wed, 08 Jul 2009) | 17 lines
  
  Merged revisions 205215 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r205215 | dvossel | 2009-07-08 11:53:40 -0500 (Wed, 08 Jul 2009) | 10 lines
    
    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/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@205217 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-08 16:55:31 +00:00
Russell Bryant
e97c471b2c Merged revisions 205120 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r205120 | russell | 2009-07-08 10:17:19 -0500 (Wed, 08 Jul 2009) | 16 lines
  
  Move OpenSSL initialization to a single place, make library usage thread-safe.
  
  While doing some reading about OpenSSL, I noticed a couple of things that
  needed to be improved with our usage of OpenSSL.
  
  1) We had initialization of the library done in multiple modules.  This has now
     been moved to a core function that gets executed during Asterisk startup.
     We already link OpenSSL into the core for TCP/TLS functionality, so this
     was the most logical place to do it.
  
  2) 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.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@205148 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-08 15:33:59 +00:00
David Vossel
e5556be26b Merged revisions 204710 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r204710 | dvossel | 2009-07-02 11:03:44 -0500 (Thu, 02 Jul 2009) | 21 lines
  
  Merged revisions 204681 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r204681 | dvossel | 2009-07-02 10:05:57 -0500 (Thu, 02 Jul 2009) | 14 lines
    
    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/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@204711 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-02 16:12:41 +00:00
Russell Bryant
e3e62b491b Merged revisions 203702 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r203702 | russell | 2009-06-26 14:31:14 -0500 (Fri, 26 Jun 2009) | 5 lines
  
  Make invalid hints report Unavailable instead of Idle.
  
  (closes issue #14413)
  Reported by: pj
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@203715 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-26 19:49:28 +00:00
Joshua Colp
45d9ad47ca Merged revisions 203699 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r203699 | file | 2009-06-26 16:27:24 -0300 (Fri, 26 Jun 2009) | 2 lines
  
  Improve T.38 negotiation by exchanging session parameters between application and channel.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@203705 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-26 19:38:10 +00:00
David Vossel
824737f6d7 Merged revisions 202410 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r202410 | dvossel | 2009-06-22 10:33:35 -0500 (Mon, 22 Jun 2009) | 5 lines
  
  attempting to load running modules
  
  Modules placed in the priority heap for loading were not properly removed from the linked list.  This resulted in some modules attempting to load twice.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@202411 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-22 15:37:55 +00:00
Kevin P. Fleming
a66df3a4ab Merged revisions 201262 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r201262 | kpfleming | 2009-06-17 07:04:17 -0500 (Wed, 17 Jun 2009) | 15 lines
  
  Merged revisions 201261 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r201261 | kpfleming | 2009-06-17 07:03:25 -0500 (Wed, 17 Jun 2009) | 9 lines
    
    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)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@201265 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-17 12:06:16 +00:00
Kevin P. Fleming
366795b84e Merged revisions 201056 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r201056 | kpfleming | 2009-06-16 13:54:30 -0500 (Tue, 16 Jun 2009) | 18 lines
  
  Merged revisions 200991 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r200991 | kpfleming | 2009-06-16 12:05:38 -0500 (Tue, 16 Jun 2009) | 11 lines
    
    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/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@201097 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-16 19:47:34 +00:00
Kevin P. Fleming
08098c0968 Merged revisions 200764 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r200764 | kpfleming | 2009-06-15 20:28:08 -0500 (Mon, 15 Jun 2009) | 11 lines
  
  Ensure that configure-script testing for compiler attributes actually works.
  
  The configure script tests for compiler attributes didn't actually enable
  enough warnings or provide a proper test harness to determine whether the 
  compiler supports the attribute in question or not; this caused gcc 4.1 to
  report that it supports 'weakref', but it doesn't actually support it in the
  way that is needed for our optional API mechanism. The new configure script
  test will properly distinguish between full support and partial support
  for this attribute, among others.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@200765 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-16 01:30:18 +00:00
Sean Bright
5b2345c198 Merged revisions 199857 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r199857 | seanbright | 2009-06-10 12:10:23 -0400 (Wed, 10 Jun 2009) | 9 lines
  
  Merged revisions 199856 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r199856 | seanbright | 2009-06-10 12:08:35 -0400 (Wed, 10 Jun 2009) | 2 lines
    
    __WORDSIZE is not available on all platforms, so use sizeof(void *) instead.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@199860 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-10 16:13:18 +00:00
David Vossel
443cb28322 Merged revisions 199743 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r199743 | dvossel | 2009-06-09 11:22:04 -0500 (Tue, 09 Jun 2009) | 11 lines
  
  module load priority
  
  This patch adds the option to give a module a load priority. The value represents the order in which a module's load() function is initialized.  The lower the value, the higher the priority.  The value is only checked if the AST_MODFLAG_LOAD_ORDER flag is set.  If the AST_MODFLAG_LOAD_ORDER flag is not set, the value will never be read and the module will be given the lowest possible priority
  on load.  Since some modules are reliant on a timing interface, the timing modules have been given a high load priorty.
  
  (closes issue #15191)
  Reported by: alecdavis
  Tested by: dvossel
  
  Review: https://reviewboard.asterisk.org/r/262/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@199744 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-09 16:28:50 +00:00
Sean Bright
fb39ec3d2d Merged revisions 199630 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r199630 | seanbright | 2009-06-08 15:33:09 -0400 (Mon, 08 Jun 2009) | 32 lines
  
  Merged revisions 199626,199628 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r199626 | seanbright | 2009-06-08 15:24:32 -0400 (Mon, 08 Jun 2009) | 21 lines
    
    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
  ........
    r199628 | seanbright | 2009-06-08 15:28:33 -0400 (Mon, 08 Jun 2009) | 2 lines
    
    Fix a typo in the stack size calculation just introduced.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@199634 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-08 19:39:26 +00:00
David Vossel
1b47d4acb8 Merged revisions 199298 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r199298 | dvossel | 2009-06-05 16:21:22 -0500 (Fri, 05 Jun 2009) | 21 lines
  
  Merged revisions 199297 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r199297 | dvossel | 2009-06-05 16:19:56 -0500 (Fri, 05 Jun 2009) | 14 lines
    
    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/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@199299 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-05 21:25:49 +00:00
Sean Bright
b4b61e5273 Merged revisions 199051 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r199051 | seanbright | 2009-06-04 10:31:24 -0400 (Thu, 04 Jun 2009) | 47 lines
  
  Merged revisions 199022 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r199022 | seanbright | 2009-06-04 10:14:57 -0400 (Thu, 04 Jun 2009) | 40 lines
    
    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/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@199054 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-04 14:53:53 +00:00