Commit Graph

4926 Commits

Author SHA1 Message Date
Jonathan Rose
1a70d513f1 Call Parking: Set PARKINGLOT and PARKINGSLOT variables on all parked calls
These two variables were previously not being set when comebacktoorigin=yes
and the example configs seemed to imply that they should be. Since there
is no harm in this and since calls that are sent back to origin are capable
of continuing in the dialplan, this seemed like a no-brainer. Also it
supports some bridging tests I've been working on.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@381068 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-02-08 17:36:23 +00:00
Richard Mudgett
657aa491f0 Separate option_types[] from the struct definition.
Updated the option_types[] doxygen comment.
........

Merged revisions 380853 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 380854 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380855 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-02-05 18:13:09 +00:00
Richard Mudgett
32ac38ea37 Improve func FRAME_TRACE DTMF digit format.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380655 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-31 18:15:49 +00:00
Richard Mudgett
b7ecff2e4b Eliminate a use of a C++ keyword as a variable. new to new_frame
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380653 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-31 18:14:05 +00:00
Joshua Colp
ffaf79b1eb Fix an issue where building with DEBUG_FD_LEAKS enabled would not work due to sorcery using calls called "open" and "close".
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380407 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-29 20:19:28 +00:00
Jonathan Rose
80021f220c call_parking: Make sure fallbacks are used when lacking a flat channel exten
A regression was introduced which removed automatic fallback behavior from
the PBX. This behavior was used by call parking (or at least documented as
how the feature works) in order to select an extension when the flat channel
extension wasn't available from the comebackcontext. Parking now handles
the fallbacks internally in order to keep behavior matching with how it is
documented.

(closes issue ASTERISK-20716)
Reported by: Chris Gentle
Review: https://reviewboard.asterisk.org/r/2296/
........

Merged revisions 380348 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380349 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-29 17:06:17 +00:00
Russell Bryant
5d41d31621 Change cleanup ordering in filestream destructor.
This patch came about due to a problem observed where wav files had an
empty header.  The header is supposed to be updated in wav_close().  It
turns out that this was broken when the cache_record_files option from
asterisk.conf was enabled.  The cleanup code was moving the file to its
final destination *before* running the close() method of the file
destructor, so the header didn't get updated.

Another problem here is that the move was being done before actually
closing the FILE *.

Finally, the last bug fixed here is that I noticed that wav_close()
checks for stream->filename to be non-NULL.  In the previous cleanup
order, it's checking a pointer to freed memory.  This doesn't actually
cause anything to break, but it's treading on dangerous waters.  Now the
free() of stream->filename is happening after the format module's
close() method gets called, so it's safer.

Review: https://reviewboard.asterisk.org/r/2286/
........

Merged revisions 380210 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 380211 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380212 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-28 01:58:41 +00:00
Russell Bryant
dfdf3d9909 Add queue_log_realtime_use_gmt option to logger.conf
Add an option that lets you specify that the timestamps going into the realtime
queue log should be in GMT instead of local time.

Review: https://reviewboard.asterisk.org/r/2287/



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380209 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-28 01:50:54 +00:00
Joshua Colp
44ce06682b Fix a bug where the apply function was not getting called.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380165 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-27 17:13:22 +00:00
Richard Mudgett
97dcd1d935 Misc bridge code improvements
* Made multiplexed_bridge_destroy() check if anything to destroy and
cleared bridge_pvt pointer after destruction.

* Made multiplexed_add_or_remove() handling of the chans array simpler.

* Extracted bridge_channel_poke().

* Simplified bridge_array_remove() handling of the bridge->array[].  The
array does not have a NULL sentinel pointer.

* Made ast_bridge_new() not create a temporary bridge just to see if it
can be done.  Only need to check if there is an appropriate bridge tech
available.

* Made ast_bridge_new() clean up on allocation failures.

* Made destroy_bridge() free resources in the opposite order of creation.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380109 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-25 20:00:21 +00:00
Richard Mudgett
7bb540dc80 More trivial bridge code cleanup.
* Breaking long lines
* Word wrapping comment blocks.
* Removing redundant initializers.
* Debug message wording.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380108 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-25 19:29:04 +00:00
Joshua Colp
3fa4278a31 Merge the sorcery data access layer API.
Sorcery is a unifying data access layer which provides a pluggable mechanism to allow
object creation, retrieval, updating, and deletion using different backends (or wizards).

This is a fancy way of saying "one interface to rule them all" where them is configuration,
realtime, and anything else that comes along.

Review: https://reviewboard.asterisk.org/r/2259/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380069 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-25 14:01:04 +00:00
Richard Mudgett
22ae23eed3 Attempt to be more helpful when using a bad ao2 object pointer.
Put the external obj pointer in the message instead of the internal version.
........

Merged revisions 379963 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 379964 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379966 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-23 00:30:00 +00:00
Matthew Jordan
7d9871b394 Add ControlPlayback manager action
This patch adds the capability for asynchronous manipulation of audio being
played back to a channel though a new AMI action "ControlPlayback". The
ControlPlayback action supports a number of operations, the availability of
which depend on the application being used to send audio to the channel.
When the audio playback was initiated using the ControlPlayback application
or CONTROL STREAM FILE AGI command, the audio can be paused, stopped,
restarted, reversed, or skipped forward. When initiated by other mechanisms
(such as the Playback application), the audio can be stopped, reversed, or
skipped forward.

Review: https://reviewboard.asterisk.org/r/2265/

(closes issue ASTERISK-20882)
Reported by: mjordan



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379830 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-22 15:16:20 +00:00
Matthew Jordan
a3e7a77a82 Update init.d scripts to handle stderr; readd splash screen for remote consoles
When r376428 was commited to re-order start up sequences to be more tolerant of
forking with thread primitives, a few items were changed that caused changes
in behavior on some distros. This includes:
 * Not displaying the splash screen on a remote console.
 * Displaying an error message on stderr when a remote console cannot connect
   to a running instance of Asterisk.

In the first case, the splash screen was re-added (thanks to Michael L. Young).
In the second case, the various init.d scripts were modified to pipe stderr
to /dev/null, as the error message is useful - if you execute a remote
console or a remote console command execution and it fail, it should tell
you. Note that the error message was always present, it just failed to be
printed prior to r376428.

Much thanks to the folks who quickly reported this problem, provided solutions,
and promptly tested the various init.d scripts on a variety of distros.

(closes issue ASTERISK-20945)
Reported by: Warren Selby
Tested by: Michael L. Young, Jamuel Starkey, kaldemar, Danny Nicholas, mjordan
patches:
  asterisk-20945-remote-intro-msg.diff uploaded by elguero (license 5026)
  ASTERISK-20945-1.8-mjordan.diff uploaded by mjordan (license 6283)
........

Merged revisions 379760 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 379777 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 379790 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379791 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-21 20:41:12 +00:00
Richard Mudgett
c23a04c7f0 Better protect bridge_channel state from other threads.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379789 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-21 20:35:12 +00:00
Richard Mudgett
7a69e6c5ac Extract common bridging code into bridge_stop() and bridge_force_out_all().
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379776 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-21 20:24:23 +00:00
Richard Mudgett
c6e6b7f2f1 Made some bridging API calls void. Some bridging comments updated.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379753 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-21 20:15:57 +00:00
Richard Mudgett
b5962bd5f6 Trivial bridge code cleanup.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379720 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-21 18:45:17 +00:00
Walter Doekes
e6a3674150 Add builtin roundf() for systems lacking it.
(closes issue ASTERISK-16854)
Review: https://reviewboard.asterisk.org/r/2276
Reported-by: Ovidiu Sas
........

Merged revisions 379547 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 379548 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379549 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-19 20:54:07 +00:00
Matthew Jordan
01763fd41b Fix astcanary startup problem due to wrong pid value from before daemon call
When Asterisk forks itself into the background via a call to daemon, it must
re-set the pid value of the new process. Otherwise, astcanary gets the pid
value of the process before the fork, which prevents it from running. Asterisk
eventually starts lowering its priority, as it can no longer communicate
with the proverbial canary in the coal mine.

This patch ensures that the correct process identifier is used by astcanary.

Note that this is getting committed to 10 as a regression fix.

(closes issue ASTERISK-20947)
Reported by: Jakob Hirsch
Tested by: mjordan
patches:
  asterisk-10.12.0.astcanary_ppid.diff uploaded by Jakob Hirsch (license 6113)
........

Merged revisions 379509 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 379510 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 379513 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379518 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-19 00:19:19 +00:00
David M. Lee
bc97a4ded1 Up the minimum OS X version to 10.6.
* This allows us to remove some special-case build logic.
 * 10.5 is down to less that 8% of the OS X market share. 10.4 is down to 
   under 2%.
 * Apple is no longer releasing security updates for 10.5 and earlier.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379495 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-18 22:42:38 +00:00
David M. Lee
7bd50bc0c4 Specify the -rpath linker flag when prefix != /usr.
This allows Asterisk to start without having to specify the
LD_LIBRARY_PATH. This can be disabled by passing --disable-rpath to
configure.

(closes issue ASTERISK-20407)
Reported by: David M. Lee
Review: https://reviewboard.asterisk.org/r/2132/
........

Merged revisions 379475 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379477 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-18 21:35:09 +00:00
Mark Michelson
84c50fde1f Address David's latest feedback on reviewboard:
* Add a max_size option for threadpools. Also added a test for this option.
* Fixed comments to be more accurate and have fewer typos.
* Updated copyright dates on new files.



git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379375 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-17 16:04:10 +00:00
Automerge script
29620f5a6e Merged revisions 379312 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r379312 | mmichelson | 2013-01-16 16:51:32 -0600 (Wed, 16 Jan 2013) | 11 lines
  
  Further fix misinformation in the description of manager MailboxStatus command.
  
  The description still claimed that it returned the number of messages rather than
  whether there were messages waiting.
  ........
  
  Merged revisions 379310 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  ........
  
  Merged revisions 379311 from http://svn.asterisk.org/svn/asterisk/branches/11
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379321 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-16 23:20:22 +00:00
Automerge script
108f5cc599 Merged revisions 379229,379231,379233 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r379229 | mjordan | 2013-01-16 11:46:15 -0600 (Wed, 16 Jan 2013) | 10 lines
  
  Let documentation reference links specify which module they're linking to
  
  Again, since res_jabber/res_xmpp have duplicate APIs, their documentation ref
  links have to specify which reference they're referring to. The various
  documentation parsers can interpret the module attribute however they want
  in order to construct the appropriate links.
  ........
  
  Merged revisions 379228 from http://svn.asterisk.org/svn/asterisk/branches/11
................
  r379231 | rmudgett | 2013-01-16 11:49:52 -0600 (Wed, 16 Jan 2013) | 10 lines
  
  chan_misdn: Fix compile error.
  
  (issue ASTERISK-15456)
  ........
  
  Merged revisions 379226 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  ........
  
  Merged revisions 379230 from http://svn.asterisk.org/svn/asterisk/branches/11
................
  r379233 | rmudgett | 2013-01-16 12:09:28 -0600 (Wed, 16 Jan 2013) | 8 lines
  
  Reduce call-id logging resource usage.
  
  Since there is no need for the call-id logging ao2 object to have a lock,
  don't create it with one.
  ........
  
  Merged revisions 379232 from http://svn.asterisk.org/svn/asterisk/branches/11
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379243 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-16 18:20:38 +00:00
Automerge script
0dc9cc48a0 Merged revisions 379128 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

........
  r379128 | rmudgett | 2013-01-15 16:23:49 -0600 (Tue, 15 Jan 2013) | 1 line
  
  Fix ast_bridge_features_register() not registering builtin features. I broke. Ooops.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379138 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-15 23:20:18 +00:00
Mark Michelson
a73d6e5b86 Add doxygen to accessors and increase refcount of taskprocessor before returning.
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379127 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-15 21:15:04 +00:00
Mark Michelson
967e380ba8 Make the threadpool listener opaque.
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379126 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-15 21:09:55 +00:00
Mark Michelson
663479a558 Make ast_taskprocessor_listener opaque.
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379125 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-15 20:48:45 +00:00
Mark Michelson
03e89247de Address further review feedback from David Lee.
* Clarify some documentation
* Change copyright date of taskprocessor files
* Address potential issue of creating taskprocessor with listener if
  taskprocessor with that name exists already



git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379124 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-15 20:15:00 +00:00
Mark Michelson
c6bc51ef28 Make the initial size of the threadpool part of the options passed in.
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379123 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-15 19:44:25 +00:00
Mark Michelson
edc2e4dac0 Remove threadpool listener alloc and destroy callbacks.
This replaces the destroy callback with a shutdown callback
instead.



git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379122 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-15 19:36:33 +00:00
Mark Michelson
65c7d6e2c3 Remove alloc and destroy callbacks from the taskprocessor.
Now user data is allocated by the creator of the taskprocessor
listener and that user data is passed into ast_taskprocessor_listener_alloc().
Similarly, freeing of the user data is left up to the user himself. He can
free the data when the taskprocessor shuts down, or he can choose to hold
onto it if it makes sense to do so.

This, unsurprisingly, makes threadpool allocation a LOT cleaner now.



git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379120 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-15 18:40:36 +00:00
Automerge script
0d3dfad94f Merged revisions 379021,379023 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r379021 | dlee | 2013-01-14 09:29:22 -0600 (Mon, 14 Jan 2013) | 15 lines
  
  Fix XML encoding of 'identity display' in NOTIFY messages, continued.
  
  When r378933 was merged into 1.8, it should have also escaped
  remote_display, since it will have the same XML encoding problem when
  the caller/callee roles are reversed.
  
  (closes issue ABE-2902)
  Reported by: Guenther Kelleter
  ........
  
  Merged revisions 379001 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  ........
  
  Merged revisions 379020 from http://svn.asterisk.org/svn/asterisk/branches/11
................
  r379023 | dlee | 2013-01-14 09:58:01 -0600 (Mon, 14 Jan 2013) | 20 lines
  
  Masquerades are an insane implementation detail within Asterisk. It generates
  a number of useless and confusing events, and manipulates channels in a way
  that semantically doesn't make sense. I've given a fairly thorough review of
  masquerade code and its usage on the wiki at
  https://wiki.asterisk.org/wiki/x/IwBRAQ.
  
  While ultimately it makes the most sense to abandon masquerades altogether,
  it will take some time to completely irradicate. Even then, there may always
  be code that's not worth rewriting to get rid of the masquerade.
  
  This patch does two things to make masquerades slightly less insane:
   * When swapping the names of the original and clone channel, only emit a
     single rename event of original -> original<ZOMBIE>. The original code
     issued three rename events to accomplish the same end.
   * In addition to swapping the names of the channels, also swap their
     uniqueid's. This allows the 'Uniqueid' field to be used as a stable
     identifier for a channel from and external interface, such as AMI.
  
  Review: https://reviewboard.asterisk.org/r/2266/
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379032 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-14 16:20:46 +00:00
Automerge script
f7f7850f7a Merged revisions 378935 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r378935 | dlee | 2013-01-12 00:43:37 -0600 (Sat, 12 Jan 2013) | 41 lines
  
  Fix XML encoding of 'identity display' in NOTIFY messages.
  
  XML encoding in chan_sip is accomplished by naively building the XML
  directly from strings. While this usually works, it fails to take into
  account escaping the reserved characters in XML.
  
  This patch adds an 'ast_xml_escape' function, which works similarly to
  'ast_uri_encode'. This is used to properly escape the local_display
  attribute in XML formatted NOTIFY messages.
  
  Several things to note:
   * The Right Thing(TM) to do would probably be to replace the
     ast_build_string stuff with building an ast_xml_doc. That's a much
     bigger change, and out of scope for the original ticket, so I
     refrained myself.
   * It is with great sadness that I wrote my own ast_xml_escape
     function. There's one in libxml2, but it's knee-deep in
     libxml2-ness, and not easily used to one-off escape a
     string.
   * I only escaped the string we know is causing problems
     (local_display). At least some of the other strings are
     URI-encoded, which should be XML safe. Rather than figuring out
     what's safe and escaping what's not, it would be much cleaner to
     simply build an ast_xml_doc for the messages and let the XML
     library do the XML escaping. Like I said, that's out of scope.
  
  (closes issue ABE-2902)
  Reported by: Guenther Kelleter
  Tested by: Guenther Kelleter
  Review: http://reviewboard.digium.internal/r/365/
  
  ........
  
  Merged revision 378919 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
  ........
  
  Merged revisions 378933 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  ........
  
  Merged revisions 378934 from http://svn.asterisk.org/svn/asterisk/branches/11
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378946 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-12 07:21:01 +00:00
Automerge script
2c1720b4f7 Merged revisions 378915,378918 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r378915 | dlee | 2013-01-11 16:31:42 -0600 (Fri, 11 Jan 2013) | 21 lines
  
  Add JSON API for Asterisk.
  
  This provides a JSON API by pulling in and wrapping the Jansson JSON
  library[1]. The Asterisk API basically mirrors the Jansson
  functionality, with a few minor tweaks.
  
   * Some names have been asteriskified to protect the innocent.
   * Jansson provides both reference-stealing and reference-borrowing
     versions of several API's. The Asterisk API is exclusively
     reference-stealing for operations that put elements into arrays and
     objects.
   * No support for doubles, since we usually don't need that.
   * Coming along for the ride is the ast_test_validate macro, which made
     the unit tests much easier to write.
  
   [1]: http://www.digip.org/jansson/
  
  (issue ASTERISK-20887)
  (closes issue ASTERISK-20888)
  Review: https://reviewboard.asterisk.org/r/2264/
................
  r378918 | file | 2013-01-11 17:05:38 -0600 (Fri, 11 Jan 2013) | 11 lines
  
  Retain XMPP filters across reconnections so external modules continue to function as expected.
  
  Previously if an XMPP client reconnected any filters added by an external module were lost.
  This issue exhibited itself with chan_motif not receiving and reacting to Jingle signaling.
  
  (closes issue ASTERISK-20916)
  Reported by: kuj
  ........
  
  Merged revisions 378917 from http://svn.asterisk.org/svn/asterisk/branches/11
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378927 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-11 23:20:57 +00:00
Automerge script
919f772f78 Merged revisions 378889 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

........
  r378889 | rmudgett | 2013-01-09 20:40:50 -0600 (Wed, 09 Jan 2013) | 8 lines
  
  * Simplify native bridge code in ast_channel_bridge().
  
  * Fix an unbalanced manager_bridge_event(unlink) call if
  AST_SOFTHANGUP_UNBRIDGE is set in ast_channel_bridge().
  
  * Make ast_channel_bridge() use common cleanup code when leaving the
  bridge.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378898 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-10 03:20:47 +00:00
Automerge script
f7e1073af5 Merged revisions 378874 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

........
  r378874 | rmudgett | 2013-01-09 19:43:27 -0600 (Wed, 09 Jan 2013) | 4 lines
  
  * Removed some noop code and restructured an else-if ladder in ast_generic_bridge().
  
  * Trivial changes in ast_channel_bridge().
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378883 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-10 02:20:50 +00:00
Automerge script
41eba63840 Merged revisions 378854,378858-378859 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

........
  r378854 | rmudgett | 2013-01-09 17:22:00 -0600 (Wed, 09 Jan 2013) | 1 line
  
  Fix logger.c function definition.
........
  r378858 | rmudgett | 2013-01-09 17:23:41 -0600 (Wed, 09 Jan 2013) | 6 lines
  
  Trivial misc bridge code changes.
  
  * softmix_bridge_thread() was redundantly initializing an 8K buffer.
  
  * Promoted a debug message to a warning in multiplexed_add_or_remove().
........
  r378859 | rmudgett | 2013-01-09 17:51:45 -0600 (Wed, 09 Jan 2013) | 6 lines
  
  * Simple optimization of bridge_playfile().
  
  * Squeezed some redundancy out of update_bridge_vars().
  
  * Wrapped long line in __ast_change_name_nolink().
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378868 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-10 00:20:46 +00:00
Automerge script
e844969fba Merged revisions 378840 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

........
  r378840 | rmudgett | 2013-01-09 16:56:08 -0600 (Wed, 09 Jan 2013) | 2 lines
  
  Trivial misc bridge code changes.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378851 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-09 23:20:35 +00:00
Automerge script
7a06fdad89 Merged revisions 378823 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

........
  r378823 | rmudgett | 2013-01-09 16:15:41 -0600 (Wed, 09 Jan 2013) | 2 lines
  
  Tweaked __ast_test_suite_assert_notify() and __ast_test_suite_event_notify() to be void functions.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378833 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-09 22:20:40 +00:00
Automerge script
613b972cc5 Merged revisions 378783,378789-378790 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r378783 | dlee | 2013-01-09 14:30:33 -0600 (Wed, 09 Jan 2013) | 14 lines
  
  Fix end condition in ast_rtp_lookup_mime_multiple2.
  
  The erroneous end condition would never include the AST_RTP_CISCO_DTMF flag
  in the debug output.
  
  (closes issue ASTERISK-20772)
  Reported by: Xavier Hienne
  ........
  
  Merged revisions 378776 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  ........
  
  Merged revisions 378780 from http://svn.asterisk.org/svn/asterisk/branches/11
................
  r378789 | rmudgett | 2013-01-09 14:56:23 -0600 (Wed, 09 Jan 2013) | 4 lines
  
  * Found some more places to use ast_channel_lock_both().
  
  * Minor optimization in ast_rtp_instance_early_bridge().
................
  r378790 | rmudgett | 2013-01-09 15:14:39 -0600 (Wed, 09 Jan 2013) | 4 lines
  
  * Whitespace changes.
  
  * Made ast_test_init() match its prototype.
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378801 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-09 21:21:11 +00:00
Mark Michelson
99701cd1d1 Remove tasks from the taskprocessor and free them when taskprocessor is destroyed.
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378654 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-07 23:11:41 +00:00
Mark Michelson
a08847c270 Add some doxygen and remove an unnecessary unlock.
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378653 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-07 22:56:37 +00:00
Mark Michelson
bdd8da406b Address review board feedback from Matt and Richard
* Remove extraneous whitespace
* Bump up debug levels of messages and add identifying info to messages.
* Account for potential failures of ao2_link()
* Add additional test and some more test data
* Add some comments in places where they could be useful
* Make threadpool listeners and their callbacks optional



git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378652 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-07 22:16:06 +00:00
Automerge script
f824b845ce Merged revisions 378458,378460 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r378458 | rmudgett | 2013-01-03 12:47:29 -0600 (Thu, 03 Jan 2013) | 18 lines
  
  chan_agent: Misc code cleanup.
  
  * Fix off-nominal path resource cleanup in agent_request().
  
  * Create agent_pvt_destroy() to eliminate inlined versions in many places.
  
  * Pull invariant code out of loop in add_agent().
  
  * Remove redundant module user references in login_exec().
  
  * Remove unused struct agent_pvt logincallerid[] member.
  ........
  
  Merged revisions 378456 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  ........
  
  Merged revisions 378457 from http://svn.asterisk.org/svn/asterisk/branches/11
................
  r378460 | kmoore | 2013-01-03 12:51:43 -0600 (Thu, 03 Jan 2013) | 13 lines
  
  Add missing test event
  
  This test event was missing from channel.c causing the dial_LS_options
  test to fail intermittently because of a race condition where most code
  paths emitted the test event but this one did not. The dial_LS_options
  test should stop bouncing now.
  ........
  
  Merged revisions 378455 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  ........
  
  Merged revisions 378459 from http://svn.asterisk.org/svn/asterisk/branches/11
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378467 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-03 19:19:40 +00:00
Automerge script
b375abae50 Merged revisions 378374,378377,378384 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r378374 | rmudgett | 2013-01-02 15:23:16 -0600 (Wed, 02 Jan 2013) | 33 lines
  
  Fix AMI redirect action with two channels failing to redirect both channels.
  
  The AMI redirect action can fail to redirect two channels that are bridged
  together.  There is a race between the AMI thread redirecting the two
  channels and the bridge thread noticing that a channel is hungup from the
  redirects.
  
  * Made the bridge wait for both channels to be redirected before exiting.
  
  * Made the AMI redirect check that all required headers are present before
  proceeding with the redirection.
  
  * Made the AMI redirect require that any supplied ExtraChannel exist
  before proceeding.  Previously the code fell back to a single channel
  redirect operation.
  
  (closes issue ASTERISK-18975)
  Reported by: Ben Klang
  
  (closes issue ASTERISK-19948)
  Reported by: Brent Dalgleish
  Patches:
        jira_asterisk_19948_v11.patch (license #5621) patch uploaded by rmudgett
  Tested by: rmudgett, Thomas Sevestre, Deepak Lohani, Kayode
  
  Review: https://reviewboard.asterisk.org/r/2243/
  ........
  
  Merged revisions 378356 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  ........
  
  Merged revisions 378358 from http://svn.asterisk.org/svn/asterisk/branches/11
................
  r378377 | mjordan | 2013-01-02 16:10:32 -0600 (Wed, 02 Jan 2013) | 24 lines
  
  Prevent crashes from occurring when reading from data sources with large values
  
  When reading configuration data from an Asterisk .conf file or when pulling
  data from an Asterisk RealTime backend, Asterisk was copying the data on the
  stack for manipulation. Unfortunately, it is possible to read configuration
  data or realtime data from some data source that provides a large blob of
  characters. This could potentially cause a crash via a stack overflow.
  
  This patch prevents large sets of data from being read from an ARA backend or
  from an Asterisk conf file.
  
  (issue ASTERISK-20658)
  Reported by: wdoekes
  Tested by: wdoekes, mmichelson
  patches:
   * issueA20658_dont_process_overlong_config_lines.patch uploaded by wdoekes (license 5674)
   * issueA20658_func_realtime_limit.patch uploaded by wdoekes (license 5674)
  ........
  
  Merged revisions 378375 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  ........
  
  Merged revisions 378376 from http://svn.asterisk.org/svn/asterisk/branches/11
................
  r378384 | mjordan | 2013-01-02 16:19:32 -0600 (Wed, 02 Jan 2013) | 11 lines
  
  Clean up app_mysql's application entry points to properly parse arguments
  
  When parsing arguments, application entry points should not attempt to
  directly modify the parameters to the function. This patch properly duplicates
  the passed in parameters before attempting to parse them.
  
  (issue ASTERISK-20658)
  Reported by: wdoekes
  patches:
    issueA20658_sanitize_app_mysql.patch uploaded by wdoekes (license 5674)
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378385 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-02 22:19:49 +00:00
Automerge script
675914bb17 Merged revisions 378322 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r378322 | mjordan | 2013-01-02 12:11:59 -0600 (Wed, 02 Jan 2013) | 33 lines
  
  Prevent exhaustion of system resources through exploitation of event cache
  
  Asterisk maintains an internal cache for devices in the event subsystem. The
  device state cache holds the state of each device known to Asterisk, such that
  consumers of device state information can query for the last known state for
  a particular device, even if it is not part of an active call. The concept of
  a device in Asterisk can include entities that do not have a physical
  representation. One way that this occurred was when anonymous calls are allowed
  in Asterisk. A device was automatically created and stored in the cache for
  each anonymous call that occurred; this was possible in the SIP and IAX2
  channel drivers and through channel drivers that utilized the
  res_jabber/res_xmpp resource modules (Gtalk, Jingle, and Motif). These devices
  are never removed from the system, allowing anonymous calls to potentially
  exhaust a system's resources.
  
  This patch changes the event cache subsystem and device state management to
  no longer cache devices that are not associated with a physical entity.
  
  (issue ASTERISK-20175)
  Reported by: Russell Bryant, Leif Madsen, Joshua Colp
  Tested by: kmoore
  patches:
    event-cachability-3.diff uploaded by jcolp (license 5000)
  ........
  
  Merged revisions 378303 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  ........
  
  Merged revisions 378320 from http://svn.asterisk.org/svn/asterisk/branches/10
  ........
  
  Merged revisions 378321 from http://svn.asterisk.org/svn/asterisk/branches/11
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-02 18:20:03 +00:00
Automerge script
5966364588 Merged revisions 378288 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r378288 | mjordan | 2013-01-02 09:39:42 -0600 (Wed, 02 Jan 2013) | 36 lines
  
  Resolve crashes due to large stack allocations when using TCP
  
  Asterisk had several places where messages received over various network
  transports may be copied in a single stack allocation. In the case of TCP,
  since multiple packets in a stream may be concatenated together, this can
  lead to large allocations that overflow the stack.
  
  This patch modifies those portions of Asterisk using TCP to either
  favor heap allocations or use an upper bound to ensure that the stack will not
  overflow:
   * For SIP, the allocation now has an upper limit
   * For HTTP, the allocation is now a heap allocation instead of a stack
     allocation
   * For XMPP (in res_jabber), the allocation has been eliminated since it was
     unnecesary.
  
  Note that the HTTP portion of this issue was independently found by Brandon
  Edwards of Exodus Intelligence.
  
  (issue ASTERISK-20658)
  Reported by: wdoekes, Brandon Edwards
  Tested by: mmichelson, wdoekes
  patches:
    ASTERISK-20658_res_jabber.c.patch uploaded by mmichelson (license 5049)
    issueA20658_http_postvars_use_malloc2.patch uploaded by wdoekes (license 5674)
    issueA20658_limit_sip_packet_size3.patch uploaded by wdoekes (license 5674)
  ........
  
  Merged revisions 378269 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  ........
  
  Merged revisions 378286 from http://svn.asterisk.org/svn/asterisk/branches/10
  ........
  
  Merged revisions 378287 from http://svn.asterisk.org/svn/asterisk/branches/11
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378296 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-02 16:20:01 +00:00