* 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
* 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
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
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
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
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
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
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
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
* 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
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
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
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
* 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
* 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