Mark Michelson [Tue, 25 Sep 2012 14:13:08 +0000 (14:13 +0000)]
"He who go through turnstile sideways is going to Bangkok"
........
Merged revisions 373582 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373583
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Tue, 25 Sep 2012 13:29:37 +0000 (13:29 +0000)]
Fix documentation for default username in res_odbc
This was previously stated to be "root", but is actually the name of
the context if unspecified.
(closes issue ASTERISK-20258)
Reported by: Stefan x
........
Merged revisions 373578 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 373579 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 373580 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373581
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Joshua Colp [Tue, 25 Sep 2012 12:12:20 +0000 (12:12 +0000)]
Fix an issue where a caller to ast_write on a MulticastRTP channel would determine it failed when in reality it did not.
When sending RTP packets via multicast the amount of data sent is stored in a variable and returned
from the write function. This is incorrect as any non-zero value returned is considered a failure while
a return value of 0 is success. For callers (such as ast_streamfile) that checked the return value
they would have considered it a failure when in reality nothing went wrong and it was actually a success.
The write function for the multicast RTP engine now returns -1 on failure and 0 on success, as it should.
(closes issue ASTERISK-17254)
Reported by: wybecom
........
Merged revisions 373550 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 373551 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 373552 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373553
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Mon, 24 Sep 2012 22:14:28 +0000 (22:14 +0000)]
Be consistent, send From: "Anonymous" <sip:anonymous@anonymous.invalid>
When setting CALLERID(pres)=unavailable in the dialplan, the From header
in the SIP message contains "Anonymous" <sip:Anonymous@anonymous.invalid>.
For consistency, Asterisk should use a lowercase a in the userpart of the
URI.
* Make the From header use a lowercase A in the userpart of the anonymous
URI.
(closes issue ASTERISK-19838)
Reported by: Antti Yrjola
Patches:
chan_sip_patch_ASTERISK-19838.patch (license #6383) patch uploaded by Antti Yrjola
........
Merged revisions 373500 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 373501 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 373502 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373503
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jonathan Rose [Mon, 24 Sep 2012 21:19:49 +0000 (21:19 +0000)]
func_audiohookinherit: Document some missed sources.
This patch also mentions that AUDIOHOOK_INHERIT can be used to
transfer MixMonitor audiohooks. There is also wiki that addresses
audiohooks and the use of AUDIOHOOK_INHERIT at the following link:
https://wiki.asterisk.org/wiki/display/AST/Audiohooks
(closes issue ASTERISK-18220)
Reported by: Ishfaq Malik
........
Merged revisions 373467 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 373468 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 373470 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373479
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Mon, 24 Sep 2012 21:15:26 +0000 (21:15 +0000)]
Fix potential reentrancy problems in chan_sip.
Asterisk v1.8 and later was not as vulnerable to this issue.
* Made find_call() lock each private as it processes the found dialogs.
(Primary cause of ABE-2876)
* Made the other functions that traverse the dialogs container lock each
private as it examines them.
* Fix race condition in sip_call() if the thread that sent the INVITE is
held up long enough for a response to be processed. The p->initid for the
INVITE retransmission could be added after it was canceled by the response
processing.
* Made __sip_destroy() clean up resource pointers after freeing. This is
primarily defensive in case someone has a stale private pointer.
* Removed redundant memset() in reqprep(). The call to init_req() already
does the memset() and is the first reference to req in reqprep().
* Removed useless set of req.method in transmit_invite(). The calls to
initreqprep() and reqprep() have to do this because they memset() the req.
JIRA ABE-2876
..........
Merged -r373423 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
........
Merged revisions 373424 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 373466 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 373469 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373471
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Joshua Colp [Mon, 24 Sep 2012 19:23:32 +0000 (19:23 +0000)]
Fix a deadlock caused by a race condition between removing a hint and reloading the dialplan and subscribing to the removed hint.
If conditions were right it was possible for both the PBX core and chan_sip to deadlock by both having a lock that the other
wants. In the case of the PBX core it had the contexts lock and wanted a SIP dialog lock, while in the case of chan_sip it
had the SIP dialog lock and wanted the contexts lock.
This fix unlocks the SIP dialog before getting the extension state so that the other thread will not block on trying to lock
it. Once the extension state is retrieved the SIP dialog is locked again and life carries on.
As the SIP dialog is reference counted it is not possible for it to go away after unlocking.
(closes issue ASTERISK-20437)
Reported by: jhutchins
........
Merged revisions 373438 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 373440 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 373454 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373456
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Joshua Colp [Mon, 24 Sep 2012 14:27:17 +0000 (14:27 +0000)]
Fix an issue with H.264 format attribute comparison and fix an issue with improper SDP being produced.
The H.264 format attribute module compares two format attribute structures to determine if they are
compatible or not. In some instances it was possible for this check to determine that both structures
were incompatible when they actually should be considered compatible. This check has now been made even
more permissive by assuming that if no attribute information is available the two structures are compatible.
If both structures contain attribute information a base level comparison of the H.264 IDC value is done to
see if they are compatible or not.
The above issue uncovered a secondary issue in chan_sip where the SDP being produced would be incorrect if
the formats were considered incompatible. This has now been fixed by checking that all information required
to produce the SDP is available instead of assuming it is.
(closes issue ASTERISK-20464)
Reported by: Leif Madsen
........
Merged revisions 373413 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373414
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Brent Eagles [Mon, 24 Sep 2012 12:42:19 +0000 (12:42 +0000)]
res_rtp_asterisk: Make TURN and STUN server configurations consistent.
This patch removes the turnport configuration property and changes the
turnaddr property to be a combined host[:port] configuration string. The
patch also modifies the documentation in the example configuration to
reflect the property changes and adds some additional text indicating how
the STUN port is configured.
(closes issue ASTERISK-20344)
Reported by: beagles
Tested by: beagles
Review: https://reviewboard.asterisk.org/r/2111/
........
Merged revisions 373403 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373404
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Andrew Latham [Sat, 22 Sep 2012 20:43:30 +0000 (20:43 +0000)]
Doxygen Updates Janitor Work
* Whitespace, doc-blocks, spelling, case, missing and incorrect tags.
* Add cleanup to Makefile for the Doxygen configuration update
* Start updating Doxygen configuration for cleaner output
* Enable inclusion of configuration files into documentation
* remove mantisworkflow...
* update documentation README
* Add markup to Tilghman's email and talk with him about updating his email, he knows...
* no code changes on this commit other than the mentioned Makefile change
(issue ASTERISK-20259)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373384
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jonathan Rose [Fri, 21 Sep 2012 19:35:37 +0000 (19:35 +0000)]
iax2-provision: Fix improper return on failed cache retrieval
(closes issue ASTERISK-20337)
reported by: John Covert
Patches:
iax2-provision.c.patch uploaded by John Covert (license 5512)
........
Merged revisions 373342 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 373343 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 373368 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373369
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Andrew Latham [Fri, 21 Sep 2012 18:22:05 +0000 (18:22 +0000)]
Update Doxygen Config Comments
This annoying update is almost totally whitespace and updated config comments. I did add Python to the documented file types.
(issue ASTERISK-20259)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373341
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Andrew Latham [Fri, 21 Sep 2012 17:14:59 +0000 (17:14 +0000)]
Doxygen Updates - janitor work
Doxygen updates including mistakes, misspellings, missing parameters, updates for Doxygen style. Some missing txt file links are removed but their content or essense will be included in some later updates. A majority of the txt files were removed in the 1.6 era but never noted. The HR and EXTREF are simple changes that make the documentation more compatable with more versions of Doxygen.
Further updates coming.
(issue ASTERISK-20259)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373330
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Andrew Latham [Fri, 21 Sep 2012 16:06:30 +0000 (16:06 +0000)]
Start work on documentation janitor project with a little commit. This adds a link to the Asterisk wiki at https://wiki.asterisk.org to the README file.
(issue ASTERISK-20259)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373320
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jonathan Rose [Fri, 21 Sep 2012 15:41:09 +0000 (15:41 +0000)]
app_queue: Make queue reload members and variants of that work
Prior to this patch, 'queue reload members' cli command did not
work at all. This also affects the manager function 'QueueReload'
when supplied with the 'members: yes' field.
(closes issue AST-956)
Reported by: John Bigelow
........
Merged revisions 373298 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 373300 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 373318 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373319
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Alec L Davis [Fri, 21 Sep 2012 09:11:39 +0000 (09:11 +0000)]
dsp.c: remove more whitespace mentioned in review2107
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373284
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Alec L Davis [Fri, 21 Sep 2012 06:51:25 +0000 (06:51 +0000)]
dsp.c ast_dsp_call_progress use local short variable in loop, plus other cleanup
janitor cleanup. No functional change.
1). ast_dsp_call_progress: use 'short samp' instead of s[x] inside loop.
apply same casting as other _init, dsp->energy = (int32_t) samp * (int32_t) samp
2). ast_dtmf_detect_init: move repeated setting of s->energy to outside of loop.
do goertzel_init loop first before setting s->lasthit and s->current_hit, consistant with ast_dsp_digitreset()
3). ast_mf_detect_init:
do goertzel_init loop first before setting s->hits[] and s->current_hit, consistant with ast_dsp_digitreset()
4). Don't chain init different variables, as the type may change
Review https://reviewboard.asterisk.org/r/2107/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373275
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Joshua Colp [Thu, 20 Sep 2012 19:16:59 +0000 (19:16 +0000)]
Fix incorrect MeetME conference bridge reference count decrementing and sometimes premature destruction.
When using the 'e' or 'E' option to MeetMe the configured conference bridges are loaded and examined to see
if any are empty. If no conference bridges are empty the caller is prompted to enter the number of one.
This operation left around a pointer to the last created conference bridge still containing participants.
When the caller that was not able to find any empty conference bridge hung up this pointer was disposed of
and the reference count of the conference bridge decremented. If there was only a single participant in the
conference bridge it was ultimately destroyed prematurely.
(closes issue AST-994)
Reported by: John Bigelow
........
Merged revisions 373242 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 373245 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 373246 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373247
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Thu, 20 Sep 2012 18:59:39 +0000 (18:59 +0000)]
Blocked revisions 373240
........
app_queue: Support an 'agent available' hint
Sets INUSE when no free agents, NOT_INUSE when an agent is free.
modifes handle_statechange() scan members loop to scan for a free agent
and updates the Queue:queuename_avial devstate.
Previously exited early if the member was found in the queue.
Now Exits later when both a member was found, and a free agent was found.
alecdavis (license 585)
Reported by: Alec Davis
Tested by: alecdavis
Review: https://reviewboard.asterisk.org/r/2121/
~~~~
Support all ways a member can be available for 'agent available' hints
Alec's patch in r373188 added the ability to subscribe to a hint for when
Queue members are available. This patch modifies the check that determines
when a Queue member is available by refactoring the availability checks in
num_available_members into a shared function is_member_available. This
should now handle the ringinuse option, as well as device state values
other than AST_DEVICE_NOT_INUSE.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373241
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Thu, 20 Sep 2012 18:44:26 +0000 (18:44 +0000)]
Add queue monitoring hints
This patch adds support for hints on a queue. Hints can be added using
the nomenclature 'Queue:name', where name is the name of the queue being
monitored.
This nifty feature was done by Alec Davis.
Review: https://reviewboard.asterisk.org/r/1619
Reported by: Alec Davis
Tested by: alecdavis
patches:
review1619.diff2 by alecdavis (license 585)
........
Merged revisions 373235 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373239
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Joshua Colp [Thu, 20 Sep 2012 18:27:28 +0000 (18:27 +0000)]
Add support for DTLS-SRTP to res_rtp_asterisk and chan_sip.
As mentioned on the review for this, WebRTC has moved towards choosing
DTLS-SRTP as the mechanism for key exchange for SRTP. This commit adds
support for this but makes it available for normal SIP clients as well.
Testing has been done to ensure that this introduces no regressions with
existing behavior and also that it functions as expected.
Review: https://reviewboard.asterisk.org/r/2113/
........
Merged revisions 373229 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373234
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Thu, 20 Sep 2012 18:02:02 +0000 (18:02 +0000)]
Support all ways a member can be available for 'agent available' hints
Alec's patch in r373188 added the ability to subscribe to a hint for when
Queue members are available. This patch modifies the check that determines
when a Queue member is available by refactoring the availability checks in
num_available_members into a shared function is_member_available. This
should now handle the ringinuse option, as well as device state values
other than AST_DEVICE_NOT_INUSE.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373222
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Thu, 20 Sep 2012 17:22:41 +0000 (17:22 +0000)]
Named call pickup groups. Fixes, missing functionality, and improvements.
* ASTERISK-20383
Missing named call pickup group features:
CHANNEL(callgroup) - Need CHANNEL(namedcallgroup)
CHANNEL(pickupgroup) - Need CHANNEL(namedpickupgroup)
Pickup() - Needs to also select from named pickup groups.
* ASTERISK-20384
Using the pickupexten, the pickup channel selection could fail even though
there was a call it could have picked up. In a call pickup race when
there are multiple calls to pickup and two extensions try to pickup a
call, it is conceivable that the loser will not pick up any call even
though it could have picked up the next oldest matching call.
Regression because of the named call pickup group feature.
* See ASTERISK-20386 for the implementation improvements. These are the
changes in channel.c and channel.h.
* Fixed some locking issues in CHANNEL().
(closes issue ASTERISK-20383)
Reported by: rmudgett
(closes issue ASTERISK-20384)
Reported by: rmudgett
(closes issue ASTERISK-20386)
Reported by: rmudgett
Tested by: rmudgett
Review: https://reviewboard.asterisk.org/r/2112/
........
Merged revisions 373220 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373221
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Thu, 20 Sep 2012 13:04:22 +0000 (13:04 +0000)]
Correct handling of unknown SDP stream types
When the patch to handle arbitrary SDP stream arrangements went into
Asterisk, it also included an ability to transparently decline unknown
stream types. The scanf calls used were not checked properly causing
this part of the functionality to be broken.
(closes issue ASTERISK-20203)
........
Merged revisions 373211 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373212
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Sean Bright [Thu, 20 Sep 2012 11:05:40 +0000 (11:05 +0000)]
When trying to unload res_curl.so, warn about all dependent modules.
Before this, attempting to unload res_curl.so would warn you about the first
module it found that was dependent. We now warn about all of the loaded modules
instead.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373203
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Alec L Davis [Thu, 20 Sep 2012 10:41:30 +0000 (10:41 +0000)]
dsp.c: remove whitespace mentioned in review2107
Related https://reviewboard.asterisk.org/r/2107/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373202
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Alec L Davis [Wed, 19 Sep 2012 22:33:12 +0000 (22:33 +0000)]
app_queue: Support an 'agent available' hint
Sets INUSE when no free agents, NOT_INUSE when an agent is free.
modifes handle_statechange() scan members loop to scan for a free agent
and updates the Queue:queuename_avial devstate.
Previously exited early if the member was found in the queue.
Now Exits later when both a member was found, and a free agent was found.
alecdavis (license 585)
Reported by: Alec Davis
Tested by: alecdavis
Review: https://reviewboard.asterisk.org/r/2121/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373188
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Sean Bright [Tue, 18 Sep 2012 20:19:49 +0000 (20:19 +0000)]
Make the casing of CALL_ID in debug messages consistent to satisfy my OCD.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373142
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Sean Bright [Tue, 18 Sep 2012 20:14:33 +0000 (20:14 +0000)]
Don't crash when passing a NULL message to __astman_get_header.
Before this commit, __astman_get_header would blindly dereference the passed in
'struct message *' to traverse the header list. There are cases, however, such
as '*CLI> sip qualify peer foo' where the message pointer is NULL, so we need
to check for that.
........
Merged revisions 373131 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 373132 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 373133 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373134
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Tue, 18 Sep 2012 15:50:35 +0000 (15:50 +0000)]
Add -fnested-functions compile flag, if needed.
In order to use nested functions on some versions of GCC (e.g. GCC on OS X),
the -fnested-functions flag must be passed to the compiler. This patch adds
detection logic to ./configure to add the flag if necessary. It also adds
a comment to utils.h as to why the nested function needs a prototype.
(closes issue ASTERISK-20399)
Reported by: David M. Lee
Review: https://reviewboard.asterisk.org/r/2102/
........
Merged revisions 373119 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373120
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Sat, 15 Sep 2012 00:32:37 +0000 (00:32 +0000)]
Made companding law for SS7 calls only determined by SS7 signaling type.
For SS7, the companding law for a call was chosen inconsistently depending
upon ss7type (ITU vs ANSI) and the DAHDI companding default (T1 vs E1).
For incoming calls, the companding law was determined by ss7type. For
outgoing calls, the companding law was determined by the DAHDI default.
With the wrong combination you would get A-law/u-law conflicts. An
A-law/u-law conflict sounds like bad static on the line.
SS7 ITU signaling with E1 line: ok
SS7 ITU signaling with T1 line: noise
SS7 ANSI signaling with E1 line: noise
SS7 ANSI signaling with T1 line: ok
* Fix the companding law used to be determined by the SS7 signaling type
only.
........
Merged revisions 373090 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 373101 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 373107 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373108
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Fri, 14 Sep 2012 19:53:43 +0000 (19:53 +0000)]
Resolve memory leaks in TLS initialization and TLS client connections
This patch resolves two sources of memory leaks when using TLS in Asterisk:
1) It removes improper initialization (and multiple re-initializations) of
portions of the SSL library. Asterisk calls SSL_library_init and
SSL_load_error_strings during SSL initialization; collectively this
obviates the need for calling any of the following during initialization
or client connection handling:
* ERR_load_crypto_strings (handled by SSL_load_error_strings)
* OpenSSL_add_all_algorithms (synonym for SSL_library_init)
* SSLeay_add_ssl_algorithms (synonym for SSL_library_init)
2) Failure to completely clean up all memory allocated by Asterisk and by
the SSL library for TLS clients. This included not freeing the SSL_CTX
object in the SIP channel driver, as well as not clearing the error
stack when the TLS client exited.
Note that these memory leaks were found by Thomas Arimont, and this patch
was essentially written by him with some minor tweaks.
(closes issue AST-889)
Reported by: Thomas Arimont
Tested by: Thomas Arimont
patches:
(bugAST-889.patch) by Thomas Arimont (license 5525)
Review: https://reviewboard.asterisk.org/r/2105
........
Merged revisions 373061 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 373062 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 373079 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373080
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Thu, 13 Sep 2012 20:05:54 +0000 (20:05 +0000)]
Fixed make clean when configured --disable-asteriskssl
........
Merged revisions 373047 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373048
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Thu, 13 Sep 2012 20:02:56 +0000 (20:02 +0000)]
Fix timeouts for ast_waitfordigit[_full].
ast_waitfordigit_full would simply pass its timeout to ast_waitfor_nandfds,
expecting it to decrement the timeout by however many milliseconds were
waited. This is a problem if it consistently waits less than 1ms. The timeout
will never be decremented, and we wait... FOREVER!
This patch makes ast_waitfordigit_full manage the timeout itself. It maintains
the previously undocumented behavior that negative timeouts wait forever.
(closes issue ASTERISK-20375)
Reported by: Mark Michelson
Tested by: Mark Michelson
Review: https://reviewboard.asterisk.org/r/2109/
........
Merged revisions 373024 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 373025 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 373029 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373046
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Wed, 12 Sep 2012 21:02:29 +0000 (21:02 +0000)]
Enhance astobj2 to support other types of containers.
The new API allows for sorted containers, insertion options, duplicate
handling options, and traversal order options.
* Adds the ability for containers to be sorted when they are created.
* Adds container creation options to handle duplicates when they are
inserted.
* Adds container creation option to insert objects at the beginning or end
of the container traversal order.
* Adds OBJ_PARTIAL_KEY to allow searching with a partial key. The partial
key works similarly to the OBJ_KEY flag. (The real search speed
improvement with this flag will come when red-black trees are added.)
* Adds container traversal and iteration order options: Ascending and
Descending.
* Adds an AST_DEVMODE compile feature to check the stats and integrity of
registered containers using the CLI "astobj2 container stats <name>" and
"astobj2 container check <name>". The channels container is normally
registered since it is one of the most important containers in the system.
* Adds ao2_iterator_restart() to allow iteration to be restarted from the
beginning.
* Changes the generic container object to have a v_method table pointer to
support other types of containers.
* Changes the container nodes holding objects to be ref counted.
The ref counted nodes and v_method table pointer changes pave the way to
allow other types of containers.
* Includes a large astobj2 unit test enhancement that tests the new
features.
(closes issue ASTERISK-19969)
Reported by: rmudgett
Review: https://reviewboard.asterisk.org/r/2078/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372997
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Joshua Colp [Wed, 12 Sep 2012 20:54:38 +0000 (20:54 +0000)]
Skip any non-content information when looking for and handling content.
This fixes a bug with Jitsi and conference calling. Jitsi implements XEP-0298
which places some conference-info information in the session-initiate request
which chan_motif did not expect to occur.
........
Merged revisions 372995 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372996
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jonathan Rose [Wed, 12 Sep 2012 18:33:47 +0000 (18:33 +0000)]
res_xmpp: Fix a segfault caused by bodyless messages
(closes issue ASTERISK-20361)
Reported by: Noah Engelberth
Review: https://reviewboard.asterisk.org/r/2108/
........
Merged revisions 372984 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372985
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jonathan Rose [Wed, 12 Sep 2012 17:13:02 +0000 (17:13 +0000)]
logger: Add rotatestrategy option of 'none' which does not perform rotations
With this option in use, it may be necessary to regulate your log files
externally.
(closes issue ASTERISK-20189)
Reported by: Jaco Kroon
Patches:
asterisk-logger-norotate-trunk.patch uploaded by Jaco Kroon (license 5671)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372976
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Wed, 12 Sep 2012 15:21:19 +0000 (15:21 +0000)]
Add channel name to a warning to make debugging easier.
The "autodestruct with owner in place" message is typically
indicative of a channel reference leak. Printing out the name
of the channel in the message may be helpful when trying to
debug the issue.
........
Merged revisions 372932 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372933 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372937 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372943
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Wed, 12 Sep 2012 14:22:54 +0000 (14:22 +0000)]
Fixed r372696 when configured --disable-asteriskssl; properly install libasteriskssl.dylib on OS X.
I didn't realize that libasteriskssl.c was still compiled, even when you
disable asteriskssl; it simple gets statically linked into asterisk.
........
Merged revisions 372930 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372931
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jonathan Rose [Tue, 11 Sep 2012 22:40:02 +0000 (22:40 +0000)]
chan_local: Switch from using a random 4 digit hex identifier to unique id
Changes chan_local channels to use an 8 digit hex identifier generated
atomically and sequentially in order to eliminate the chance of having
multiple channels with the same name during high call volume situations.
(issue ASTERISK-20318)
Reported by: Dan Cropp
Review: https://reviewboard.asterisk.org/r/2104/
........
Merged revisions 372902 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372916 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372917 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372918
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Tue, 11 Sep 2012 21:17:53 +0000 (21:17 +0000)]
Fix inability to shutdown gracefully due to an unending channel reference.
message.c makes use of a special message queue channel that exists
in thread storage. This channel never goes away due to the fact that
the taskprocessor used by message.c does not get shut down, meaning
that it never ends the thread that stores the channel.
This patch fixes the problem by shutting down the taskprocessor when
Asterisk is shut down. In addition, the thread storage has a destructor
that will release the channel reference when the taskprocessor is destroyed.
(closes issue AST-937)
Reported by Jason Parker
Patches:
AST-937.patch uploaded by Mark Michelson (License #5049)
Tested by Jason Parker
........
Merged revisions 372885 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372888 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372891
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Tue, 11 Sep 2012 21:13:26 +0000 (21:13 +0000)]
Fix bad channel application data reference.
When channels get bridged due to an AMI bridge action
or a DTMF attended transfer, the two channels that
get bridged have their application data pointing to
the other channel's name. This means that if one channel
is hung up but the other moves on, it means that the
channel that moves on will have its application data
pointing at freed memory.
(issue ASTERISK-20335)
Reported by: aragon
........
Merged revisions 372840 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372841 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372886 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372887
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Tue, 11 Sep 2012 18:09:22 +0000 (18:09 +0000)]
Corrects the astsbindir setting when installing the sample asterisk.conf.
(closes issue ASTERISK-20406)
........
Merged revisions 372863 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372864 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372874
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jonathan Rose [Tue, 11 Sep 2012 14:43:41 +0000 (14:43 +0000)]
chan_sip: Fix CHANGES and UPGRADE.txt for r372808
(issue AST-969)
Reported by John Bigelow
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372832
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jonathan Rose [Mon, 10 Sep 2012 21:15:38 +0000 (21:15 +0000)]
chan_sip: Change SIPQualifyPeer to improve initial response time
Prior to this patch, The acknowledgement wasn't produced until after
executing the sip_poke_peer action actually responsible for
qualifying the peer. Now the response is given immediately once it is
known that a peer will be qualified and a SIPqualifypeerdone event
is issued when the process is finished. Thanks to OEJ for identifying
the problem and helping to come up with a solution.
(issue AST-969)
Reported by John Bigelow
Review: https://reviewboard.asterisk.org/r/2098/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372808
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Mon, 10 Sep 2012 21:00:22 +0000 (21:00 +0000)]
Ensure iax2 debug output is displayed when expected
When IAX2 debug was changed from iax_showframe to iax_outputframe,
some instances were missed (or added afterward). This was causing
debug output to not be displayed when expected.
(closes issue ASTERISK-20338)
Reported-by: John Covert
Patch-by: John Covert
........
Merged revisions 372804 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372805 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372806 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372807
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Mon, 10 Sep 2012 19:49:30 +0000 (19:49 +0000)]
Deprecate chan_gtalk, chan_jingle, and res_jabber
chan_gtalk, chan_jingle, and res_jabber are now deprecated in favor of
using chan_motif and res_xmpp. They are a feature-equivalent
replacement and are written to be more easily maintainable.
(closes issue ASTERISK-20298)
Review: https://reviewboard.asterisk.org/r/2082/
Reported-by: Leif Madsen
........
Merged revisions 372795 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372796
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Mon, 10 Sep 2012 19:22:54 +0000 (19:22 +0000)]
res_rtp_asterisk: Eliminate "type-punned pointer" build warning.
Removes "res_rtp_asterisk.c:706: warning: dereferencing type-punned pointer
will break strict-aliasing rules" warning from the build on 32-bit platforms.
The problem is that 'size' was referenced aliased to both (pj_size_t *) and
(pj_ssize_t *). Now just make a copy of size that is the right type so there
isn't any pointer aliasing happening.
It also adds comments and asserts regarding what looks like an inappropriate
use of pj_sock_sendto, but is actually totally fine.
(closes issue ASTERISK-20368)
Reported by: Shaun Ruffell
Tested by: Michael L. Young
Patches:
0001-res_rtp_asterisk-Eliminate-type-punned-pointer-build.patch uploaded by Shaun Ruffell (license 5417)
slightly modified by David M. Lee.
........
Merged revisions 372777 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372787
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jonathan Rose [Mon, 10 Sep 2012 18:58:12 +0000 (18:58 +0000)]
app_meetme: Document that 'p' option will continue in dialplan.
(closes issue AST-991)
Reported by John Bigelow
........
Merged revisions 372765 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372767 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372768 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372769
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jonathan Rose [Mon, 10 Sep 2012 17:41:57 +0000 (17:41 +0000)]
Masquerade: Retain parkinglot settings made by CHANNEL function.
Prior to this patch, the user would have a parkinglot set on a channel that
was parked and when the channel was retrieved, any attempt by that channel
to park would simply use the default. This patch makes parkinglot values
set in this way be retained through the masquerade.
(closes issue AST-990)
Reported by: Nick Huskinson
Patches:
masquerade_parkinglot_patch.diff Uploaded by Jonathan Rose (license 6182)
........
Merged revisions 372736 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372737 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372754 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372755
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Sun, 9 Sep 2012 01:28:31 +0000 (01:28 +0000)]
Only re-create an SRTP session when needed
In r356604, SRTP handling was fixed to accomodate multiple crypto keys in an
SDP offer and the ability to re-create an SRTP session when the crypto keys
changed. In certain circumstances - most notably when a phone is put on
hold after having been bridged for a significant amount of time - the act
of re-creating the SRTP session causes problems for certain models of phones.
The patch committed in r356604 always re-created the SRTP session regardless
of whether or not the cryptographic keys changed. Since this is technically
not necessary, this patch modifies the behavior to only re-create the SRTP
session if Asterisk detects that the remote key has changed. This allows
models of phones that do not handle the SRTP session changing to continue
to work, while also providing the behavior needed for those phones that do
re-negotiate cryptographic keys.
(issue ASTERISK-20194)
Reported by: Nicolo Mazzon
Tested by: Nicolo Mazzon
Review: https://reviewboard.asterisk.org/r/2099
........
Merged revisions 372709 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372710 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372711 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372712
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Sat, 8 Sep 2012 06:18:48 +0000 (06:18 +0000)]
Add OPENSSL_INCLUDE to the CFLAGS for ssl.c and tcptls.c.
Without this flag, those files will compile with the system installed
OpenSSL headers (if they exist). This is a real bummer if a different
path was specified using --with-ssl=
(closes issue ASTERISK-20392)
........
Merged revisions 372682 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Recorded merge of revisions 372695 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Recorded merge of revisions 372696 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372699
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Fri, 7 Sep 2012 23:10:05 +0000 (23:10 +0000)]
Fix MALLOC_DEBUG version of ast_strndup().
(closes issue ASTERISK-20349)
Reported by: Brent Eagles
........
Merged revisions 372655 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372656 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372657 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372658
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Fri, 7 Sep 2012 22:10:33 +0000 (22:10 +0000)]
Remove annoying unconditional debug message from INC/DEC functions.
(closes issue AST-1001)
Reported by: Guenther Kelleter
........
Merged revisions 372628 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372629 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372630 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372631
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Fri, 7 Sep 2012 21:51:31 +0000 (21:51 +0000)]
Fix exception path typo in app_queue.c try_calling().
(closes issue ASTERISK-20380)
Reported by: Jeremy Pepper
Patches:
fix-local-channel-locking.patch (license #6350) patch uploaded by Jeremy Pepper
........
Merged revisions 372624 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372625 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372626 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372627
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Fri, 7 Sep 2012 21:30:17 +0000 (21:30 +0000)]
Fix VoicemailUserEntry event headers ServerEmail and MailCommand reported values.
The AMI action VoicemailUsersList VoicemailUserEntry event headers
ServerEmail and MailCommand did not report the global values if they were
not overridden. The VoicemailUserEntry event header ServerEmail was not
populated with the global value if the voicemail user did not override it.
The VoicemailUserEntry event header MailCommand was never populated with a
value.
* Removed unused struct ast_vm_user member mailcmd[].
(closes issue AST-973)
Reported by: John Bigelow
Tested by: rmudgett
........
Merged revisions 372620 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372621 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372622 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372623
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Fri, 7 Sep 2012 21:04:48 +0000 (21:04 +0000)]
svn:ignore cleanup.
* pjproject bin and lib directories should pretty much ignore everything
* Ignore *.o in codecs/ilbc
........
Merged revisions 372611 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372612
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Fri, 7 Sep 2012 20:53:48 +0000 (20:53 +0000)]
Fix parallel make for res_asterisk_rtp.
Fixes a build regression introduced in r369517 "Add support for ICE/STUN/TURN
in res_rtp_asterisk and chan_sip." [1].
[1] http://svnview.digium.com/svn/asterisk?view=revision&revision=369517
When compiling asterisk in parallel like:
$ make -j 10
It's possible to get errors like the following:
.pjlib-util-test-x86_64-unknown-linux-gnu.depend:120: *** missing separator. Stop.
make[4]: *** [depend] Error 2
make[3]: *** [dep] Error 1
make[2]: *** [/home/sruffell/asterisk-working/res/pjproject/pjnath/lib/libpjnath-x86_64-unknown-linux-gnu.a] Error 2
make[3]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule.
This is because the build system is trying to build each of the libraries in
pjproject in parallel. Now the build will build pjproject in a single job and
link the results into res_asterisk_rtp.
Parallel builds, on one test system, saves ~1.5 minutes from a default Asterisk
build:
Single job:
$ git clean -fdx >/dev/null && time ( ./configure >/dev/null 2>&1 && make >/dev/null 2>&1 )
real 2m34.529s
user 1m41.810s
sys 0m15.970s
Parallel make:
$ git clean -fdx >/dev/null && time ( ./configure >/dev/null 2>&1 && make -j10 >/dev/null 2>&1 )
real 1m2.353s
user 2m39.120s
sys 0m18.850s
(closes issue ASTERISK-20362)
Reported by: Shaun Ruffel
Patches:
0001-res_asterisk_rtp-Fix-build-error-when-using-parallel.patch uploaded by Shaun Ruffel (License #5417)
........
Merged revisions 372609 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372610
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Fri, 7 Sep 2012 02:27:42 +0000 (02:27 +0000)]
Free ast_str objects when temp file fails to be created in MiniVM
The previous commit (r372554) was from a patch that was written before
r366880, which ensured that ast_str objects allocated in the sendmail
routine were free'd in off nominal paths. This commit frees the
string objects in the off nominal path introduced in r372554.
(issue ASTERISK-17133)
Reported by: Tzafrir Cohen
........
Merged revisions 372581 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372582 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372583 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372584
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Fri, 7 Sep 2012 02:16:54 +0000 (02:16 +0000)]
Fix file descriptor leak and pointer scope issue in MiniVM when sending mail
When MiniVM sends an e-mail and it has the volgain option set, it will spawn
sox in a separate process to handle the manipulation of the sound file. In
doing so, it creates a temporary file. There are two problems here:
1) The file descriptor returned from mkstemp is leaked
2) The finalfilename character pointer points to a buffer that loses scope
once volgain processing is finished.
Note that in r316265, Russell fixed some gcc warnings by using the return
value of the mkstemp call. A warning was placed in minivm that the file
descriptor was going to be leaked. This patch reverts that change, as it
handles the leak and 'uses' the file descriptor returned from mkstemp.
(closes issue ASTERISK-17133)
Reported by: Tzafrir Cohen
patches:
minivm_18501_demo.diff uploaded by Tzafrir Cohen (license #5035)
........
Merged revisions 372554 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372555 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372556 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372557
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Thu, 6 Sep 2012 22:21:12 +0000 (22:21 +0000)]
Update QueueMemberStatus event documentation to include member status values
The Status: header in a QueueMemberStatus event (and other QueueMember* events)
is the numeric value of the device state corresponding to that Queue Member.
As those values are not exactly obvious, listing them in the documentation is
useful.
Matt Riddell reported this indirectly through the wiki page.
(closes issue ASTERISK-20243)
Reported by: Matt Riddell
........
Merged revisions 372531 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372538
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Thu, 6 Sep 2012 22:14:52 +0000 (22:14 +0000)]
Fix loss of MOH on an ISDN channel when parking a call for the second time.
Using the AMI redirect action to take an ISDN call out of a parking lot
causes the MOH state to get confused. The redirect action does not take
the call off of hold. When the call is subsequently parked again, the
call no longer hears MOH.
* Make chan_dahdi/sig_pri restart MOH on repeated AST_CONTROL_HOLD frames
if it is already in a state where it is supposed to be sending MOH. The
MOH may have been stopped by other means. (Such as killing the generator.)
This simple fix is done rather than making the AMI redirect action post an
AST_CONTROL_UNHOLD unconditionally when it redirects a channel and thus
potentially breaking something with an unexpected AST_CONTROL_UNHOLD.
(closes issue ABE-2873)
Patches:
jira_abe_2873_c.3_bier.patch (license #5621) patch uploaded by rmudgett
........
Merged revisions 372521 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
........
Merged revisions 372522 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372523 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372524
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Thu, 6 Sep 2012 21:43:18 +0000 (21:43 +0000)]
Ensure listed queues are not offered for completion
When using tab-completion for the list of queues on "queue reset stats"
or "queue reload {all|members|parameters|rules}", the tab-completion
listing for further queues erroneously listed queues that had already
been added to the list. The tab-completion listing now only displays
queues that are not already in the list.
(closes issue AST-963)
Reported-by: John Bigelow
........
Merged revisions 372517 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372518 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372519 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372520
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jonathan Rose [Thu, 6 Sep 2012 15:57:51 +0000 (15:57 +0000)]
chan_sip: Note change in behavior to how directmediapermit/deny ACL works
r366547 introduced a change to the directmedia ACL for chan_sip which
modified the behavior significantly. Prior to the patch, this option would
bridge peers with directmedia if a peer's IP address matched its own
directmedia ACL. After that patch, the peer would check the bridged peer's
ACL instead. This change has been present since 1.8.14.0. That patched failed
to document the change in Upgrade.txt, so this patch adds mention of that
change to UPGRADE.txt (UPGRADE-1.8.txt in newer branches)
(issue AST-876)
........
Merged revisions 372471 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372472 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372473 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372474
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Thu, 6 Sep 2012 14:31:44 +0000 (14:31 +0000)]
Ensure "rules" is tab-completable for "queue show"
Previously, tabbing at the end of "queue show" produced a list of
available queues about which information could be shown, but did not
include an alternative command, "rules", to access information about
queue rules. The "rules" item should now be shown in the list of
tab-completable items.
(closes issue AST-958)
Reported-by: John Bigelow
........
Merged revisions 372444 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372445 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372446 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372447
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Thu, 6 Sep 2012 02:52:37 +0000 (02:52 +0000)]
Fix DUNDi message routing bug when neighboring peer is unreachable
Consider a scenario where DUNDi peer PBX1 has two peers that are its neighbors,
PBX2 and PBX3, and where PBX2 and PBX3 are also neighbors. If the connection
is temporarily broken between PBX1 and PBX3, PBX1 should not include PBX3 in
the list of peers it sends to PBX2 in a DPDISCOVER message, as it cannot send
messages to PBX3. If it does, PBX2 will assume that PBX3 already received the
message and fail to forward the message on to PBX3 itself. This patch fixes
this by only including peers in a DPDISCOVER message that are reachable by the
sending node. This includes all peers with an empty address
(00:00:00:00:00:00) and that are have been reached by a qualify message.
This patch also prevents attempting to qualify a dynamic peer with an empty
address until that peer registers.
The patch uploaded by Peter was modified slightly for this commit.
(closes issue ASTERISK-19309)
Reported by: Peter Racz
patches:
dundi_routing.patch uploaded by Peter Racz (license 6290)
........
Merged revisions 372417 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372418 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372419 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372420
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Thu, 6 Sep 2012 01:02:17 +0000 (01:02 +0000)]
Allow configured numbers for FollowMe to be greater than 90 characters
When parsing a 'number' defined in followme.conf, FollowMe previously parsed
the number in the configuration file into a buffer with a length of 90
characters. This can artificially limit some parallel dial scenarios. This
patch allows for numbers of any length to be defined in the configuration
file.
Note that Clod Patry originally wrote a patch to fix this problem and received
a Ship It! on the JIRA issue. The patch originally expanded the buffer to 256
characters. Instead, the patch being committed duplicates the string in the
config file on the stack before parsing it for consumption by the application.
(closes issue ASTERISK-16879)
Reported by: Clod Patry
Tested by: mjordan
patches:
followme_no_limit.diff uploaded by Clod Patry (license #5138)
Slightly modified for this commit.
........
Merged revisions 372390 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372391 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372392 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372393
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Wed, 5 Sep 2012 19:44:32 +0000 (19:44 +0000)]
Recorded merge of revisions 372373 from svn.asterisk.org/svn/asterisk/branches/11
........
Fix compile error.
........
Merged revisions 372372 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372374
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Wed, 5 Sep 2012 19:26:07 +0000 (19:26 +0000)]
Correct documentation for ModuleLoad AMI action
The documentation incorrectly listed 'rtp' as a reloadable subsystem
and left out many other reloadable subsystems. It is now also
documented that subsystems may only be reloaded, not loaded or
unloaded.
(closes issue AST-977)
Reported-by: John Bigelow
........
Merged revisions 372354 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372358 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372365 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372371
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Wed, 5 Sep 2012 19:08:15 +0000 (19:08 +0000)]
Ensure counts generated in manager_show_dialplan_helper are correct
When manager_show_dialplan_helper was written, the counter increment
for the total number of contexts was placed with the extensions
increment instead of in the enclosing loop. This function should
now generate correct context counts.
(closes issue AST-970)
Reported-by: John Bigelow
........
Merged revisions 372337 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372338 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372340 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372344
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Alec L Davis [Wed, 5 Sep 2012 18:56:39 +0000 (18:56 +0000)]
dsp.c: in ast_mf_detect_init incorrectly sets goertzel samples to 160, should be MF_GSIZE
Remove unused goertzel_state_t member 'samples'.
Related https://reviewboard.asterisk.org/r/2097/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372343
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Wed, 5 Sep 2012 17:38:22 +0000 (17:38 +0000)]
Multiple revisions 372327-372328
........
r372327 | rmudgett | 2012-09-05 12:33:11 -0500 (Wed, 05 Sep 2012) | 15 lines
Fix RTP/RTCP read error message confusion.
The RTP/RTCP read error message can report "fail: success" when the
read failure is because of an ICE failure.
* Changed __rtp_recvfrom() to generate a PJ ICE message when ICE fails.
* Changed RTP/RTCP read error message to indicate an unspecified error
when errno is zero.
(closes issue ASTERISK-20288)
Reported by: Joern Krebs
Patches:
jira_asterisk_20288_err_msg.patch (license #5621) patch uploaded by rmudgett (modified)
........
r372328 | rmudgett | 2012-09-05 12:35:20 -0500 (Wed, 05 Sep 2012) | 1 line
Fix coding guidelines issue with a recent commit.
........
Merged revisions 372327-372328 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372329
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Wed, 5 Sep 2012 16:24:19 +0000 (16:24 +0000)]
Re-fix sending unnegotiated payloads during a P2P RTP bridge.
The previous fix still would look in the static_RTP_PT table, which
is inappropriate since we specifically want to find a codec that has
been negotiated.
(closes issue ASTERISK-20296)
reported by NITESH BANSAL
Patches:
codec_negotiation.patch Uploaded by NITESH BANSAL (License #6418)
........
Merged revisions 372311 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372319
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Wed, 5 Sep 2012 15:56:33 +0000 (15:56 +0000)]
Add fixes and cleanup to app_alarmreceiver.
This work comes courtesy of Pedro Kiefer (License #6407)
The work was posted to review board by Kaloyan Kovachev (License #5506)
(closes issue ASTERISK-16668)
Reported by Grant Crawshay
(closes issue ASTERISK-16694)
Reported by Fred van Lieshout
(closes issue ASTERISK-18417)
Reported by Kostas Liakakis
(closes issue ASTERISK-19435)
Reported by Deon George
(closes issue ASTERISK-20157)
Reported by Pedro Kiefer
(closes issue ASTERISK-20158)
Reported by Pedro Kiefer
(closes issue ASTERISK-20224)
Reported by Pedro Kiefer
Review: https://reviewboard.asterisk.org/r/2075
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372310
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Wed, 5 Sep 2012 14:44:36 +0000 (14:44 +0000)]
Fix memory leaks in app_voicemail when using IMAP storage or realtime config
This patch fixes two memory leaks:
1. When find_user is called with NULL as its first parameter, the voicemail
user returned is allocated on the heap. The inboxcount2 function uses
find_user in such a fashion when counting new messages, and fails to free
the resulting voicemail user object.
2. When populate_defaults is called on a voicemail user, it wipes whatever
flags have been set on the object by copying over the global flags object.
If the VM_ALLOCED flag was ste on the voicemail user prior to doing so,
that flag is removed. This leaks the voicemail user when free_user is later
called.
(closes issue ASTERISK-19155)
Reported by: Filip Jenicek
patches:
asterisk.patch2 uploaded by Filip Jenicek (license 6277)
Patch slightly modified for this commit.
Review: https://reviewboard.asterisk.org/r/2096
........
Merged revisions 372268 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372288 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372289 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372302
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Darren Sessions [Wed, 5 Sep 2012 14:12:11 +0000 (14:12 +0000)]
LDAP Realtime Peers Cannot Register
Prior to 1.8, it was not necessary for an explicit "type" to be set for an
asterisk LDAP realtime peer. Now the routine find_peer actually checks the
type field during registration and fails to find the peer if it is not set.
The attached patch makes the realtime type equal whatever type is being
searched for if the type is 0 upon return from routine build_peer.
(closes issue ASTERISK-17222)
Reported by: John Covert
Patch by: David Vossel
Tested by: Darren Sessions
Review: https://reviewboard.asterisk.org/r/2095/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372290
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Michael L. Young [Wed, 5 Sep 2012 12:18:47 +0000 (12:18 +0000)]
Fix breakage caused by last merge. Missing a variable for 11 and trunk.
........
Merged revisions 372266 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372267
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Alec L Davis [Wed, 5 Sep 2012 07:43:32 +0000 (07:43 +0000)]
dsp.c: Fix multiple issues when no-interdigit delay is present, and fast DTMF 50ms/50ms
Revert DTMF hit/miss detector to original -r349249 method with some changes, remove unnecessary;
1. reseting of hits=0, when no signal, only need to set it once.
2. incrementing of hits, when the hit is the same as the current hit.
3. setting of lasthit, when it's the same as before.
Change HITS_TO_BEGIN to 2, MISSES_TO_END to 3
& 3 spelling mistakes
(closes issue ASTERISK-19610)
alecdavis (license 585)
Reported by: Jean-Philippe Lord
Tested by: alecdavis
Review: https://reviewboard.asterisk.org/r/2085/
........
Merged revisions 372239 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372240 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372241 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372242
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Alec L Davis [Wed, 5 Sep 2012 06:52:30 +0000 (06:52 +0000)]
dsp.c: optimize goerztzel sample loops, in dtmf_detect, mf_detect and tone_detect
use a temporary short int when repeatedly used to call goertzel_sample.
alecdavis (license 585)
Reported by: alecdavis
Tested by: alecdavis
Review: https://reviewboard.asterisk.org/r/2093/
........
Merged revisions 372212 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372213 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372214 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372215
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Michael L. Young [Wed, 5 Sep 2012 04:55:07 +0000 (04:55 +0000)]
Fix Incrementing Sequence Number For Retransmitted DTMF End Packets
In Asterisk 1.4+, a fix was put in place to increment the sequence number for
retransmitted DTMF end packets. With the introduction of the RTP engine API in
1.8, the sequence number was no longer being incremented. This patch fixes this
regression as well as cleans up a few lines that were not doing anything.
(closes issue ASTERISK-20295)
Reported by: Nitesh Bansal
Tested by: Michael L. Young
Patches:
01_rtp_event_seq_num.patch uploaded by Nitesh Bansal (license 6418)
asterisk-20295-dtmf-fix-cleanup.diff uploaded by Michael L. Young (license 5026)
Review: https://reviewboard.asterisk.org/r/2083/
........
Merged revisions 372185 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372198 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372199 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372200
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Wed, 5 Sep 2012 02:26:54 +0000 (02:26 +0000)]
Fix memory leak when CEL is successfully written to PostgreSQL database
PQClear is not called when the result object of a call to PQExec has a
status of PGRES_COMMAND_OK. Interestingly enough, the off nominal case was
handled properly, so this memory leak only occurred when CEL records were
successfully written.
This patch properly clears the result in the nominal code path.
(closes issue ASTERISK-19991)
Reported by: Etienne Lessard
Tested by: Etienne Lessard
patches:
mem_leak_cel_pgsql.patch uploaded by Etienne Lessard (license #6394)
........
Merged revisions 372158 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372165 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372175 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372176
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jonathan Rose [Tue, 4 Sep 2012 19:30:34 +0000 (19:30 +0000)]
app_queue: PAUSEALL/UNPAUSEALL logged only if interface is a queue member
Adding UPGRADE.txt entry for r372148
(issue AST-946)
Reported by: John Bigelow
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372149
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jonathan Rose [Tue, 4 Sep 2012 19:26:02 +0000 (19:26 +0000)]
app_queue: Only log PAUSEALL/UNPAUSEALL when 1+ memebers changed.
Prior to this patch, if pause or unpause was issued on an interface
without specifying a specific queue, a PAUSEALL or UNPAUSEALL event
would be logged in the queue log even if that interface wasn't a
member of any queues. This patch changes it so that these events are
only logged when at least one member of any queue exists for that
interface.
(closes issue AST-946)
Reported by: John Bigelow
Review: https://reviewboard.asterisk.org/r/2079/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372148
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Tue, 4 Sep 2012 15:50:30 +0000 (15:50 +0000)]
Fix issue where SIP devices were not notified when custom devices changed to "ringing".
The problem had to do with logic used when checking for what the oldest ringing channel
was. The problem was that if no channel was found, then no notification would be sent.
For custom device states, there is no associated channel, so no notification would get
sent. This fixes the issue by still sending the notification even if no associated
channel can be found for a ringing device state change.
(closes issue ASTERISK-20297)
Reported by Noah Engelberth
........
Merged revisions 372137 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372138
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Tue, 4 Sep 2012 15:35:02 +0000 (15:35 +0000)]
Prevent crash from using app_page with no confbridge.conf file provided.
Also prevents other potential crashes when using aco API
with uninitialized aco_info structs.
(closes issue ASTERISK-20305)
reported by Noah Engelberth
Tested by Noah Engelberth
Review: https://reviewboard.asterisk.org/r/2086
........
Merged revisions 372135 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372136
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Fri, 31 Aug 2012 21:15:07 +0000 (21:15 +0000)]
Prevent local RTP bridges from sending inappropriate formats to participants.
A change for Asterisk 11 caused a check for failure to incorrectly check the return
value. This resulted in the possibility of transmitting media that a party had not
negotiated. If this media happened to be G.729, then this could potentially result
in one-way audio if no G.729 translators are installed.
(closes issue ASTERISK-20296)
reported by NITESH BANSAL
........
Merged revisions 372118 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372119
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Thu, 30 Aug 2012 20:54:51 +0000 (20:54 +0000)]
Prevent crash on shutdown due to refcount error on queues container.
When app_queue is unloaded, the queues container has its refcount
decremented, potentially to 0. Then the taskprocessor responsible
for handling device state changes is unreferenced. If the
taskprocessor happens to be just about to run its task, then it
will create and destroy an iterator on the queues container.
This can cause the refcount on the queues container to increase to
1 and then back to 0. Going back to 0 a second time results in
double frees.
This failure was seen periodically in the testsuite when Asterisk
would shut down.
........
Merged revisions 372089 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372090 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372091 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372092
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Thu, 30 Aug 2012 18:39:16 +0000 (18:39 +0000)]
Help prevent ringing queue members from being rung when ringinuse set to no.
Queue member status would not always get updated properly when the member
was called, thus resulting in the member getting multiple calls. With this
change, we update the member's status at the time of calling, and we also
check to make sure the member is still available to take the call before
placing an outbound call.
(closes issue ASTERISK-16115)
reported by nik600
Patches:
app_queue.c-svn-r370418.patch uploaded by Italo Rossi (license #6409)
........
Merged revisions 372048 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372049 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372050 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372051
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Thu, 30 Aug 2012 16:25:34 +0000 (16:25 +0000)]
AST-2012-013: Resolve ACL rules being ignored during calls by some IAX2 peers
When an IAX2 call is made using the credentials of a peer defined in a dynamic
Asterisk Realtime Architecture (ARA) backend, the ACL rules for that peer are
not applied to the call attempt. This allows for a remote attacker who is aware
of a peer's credentials to bypass the ACL rules set for that peer.
This patch ensures that the ACLs are applied for all peers, regardless of their
storage mechanism.
(closes issue ASTERISK-20186)
Reported by: Alan Frisch
Tested by: mjordan, Alan Frisch
........
Merged revisions 372028 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372029
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Thu, 30 Aug 2012 16:14:26 +0000 (16:14 +0000)]
AST-2012-012: Resolve AMI User Unauthorized Shell Access through ExternalIVR
The AMI Originate action can allow a remote user to specify information that can
be used to execute shell commands on the system hosting Asterisk. This can
result in an unwanted escalation of permissions, as the Originate action, which
requires the "originate" class authorization, can be used to perform actions
that would typically require the "system" class authorization. Previous attempts
to prevent this permission escalation (AST-2011-006, AST-2012-004) have sought
to do so by inspecting the names of applications and functions passed in with
the Originate action and, if those applications/functions matched a predefined
set of values, rejecting the command if the user lacked the "system" class
authorization. As noted by IBM X-Force Research, the "ExternalIVR"
application is not listed in the predefined set of values. The solution for
this particular vulnerability is to include the "ExternalIVR" application in the
set of defined applications/functions that require "system" class authorization.
Unfortunately, the approach of inspecting fields in the Originate action against
known applications/functions has a significant flaw. The predefined set of
values can be bypassed by creative use of the Originate action or by certain
dialplan configurations, which is beyond the ability of Asterisk to analyze at
run-time. Attempting to work around these scenarios would result in severely
restricting the applications or functions and prevent their usage for legitimate
means. As such, any additional security vulnerabilities, where an
application/function that would normally require the "system" class
authorization can be executed by users with the "originate" class authorization,
will not be addressed. Instead, the README-SERIOUSLY.bestpractices.txt file has
been updated to reflect that the AMI Originate action can result in commands
requiring the "system" class authorization to be executed. Proper system
configuration can limit the impact of such scenarios.
(closes issue ASTERISK-20132)
Reported by: Zubair Ashraf of IBM X-Force Research
........
Merged revisions 371998 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 371999 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372000 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372001
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Thu, 30 Aug 2012 14:23:28 +0000 (14:23 +0000)]
Clean up doxygen warnings
This patch fixes numerous doxygen warnings across Asterisk. It also updates
the makefile to regenerate the doxygen configuration on the local system
before running doxygen to help prevent warnings/errors on the local system.
Much thanks to Andrew for tackling one of the Asterisk janitor projects!
(issue ASTERISK-20259)
Reported by: Andrew Latham
Patches:
doxygen_partial.diff uploaded by Andrew Latham (license 5985)
make_progdocs.diff uploaded by Andrew Latham (license 5985)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@371989
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Thu, 30 Aug 2012 12:50:03 +0000 (12:50 +0000)]
Restore CODING-GUIDELINES to doc folder
In r294740, the CODING-GUIDELINES was removed from the doc folder in favor
of the content on the Asterisk wiki. Some folks still look in the doc folder
initially for coding guideline suggestions; as such, this patch adds a
CODING-GUIDELINES file back into the doc folder. The content of the file
merely points to the correct page on the Asterisk wiki where the coding
guidelines currently live.
(closes issue ASTERISK-20279)
Reported by: Andrew Latham
Patches:
CODING-GUIDELINES.diff uploaded by Andrew Latham (license 5985)
........
Merged revisions 371961 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 371962 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 371963 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@371964
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Wed, 29 Aug 2012 22:48:08 +0000 (22:48 +0000)]
Ensure alignment of in[] field in MD5Context struct.
The struct MD5Context character buffer is cast to an int32_t* without
making sure that said buffer is aligned.
Since the buffer follows two uint32_t's, the chance of 'in' being (32
bits) unaligned is nil in practice. But adding code to ensure that 'in'
stays aligned costs nothing and removes all doubts about the casts being
safe.
(closes issue ASTERISK-20241)
Reported by: Walter Doekes
Patches:
tmp.diff (license #5674) patch uploaded by Walter Doekes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@371952
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Wed, 29 Aug 2012 22:40:18 +0000 (22:40 +0000)]
Fix compile errors.
........
Merged revisions 371950 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@371951
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jonathan Rose [Wed, 29 Aug 2012 21:15:24 +0000 (21:15 +0000)]
app_meetme: Adding test events for following activity in MeetMe.
........
Merged revisions 371919 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 371920 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 371921 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@371922
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Wed, 29 Aug 2012 19:57:24 +0000 (19:57 +0000)]
Fix theoretical compile error with HAVE_EPOLL.
Really shows how much epoll is used since it had not been reported yet.
........
Merged revisions 371893 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@371894
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Wed, 29 Aug 2012 19:48:56 +0000 (19:48 +0000)]
Initialize file descriptors for dummy channels to -1.
Dummy channels usually aren't read from, but functions like SHELL and CURL
use autoservice on the channel.
(closes issue ASTERISK-20283)
Reported by: Gareth Palmer
Patches:
svn-371580.patch (license #5169) patch uploaded by Gareth Palmer (modified)
........
Merged revisions 371888 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 371890 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 371891 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@371892
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jonathan Rose [Wed, 29 Aug 2012 19:38:52 +0000 (19:38 +0000)]
chan_sip: Change manager event to confirm SIPqualifypeer into an ack
Matt Jordan informed me that it was more appropriate to use an
astman_send_ack here instead of making an event response. I've also
used this opportunity to update UPGRADE.txt to mention this change
in behavior.
(issue AST-969)
Reported by: John Bigelow
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@371889
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Wed, 29 Aug 2012 18:40:04 +0000 (18:40 +0000)]
Fix hangup cause passthrough regression.
The v1.8 -r369258 change to fix the F and F(x) action logic introduced a
regression in passing the hangup cause from the called channel to the
caller channel.
(closes issue ASTERISK-20287)
Reported by: Konstantin Suvorov
Patches:
app_dial_hangupcause.patch (license #6421) patch uploaded by Konstantin Suvorov (modified)
Tested by: rmudgett
........
Merged revisions 371860 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 371861 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 371862 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@371863
65c4cc65-6c06-0410-ace0-
fbb531ad65f3