Commit graph

3769 commits

Author SHA1 Message Date
Richard Mudgett
2db3cc2e26 * 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/trunk@378889 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-10 02:40:50 +00:00
Richard Mudgett
e31002b9b2 * 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/trunk@378874 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-10 01:43:27 +00:00
Richard Mudgett
8760b2644e * 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/trunk@378859 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-09 23:51:45 +00:00
Richard Mudgett
63bd8de579 Fix logger.c function definition.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378854 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-09 23:22:00 +00:00
Richard Mudgett
e342ffb969 Trivial misc bridge code changes.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378840 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-09 22:56:08 +00:00
Richard Mudgett
32cb4ca542 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/trunk@378823 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-09 22:15:41 +00:00
Richard Mudgett
04501f0054 * Whitespace changes.
* Made ast_test_init() match its prototype.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378790 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-09 21:14:39 +00:00
Richard Mudgett
671499c8b2 * Found some more places to use ast_channel_lock_both().
* Minor optimization in ast_rtp_instance_early_bridge().


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378789 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-09 20:56:23 +00:00
David M. Lee
6dfcc86c0d 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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378783 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-09 20:30:33 +00:00
Kinsey Moore
ad582f9aef 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/trunk@378460 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-03 18:51:43 +00:00
Matthew Jordan
89f9e077d7 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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378377 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-02 22:10:32 +00:00
Richard Mudgett
5601f3be43 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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378374 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-02 21:23:16 +00:00
Matthew Jordan
8fb5bdce9a 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/trunk@378322 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-02 18:11:59 +00:00
Matthew Jordan
1fb06fde95 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/trunk@378288 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-02 15:39:42 +00:00
Sean Bright
cdf8498784 Revert 378248. I changed the logic of this function unitentionally, pointed out by file.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378249 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-01 17:10:42 +00:00
Sean Bright
9c20603dfc Bail out early when building an ast_trans_pvt and the translator doesn't supply a 'newpvt'
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378248 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-01 17:03:59 +00:00
Richard Mudgett
255d82aae3 Give the causes[] a struct name.
........

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378166 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-20 21:51:03 +00:00
Kinsey Moore
dec9ee2f04 Add test events for time limit-related hangups
This patch adds hangup-related test events in order to support testing
of time-limited bridges. This aids in testing the S() and L() bridge
options.

(issue SWP-4713)
........

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

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378122 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-18 17:48:36 +00:00
Richard Mudgett
5e2c52a546 Fix potential double free when unloading a module.
........

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

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378095 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-17 23:10:42 +00:00
Jason Parker
7ecf0aa94b Make libasteriskssl.so symlink use a relative path.
This was causing issues when using DESTDIR, since the path to which the link
pointed is not likely to exist (and not useful to exist) on the target system.

(issue ASTNOW-284)
........

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378074 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-17 20:59:51 +00:00
Jonathan Rose
ae655031b9 Features: BRIDGE_FEATURES variable automixmonitor support and use proper party
BRIDGE_FEATURES did not previously support the automixmonitor feature. Now it
does. In addition, the BRIDGE_FEATURES variable would not apply features to
the proper party based on whether the feature option letter was in caps or
in lowercase (both ways would apply it to the caller). Now uppercase applies
to the caller while lowercase applies to the callee (like with the dial option)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378063 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-14 22:34:18 +00:00
Russell Bryant
fad2637297 Remove compile time check HAVE_DEV_URANDOM.
The code was doing a runtime check, anyway.  The compile time check isn't
always valid (cross-compiling, packages).

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377977 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-13 16:18:52 +00:00
Mark Michelson
71b1e411b0 Re-add taskprocessor cleanup code that was removed by the UUID merge.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377975 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-13 15:40:03 +00:00
Michael L. Young
ff2414ce86 Convert Dynamic Features Buffer To Use ast_str
Currently, the buffer for the dynamic features list is set to a fixed size of
128.  If the list is bigger than that, it results in the dynamic feature(s) not
being recognized.

This patch changes the buffer from a fixed size to a dynamic one.

(closes issue ASTERISK-20680)
Reported by: Clod Patry
Tested by: Michael L. Young
Patches: 
    asterisk-20680-dynamic-features-v2.diff 
                                     uploaded by Michael L. Young (license 5026)

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377915 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-12 04:43:18 +00:00
Mark Michelson
9c74a60ba5 Add test events necessary for bridging tests to be able to properly run.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377906 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-11 22:42:11 +00:00
Richard Mudgett
d7c59c19a8 Cleanup CLI commands on exit for several files.
(issue ASTERISK-20649)
Reported by: Corey Farrell
Patches:
      unregister-cli-multiple-all.patch (license #5909) patch uploaded by Corey Farrell
........

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

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377884 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-11 22:03:23 +00:00
Richard Mudgett
b059bd4c28 Cleanup udptl on exit.
* Cleanup CLI commands on exit.

(issue ASTERISK-20649)
Reported by: Corey Farrell
Patches:
      udptl-shutdown-1_8-10.patch (license #5909) patch uploaded by Corey Farrell
      udptl-shutdown-11-trunk.patch (license #5909) patch uploaded by Corey Farrell
      Modified
........

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

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377867 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-11 21:22:45 +00:00
Mark Michelson
8cb156bfc1 Add UUID support to Asterisk.
This provides a common API for dealing with unique identifiers.
The API provides methods to create, parse, copy, and stringify UUIDs.

An accompanying unit test is provided that tests all operations.

(closes issue ASTERISK-20726)
reported by Matt Jordan

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377846 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-11 21:04:45 +00:00
Richard Mudgett
7f05e2c72e Cleanup taskprocessor on exit.
* Cleanup CLI commands on exit.

(issue ASTERISK-20649)
Reported by: Corey Farrell
Patches:
      taskprocessor-cleanup-1_8-11-trunk.patch (license #5909) patch uploaded by Corey Farrell
      taskprocessor-cleanup-10-only.patch (license #5909) patch uploaded by Corey Farrell
      Modified
........

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

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377841 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-11 20:46:23 +00:00
Richard Mudgett
4f6c90bf3a Cleanup pbx on exit.
* Cleanup CLI commands on exit.

* Unreference hints and statecbs containers on exit.

(issue ASTERISK-20649)
Reported by: Corey Farrell
Patches:
      pbx-cleanup-1_8.patch (license #5909) patch uploaded by Corey Farrell
      pbx-cleanup-10.patch (license #5909) patch uploaded by Corey Farrell
      pbx-cleanup-11-trunk.patch (license #5909) patch uploaded by Corey Farrell
      Modified
........

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

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377809 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-11 20:05:32 +00:00
Richard Mudgett
75a037c727 Cleanup logger on exit.
* Cleanup CLI commands, destroy verbosers and logchannels lists on exit.

(issue ASTERISK-20649)
Reported by: Corey Farrell
Patches:
      logger-cleanup-all.patch (license #5909) patch uploaded by Corey Farrell
      Modified
........

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

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377774 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-11 02:44:53 +00:00
Richard Mudgett
96a510e157 Cleanup indications on exit.
* Made ast_unregister_indication_country() unlink the found tone zone
before selecting a new default_tone_zone to make it impossible to select
the tone zone being unregistered again.

* Ringcadence is no longer parsed twice in store_config_tone_zone().

* Cleanup CLI commands and destroy default_tone_zone on exit.

(issue ASTERISK-20649)
Reported by: Corey Farrell
Patches:
      indications-cleanup-all.patch (license #5909) patch uploaded by Corey Farrell
      Modified
........

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

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377743 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-11 02:13:37 +00:00
Richard Mudgett
7990b03e4e Cleanup event on exit.
* Cleanup CLI commands on exit.

(issue ASTERISK-20649)
Reported by: Corey Farrell
Patches:
      event_shutdown-10-only.patch (license #5909) patch uploaded by Corey Farrell
      event_shutdown-1_8-11-trunk.patch (license #5909) patch uploaded by Corey Farrell
........

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

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377711 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-11 01:04:50 +00:00
Richard Mudgett
f7954f54db Cleanup dnsmgr on exit.
* Cleanup dnsmgr thread and CLI commands on exit.

(issue ASTERISK-20649)
Reported by: Corey Farrell
Patches:
      dnsmgr-cleanup-1_8.patch (license #5909) patch uploaded by Corey Farrell
      dnsmgr-cleanup-10-11-trunk.patch (license #5909) patch uploaded by Corey Farrell
      Modified
........

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

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377707 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-11 00:37:01 +00:00
Tilghman Lesher
ac16a70dce Improve documentation by making all of the colors used readable,
no matter what the background color is.

Dark blue on a black background is unreadable, as is yellow on a
light background.  This patch turns on the bright attribute for
colors when on a dark background and turns *off* the bright
attribute when the -W command line option is used (indicating a
_light_ background).  This ensures that text is readable in both
cases.

Patch by: tilghman
Review: https://reviewboard.asterisk.org/r/2224
........

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

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377512 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-10 01:41:50 +00:00
Richard Mudgett
1d11efe9f4 MALLOC_DEBUG: Only wait if we want atexit allocation dumps.
........

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

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377402 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-07 23:45:15 +00:00
Russell Bryant
ed72243022 Minor code cleanup in named_acl.c.
This patch makes a few little cleanups to named_acl.c.  A couple non-public
functions were made static and an opening brace for a function was moved to
its own line, per the coding guidelines.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377330 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-06 15:13:37 +00:00
Russell Bryant
75827ca16b Add CLI tab completion to 'acl show'.
The 'acl show' CLI command allows you to show the details about a specific
named ACL in acl.conf.  This patch adds tab completion to the command.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-06 15:06:47 +00:00
Matthew Jordan
905b2a5932 Fix memory leak in 'manager show event' when command entered incorrectly
When the CLI command 'manager show event' was run incorrectly and its usage
instructions returned, a reference to the event container was leaked. This
would prevent the container from being reclaimed when Asterisk exits. We now
properly decrement the count on the ao2 object using the nifty RAII_VAR macro.

Thanks to Russell for helping me stumble on this, and Terry for writing that
ridiculously helpful macro.
........

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377324 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-06 14:26:13 +00:00
Richard Mudgett
7c0b94a3e5 Remove init_framer(). It no longer does anything.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377246 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-05 02:23:10 +00:00
Richard Mudgett
4dcb973228 Fix registering core show codecs/codec CLI commands twice.
........

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377245 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-05 02:20:57 +00:00
Richard Mudgett
83c5fac6b1 Cleanup ast_run_atexits() atexits list.
* Convert atexits list to a mutex instead of a rd/wr lock.  The lock is
only write locked.

* Move CLI verbose Asterisk ending message to where AMI message is output
in really_quit() to avoid further surprises about using stuff already
shutdown.

(issue ASTERISK-20649)
Reported by: Corey Farrell
........

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

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377168 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-03 23:00:08 +00:00
Richard Mudgett
77561124b0 Cleanup core main on exit.
* Cleanup time zones on exit.

* Make exit clean/unclean report consistent for AMI and CLI in
really_quit().

(issue ASTERISK-20649)
Reported by: Corey Farrell
Patches:
      core-cleanup-1_8-10.patch (license #5909) patch uploaded by Corey Farrell
      core-cleanup-11-trunk.patch (license #5909) patch uploaded by Corey Farrell
      Modified
........

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

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377138 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-03 20:46:11 +00:00
Richard Mudgett
f9cc7a15ad Cleanup config cache on exit.
(issue ASTERISK-20649)
Reported by: Corey Farrell
Patches:
      config-cleanup-all.patch (license #5909) patch uploaded by Corey Farrell
........

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

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377107 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-03 19:33:06 +00:00
Richard Mudgett
595dd41c45 Cleanup CLI resources on exit and CLI command registration errors.
(issue ASTERISK-20649)
Reported by: Corey Farrell
Patches:
      cli-leaks-1_8-10.patch (license #5909) patch uploaded by Corey Farrell
      cli-leaks-11-trunk.patch (license #5909) patch uploaded by Corey Farrell
      Modified
........

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

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377077 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-03 19:17:24 +00:00
Richard Mudgett
b59c27000a Cleanup CDR resources on exit.
* Simplify do_reload() return handling since it never returned anything
other than 0.

(issue ASTERISK-20649)
Reported by: Corey Farrell
Patches:
      cdr-cleanup-1_8.patch (license #5909) patch uploaded by Corey Farrell
      cdr-cleanup-10-11-trunk.patch (license #5909) patch uploaded by Corey Farrell
      Modified
........

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

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-03 18:45:18 +00:00
Richard Mudgett
a36f73447d Fix CCSS CLI commands and logger level not unregistered.
(issue ASTERISK-20649)
Reported by: Corey Farrell
Patches:
      ccss-cleanup-all.patch (license #5909) patch uploaded by Corey Farrell
........

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

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377040 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-12-03 17:10:40 +00:00
David M. Lee
23c53c18c0 Fixed ast_random's comment about locking.
The original comment was separated from the code at some point, and didn't
reflect the use of libc's other than glibc for Linux.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@376821 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-11-29 17:16:50 +00:00
Richard Mudgett
2686dde98b Add MALLOC_DEBUG atexit unreleased malloc memory summary.
* Adds the following CLI commands to control MALLOC_DEBUG reporting of
unreleased malloc memory when Asterisk is shut down.
memory atexit list on
memory atexit list off
memory atexit summary byline
memory atexit summary byfunc
memory atexit summary byfile
memory atexit summary off

* Made check all remaining allocated region blocks atexit for fence
violations.

* Increased the allocated region hash table size by about three times.  It
still isn't large enough considering the number of malloced blocks
Asterisk uses.

* Made CLI "memory show allocations anomalies" use
regions_check_all_fences().

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

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

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@376791 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-11-29 00:48:12 +00:00
Richard Mudgett
e3a487d492 Enhance MALLOC_DEBUG CLI commands.
* Fixed CLI "memory show allocations" misspelling of anomalies option.
The command will still accept the original misspelling.

* Miscellaneous tweaks to CLI "memory show allocations" command output
format.

* Made CLI "memory show summary" summarize by line number instead of by
function if a filename is given.

* Made CLI "memory show summary" sort its output by filename or
function-name/line-number depending upon request.

* Miscellaneous tweaks to CLI "memory show summary" command output format.
........

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

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@376761 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-11-29 00:07:55 +00:00