Commit Graph

788 Commits

Author SHA1 Message Date
Tilghman Lesher
e41ffcbca3 Merged revisions 123392 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r123392 | tilghman | 2008-06-17 13:57:45 -0500 (Tue, 17 Jun 2008) | 11 lines

Merged revisions 123391 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r123391 | tilghman | 2008-06-17 13:56:53 -0500 (Tue, 17 Jun 2008) | 3 lines

Fix 3 more places where failure to lock the structure could cause the wrong lock to be
unlocked.  (Closes issue #12795)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@123394 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-17 19:01:33 +00:00
Jeff Peeler
f089bbf663 Goodbye Zaptel, hello DAHDI. Removes Zaptel driver support with DAHDI. Configuration file and dialplan backwards compatability has been put in place where appropiate. Release announcement to follow.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@123332 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-17 18:08:09 +00:00
Tilghman Lesher
0c73588085 Merged revisions 123114 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r123114 | tilghman | 2008-06-16 14:57:05 -0500 (Mon, 16 Jun 2008) | 10 lines

Merged revisions 123113 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r123113 | tilghman | 2008-06-16 14:50:12 -0500 (Mon, 16 Jun 2008) | 2 lines

Port "hasvoicemail" change from SIP to other channel drivers

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@123116 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-16 20:03:18 +00:00
Russell Bryant
c1bc5f317e Merged revisions 122262 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r122262 | russell | 2008-06-12 13:23:54 -0500 (Thu, 12 Jun 2008) | 11 lines

Merged revisions 122259 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r122259 | russell | 2008-06-12 13:22:44 -0500 (Thu, 12 Jun 2008) | 3 lines

Fix some race conditions that cause ast_assert() to report that chan_iax2 tried
to remove an entry that wasn't in the scheduler

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@122266 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-12 18:24:33 +00:00
Russell Bryant
1b8dba640e Merged revisions 121407 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r121407 | russell | 2008-06-09 19:52:46 -0500 (Mon, 09 Jun 2008) | 2 lines

Bump up the debug level of a couple of messages

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@121408 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-10 00:53:04 +00:00
Russell Bryant
ff438c5343 Merged revisions 120169 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r120169 | russell | 2008-06-03 16:35:11 -0500 (Tue, 03 Jun 2008) | 12 lines

Merged revisions 120168 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r120168 | russell | 2008-06-03 16:34:55 -0500 (Tue, 03 Jun 2008) | 4 lines

Fix another place where peer->callno could change at a very bad time, and also
fix a place where a peer was used after the reference was released.
(inspired by rev 120001)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@120170 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-03 21:35:46 +00:00
Tilghman Lesher
09d6c17864 Merged revisions 120012 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r120012 | tilghman | 2008-06-03 11:19:35 -0500 (Tue, 03 Jun 2008) | 17 lines

Merged revisions 120001 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r120001 | tilghman | 2008-06-03 11:10:53 -0500 (Tue, 03 Jun 2008) | 9 lines

Save the callno when we're poking, because our peer structure could change
during destruction (and thus we unlock the wrong callno, causing a
cascade failure).
(closes issue #12717)
 Reported by: gewfie
 Patches: 
       20080525__bug12717.diff.txt uploaded by Corydon76 (license 14)
 Tested by: gewfie

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@120034 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-03 16:24:08 +00:00
Russell Bryant
3cbe2984ef Merged revisions 119839 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r119839 | russell | 2008-06-02 15:08:24 -0500 (Mon, 02 Jun 2008) | 15 lines

Merged revisions 119838 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r119838 | russell | 2008-06-02 15:08:04 -0500 (Mon, 02 Jun 2008) | 7 lines

Revert a change made for issue #12479.  This change caused a regression such that
a dial string such as (IAX2/foo) did not automatically fall back to dialing the 's'
extension anymore.

(closes issue #12770)
Reported by: dagmoller

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@119840 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-02 20:08:48 +00:00
Russell Bryant
aeceb3690c Merged revisions 119688 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r119688 | russell | 2008-06-02 07:30:42 -0500 (Mon, 02 Jun 2008) | 11 lines

Merged revisions 119687 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r119687 | russell | 2008-06-02 07:30:17 -0500 (Mon, 02 Jun 2008) | 3 lines

Even of the first PING or LAGRQ doesn't get sent because it comes up too soon,
make sure to reschedule so it gets sent later.

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@119689 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-02 12:31:05 +00:00
Russell Bryant
8ba94bb258 Merged revisions 119534 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r119534 | russell | 2008-06-01 20:08:16 -0500 (Sun, 01 Jun 2008) | 10 lines

Merged revisions 119533 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r119533 | russell | 2008-06-01 20:06:09 -0500 (Sun, 01 Jun 2008) | 2 lines

Change a debug message to an actual debug message

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@119535 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-02 01:08:56 +00:00
Russell Bryant
ec42d8e877 Merged revisions 119239 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r119239 | russell | 2008-05-30 07:59:11 -0500 (Fri, 30 May 2008) | 23 lines

Merged revisions 119238 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r119238 | russell | 2008-05-30 07:55:36 -0500 (Fri, 30 May 2008) | 15 lines

Merged revisions 119237 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r119237 | russell | 2008-05-30 07:49:39 -0500 (Fri, 30 May 2008) | 7 lines

- Instead of only enforcing destination call number checking on an ACK, check
  all full frames except for PING and LAGRQ, which may be sent by older versions
  too quickly to contain the destination call number.
  (As suggested by Tim Panton on the asterisk-dev list)
- Merge changes from team/russell/iax2-frame-race, which prevents PING and LAGRQ
  from being sent before the destination call number is known.

........

................

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@119240 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-30 13:01:05 +00:00
Russell Bryant
4da50bd4c1 Merged revisions 119010 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r119010 | russell | 2008-05-29 13:54:11 -0500 (Thu, 29 May 2008) | 24 lines

Merged revisions 119009 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r119009 | russell | 2008-05-29 13:49:12 -0500 (Thu, 29 May 2008) | 16 lines

Merged revisions 119008 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r119008 | russell | 2008-05-29 13:45:21 -0500 (Thu, 29 May 2008) | 7 lines

Merge changes from team/russell/iax2-another-fix-to-the-fix

As described in the following post to the asterisk-dev mailing list, only
enforce destination call numbers when processing an ACK.

http://lists.digium.com/pipermail/asterisk-dev/2008-May/033217.html

(closes issue #12631)
........

................

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@119011 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-29 18:57:20 +00:00
Tilghman Lesher
ef98b16564 Merged revisions 118955,118957 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r118955 | tilghman | 2008-05-29 12:35:19 -0500 (Thu, 29 May 2008) | 11 lines

Merged revisions 118953 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r118953 | tilghman | 2008-05-29 12:20:16 -0500 (Thu, 29 May 2008) | 3 lines

Add some debugging code that ensures that when we do deadlock avoidance, we
don't lose the information about how a lock was originally acquired.

........

................
r118957 | tilghman | 2008-05-29 12:39:50 -0500 (Thu, 29 May 2008) | 10 lines

Merged revisions 118954 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r118954 | tilghman | 2008-05-29 12:33:01 -0500 (Thu, 29 May 2008) | 2 lines

Define also when not DEBUG_THREADS

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@118958 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-29 17:42:28 +00:00
Russell Bryant
27f6220a41 Merged revisions 116979 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r116979 | russell | 2008-05-18 22:44:28 -0500 (Sun, 18 May 2008) | 12 lines

Merged revisions 116978 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r116978 | russell | 2008-05-18 22:44:04 -0500 (Sun, 18 May 2008) | 4 lines

Avoid access of uninitialized memory.  This caused a bunch of crashes for me
while doing load testing of development branch where I'm working on some
performance improvements.

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@116980 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-19 03:44:51 +00:00
Brett Bryant
c9d6041a8b Merged revisions 115669 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r115669 | bbryant | 2008-05-12 10:17:32 -0500 (Mon, 12 May 2008) | 3 lines

A small change to fix iax2 native bridging.


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@115672 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-12 15:18:10 +00:00
Russell Bryant
3ec3e555c0 Merged revisions 115569 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r115569 | russell | 2008-05-08 14:20:35 -0500 (Thu, 08 May 2008) | 10 lines

Merged revisions 115568 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r115568 | russell | 2008-05-08 14:19:50 -0500 (Thu, 08 May 2008) | 2 lines

Remove debug output.

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@115570 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-08 19:21:08 +00:00
Russell Bryant
24d6ade06e Merged revisions 115566 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r115566 | russell | 2008-05-08 14:17:04 -0500 (Thu, 08 May 2008) | 41 lines

Merged revisions 115565 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r115565 | russell | 2008-05-08 14:15:25 -0500 (Thu, 08 May 2008) | 33 lines

Merged revisions 115564 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r115564 | russell | 2008-05-08 14:14:04 -0500 (Thu, 08 May 2008) | 25 lines

Fix a race condition that bbryant just found while doing some IAX2 testing.
He was running Asterisk trunk running IAX2 calls through a few Asterisk boxes,
however, the audio was extremely choppy.  We looked at a packet trace and saw
a storm of INVAL and VNAK frames being sent from one box to another.

It turned out that what had happened was that one box tried to send a CONTROL
frame before the 3 way handshake had completed.  So, that frame did not include
the destination call number, because it didn't have it yet.  Part of our recent
work for security issues included an additional check to ensure that frames that
are supposed to include the destination call number have the correct one.  This
caused the frame to be rejected with an INVAL.  The frame would get retransmitted
for forever, rejected every time ...

This race condition exists in all versions that got the security changes,
in theory.  However, it is really only likely that this would cause a problem in
Asterisk trunk.  There was a control frame being sent (SRCUPDATE) at the _very_
beginning of the call, which does not exist in 1.2 or 1.4.  However, I am fixing
all versions that could potentially be affected by the introduced race condition.

These changes are what bbryant and I came up with to fix the issue.  Instead of
simply dropping control frames that get sent before the handshake is complete,
the code attempts to wait a little while, since in most cases, the handshake
will complete very quickly.  If it doesn't complete after yielding for a little
while, then the frame gets dropped.

........

................

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@115567 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-08 19:18:10 +00:00
Russell Bryant
09d71ed55f Merged revisions 115513 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r115513 | russell | 2008-05-07 12:28:19 -0500 (Wed, 07 May 2008) | 19 lines

Merged revisions 115512 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r115512 | russell | 2008-05-07 11:24:09 -0500 (Wed, 07 May 2008) | 11 lines

Merged revisions 115511 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r115511 | russell | 2008-05-07 11:22:49 -0500 (Wed, 07 May 2008) | 3 lines

Remove remnants of dlinkedlists.  I didn't actually use them in the final version
of my IAX2 improvements.

........

................

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@115514 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-07 17:36:44 +00:00
Russell Bryant
b46f8226e1 Merged revisions 115315 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r115315 | russell | 2008-05-05 15:28:17 -0500 (Mon, 05 May 2008) | 2 lines

Remove my rant, since I have now replaced the rant with code.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@115316 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-05 20:28:37 +00:00
Russell Bryant
567cb9a041 Merged revisions 114892 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r114892 | russell | 2008-04-30 11:34:24 -0500 (Wed, 30 Apr 2008) | 36 lines

Merged revisions 114891 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r114891 | russell | 2008-04-30 11:30:01 -0500 (Wed, 30 Apr 2008) | 28 lines

Merge changes from team/russell/iax2_find_callno and iax2_find_callno_1.4

These changes address a critical performance issue introduced in the latest
release.  The fix for the latest security issue included a change that made
Asterisk randomly choose call numbers to make them more difficult to guess by
attackers.  However, due to some inefficient (this is by far, an understatement)
code, when Asterisk chose high call numbers, chan_iax2 became unusable after
just a small number of calls.  On a small embedded platform, it would not be
able to handle a single call.  On my Intel Core 2 Duo @ 2.33 GHz, I couldn't
run more than about 16 IAX2 channels.  Ouch.

These changes address some performance issues of the find_callno() function
that have bothered me for a very long time.  On every incoming media frame,
it iterated through every possible call number trying to find a matching
active call.  This involved a mutex lock and unlock for each call number
checked.  So, if the random call number chosen was 20000, then every media
frame would cause 20000 locks and unlocks.  Previously, this problem was
not as obvious since Asterisk always chose the lowest call number it could.

A second container for IAX2 pvt structs has been added.  It is an astobj2
hash table.  When we know the remote side's call number, the pvt goes into
the hash table with a hash value of the remote side's call number.  Then,
lookups for incoming media frames are a very fast hash lookup instead of an
absolutely insane array traversal.

In a quick test, I was able to get more than 3600% more IAX2 channels
on my machine with these changes.

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@114893 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-30 16:41:33 +00:00
Kevin P. Fleming
ced1cda76c Merged revisions 114884 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r114884 | kpfleming | 2008-04-30 09:49:51 -0500 (Wed, 30 Apr 2008) | 10 lines

Merged revisions 114880 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r114880 | kpfleming | 2008-04-30 09:46:57 -0500 (Wed, 30 Apr 2008) | 2 lines

use the ARRAY_LEN macro for indexing through the iaxs/iaxsl arrays so that the size of the arrays can be adjusted in one place, and change the size of the arrays from 32768 calls to 2048 calls when LOW_MEMORY is defined

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@114886 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-30 14:55:16 +00:00
Russell Bryant
35c3c7770f Merged revisions 114674 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r114674 | russell | 2008-04-25 17:00:35 -0500 (Fri, 25 Apr 2008) | 11 lines

Merged revisions 114673 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r114673 | russell | 2008-04-25 16:54:40 -0500 (Fri, 25 Apr 2008) | 3 lines

Use consistent logic for checking to see if a call number has been chosen yet.
Also, remove some redundant logic I recently added in a fix.

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@114675 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-25 22:03:25 +00:00
Russell Bryant
7f3b41e6b3 Merged revisions 114609 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r114609 | russell | 2008-04-24 10:56:55 -0500 (Thu, 24 Apr 2008) | 12 lines

Merged revisions 114608 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r114608 | russell | 2008-04-24 10:55:21 -0500 (Thu, 24 Apr 2008) | 4 lines

Fix a silly mistake in a change I made yesterday that caused chan_iax2 to blow
up very quickly.
(issue #12515)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@114610 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-24 15:57:24 +00:00
Russell Bryant
1b3ee9e4f0 Merged revisions 114588 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r114588 | russell | 2008-04-23 12:18:29 -0500 (Wed, 23 Apr 2008) | 10 lines

Merged revisions 114587 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r114587 | russell | 2008-04-23 12:16:32 -0500 (Wed, 23 Apr 2008) | 2 lines

Fix find_callno_locked() to actually return the callno locked in some more cases.

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@114589 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-23 17:18:59 +00:00
Russell Bryant
f3db442032 Merged revisions 114559 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r114559 | russell | 2008-04-22 17:17:31 -0500 (Tue, 22 Apr 2008) | 13 lines

Merged revisions 114558 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r114558 | russell | 2008-04-22 17:15:36 -0500 (Tue, 22 Apr 2008) | 5 lines

When we receive a full frame that is supposed to contain our call number,
ensure that it has the correct one.
(closes issue #10078)
(AST-2008-006)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@114560 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-22 22:18:59 +00:00
Russell Bryant
f283f17f4d Merged revisions 114538 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r114538 | russell | 2008-04-22 13:04:39 -0500 (Tue, 22 Apr 2008) | 17 lines

Merged revisions 114537 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r114537 | russell | 2008-04-22 13:03:33 -0500 (Tue, 22 Apr 2008) | 9 lines

If the dial string passed to the call channel callback does not indicate an
extension, then consider the extension on the channel before falling back
to the default.

(closes issue #12479)
Reported by: darren1713
Patches:
      exten_dial_fix_chan_iax2.c.patch uploaded by darren1713 (license 116)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@114539 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-22 18:06:35 +00:00
Terry Wilson
8b58c0dd5a Merged revisions 114084 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r114084 | twilson | 2008-04-11 17:48:52 -0500 (Fri, 11 Apr 2008) | 15 lines

Merged revisions 114083 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r114083 | twilson | 2008-04-11 17:32:51 -0500 (Fri, 11 Apr 2008) | 7 lines

Several places in the code called find_callno() (which releases the lock on the pvt structure) and then immediately locked the call and did things with it. Unfortunately, the call can disappear between the find_callno and the lock, causing Bad Stuff(tm) to happen.

Added find_callno_locked() function to return the callno withtout unlocking for instances that it is needed.

(issue #12400)
Reported by: ztel

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@114087 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-11 23:21:16 +00:00
Joshua Colp
950e46f357 Merged revisions 113785 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r113785 | file | 2008-04-09 13:52:04 -0300 (Wed, 09 Apr 2008) | 12 lines

Merged revisions 113784 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r113784 | file | 2008-04-09 13:50:45 -0300 (Wed, 09 Apr 2008) | 4 lines

If we receive an AUTHREQ from the remote server and we are unable to reply (for example they have a secret configured, but we do not) then queue a hangup frame on the Asterisk channel. This will cause the channel to hangup and a HANGUP to be sent via IAX2 to the remote side which is the proper thing to do in this scenario.
(closes issue #12385)
Reported by: viraptor

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@113786 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-09 16:53:52 +00:00
Terry Wilson
de98ac9a6c Merged revisions 113597 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r113597 | twilson | 2008-04-08 20:36:58 -0500 (Tue, 08 Apr 2008) | 10 lines

Merged revisions 113596 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r113596 | twilson | 2008-04-08 20:34:25 -0500 (Tue, 08 Apr 2008) | 2 lines

Initialize fr->cacheable to make valgrind happy

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@113598 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-09 01:40:50 +00:00
Joshua Colp
838e70cdfa Merged revisions 111017 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r111017 | file | 2008-03-26 15:42:52 -0300 (Wed, 26 Mar 2008) | 12 lines

Merged revisions 110628 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r110628 | file | 2008-03-25 11:37:35 -0300 (Tue, 25 Mar 2008) | 4 lines

Add an option (transmit_silence) which transmits silence during both Record() and DTMF generation. The reason this is an option is that in order to transmit silence we have to setup a translation path. This may not be needed/wanted in all cases.
(closes issue #10058)
Reported by: tracinet

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@111018 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-26 18:44:32 +00:00
Russell Bryant
1ed7dc48f3 Merged revisions 110615 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r110615 | russell | 2008-03-24 12:36:04 -0500 (Mon, 24 Mar 2008) | 10 lines

Merged revisions 110614 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r110614 | russell | 2008-03-24 12:34:56 -0500 (Mon, 24 Mar 2008) | 2 lines

Turn a NOTICE into a DEBUG message.

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@110616 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-24 17:36:23 +00:00
Russell Bryant
573e35bba1 Merged revisions 110337 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r110337 | russell | 2008-03-20 16:55:50 -0500 (Thu, 20 Mar 2008) | 22 lines

Merged revisions 110336 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r110336 | russell | 2008-03-20 16:54:58 -0500 (Thu, 20 Mar 2008) | 14 lines

Merged revisions 110335 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r110335 | russell | 2008-03-20 16:53:27 -0500 (Thu, 20 Mar 2008) | 6 lines

Fix some very broken code that was introduced in 1.2.26 as a part of the security
fix.  The dnsmgr is not appropriate here.  The dnsmgr takes a pointer to an address
structure that a background thread continuously updates.  However, in these cases,
a stack variable was passed.  That means that the dnsmgr thread would be continuously
writing to bogus memory.

........

................

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@110338 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-20 21:56:22 +00:00
Russell Bryant
4af367c3a9 Merged revisions 109447 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r109447 | twilson | 2008-03-18 10:43:34 -0500 (Tue, 18 Mar 2008) | 3 lines

Go through and fix a bunch of places where character strings were being interpreted as format strings. Most of these changes are solely to make compiling with -Wsecurity and -Wformat=2 happy, and were not
actual problems, per se.  I also added format attributes to any printf wrapper functions I found that didn't have them.  -Wsecurity and -Wmissing-format-attribute added to --enable-dev-mode.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@109459 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-18 15:58:50 +00:00
Russell Bryant
16456f61f6 Merged revisions 106238 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r106238 | russell | 2008-03-05 16:40:58 -0600 (Wed, 05 Mar 2008) | 11 lines

Merged revisions 106237 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r106237 | russell | 2008-03-05 16:37:09 -0600 (Wed, 05 Mar 2008) | 3 lines

Fix a potential deadlock and a few different potential crashes.
(closes issue #12145, reported by thiagarcia, patched by me)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@106317 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-06 00:21:24 +00:00
Joshua Colp
581c8c7bf2 Instead of outputting a verbose message every so often let's make it a debug message.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@104089 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-25 19:02:33 +00:00
Olle Johansson
17c761c5ff - No space in manager event names, please
- Add new event to CHANGES


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103755 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-18 10:10:35 +00:00
Russell Bryant
958ed2b620 Merged revisions 103741 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r103741 | russell | 2008-02-15 17:31:39 -0600 (Fri, 15 Feb 2008) | 8 lines

Fix a crash in chan_iax2 due to a race condition

(closes issue #11780)
Reported by: guillecabeza
Patches: 
      bug_iax2_jb_1.4.patch uploaded by guillecabeza (license 380)
      bug_iax2_jb_trunk.patch uploaded by guillecabeza (license 380)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103742 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-15 23:32:18 +00:00
Jason Parker
a38a5d9ab6 Add periodic jitter stats to CLI and manager.
(closes issue #8188)
Reported by: stevedavies
Patches:
      jblogging-trunk.patch uploaded by stevedavies
      jblogging-trunk_wmgrevent.patch uploaded by johann8384
      updated_jbloggin-trunk_mgrevent.patch uploaded by johann8384 (license 190)
      (with additional changes by me)
Tested by: stevedavies, johann8384


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103677 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-14 18:39:51 +00:00
Joshua Colp
9587f09103 Add support for allowing a native bridge to happen when the L option is enabled. The RTP bridging could already handle this, it just needed to be enabled in the main bridging code.
(issue #10647)
Reported by: samdell3


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103314 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-11 16:17:15 +00:00
Russell Bryant
1ec8cb41a8 Merge changes from team/mvanbaak/cli-command-audit
(closes issue #8925)

About a year ago, as Leif Madsen and Jim van Meggelen were going over the CLI
commands in Asterisk 1.4 for the next version of their book, they documented
a lot of inconsistencies.  This set of changes addresses all of these issues
and has been reviewed by Leif.

While this does introduce even more changes to the CLI command structure, it
makes everything consistent, which is the most important thing.

Thanks to all that helped with this one!


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103171 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-08 21:26:32 +00:00
Mark Michelson
b7764b534a Merged revisions 103070 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r103070 | mmichelson | 2008-02-08 12:00:38 -0600 (Fri, 08 Feb 2008) | 6 lines

Yield the thread and return -1 if the ioctl fails for Zaptel timing device.

(closes issue #11891)
Reported by: tzafrir


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103071 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-08 18:02:48 +00:00
Joshua Colp
3d3852f125 Merged revisions 102968 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r102968 | file | 2008-02-08 11:08:20 -0400 (Fri, 08 Feb 2008) | 4 lines

Make sure the presence of dbsecret is factored into user scoring.
(closes issue #11952)
Reported by: bbhoss

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@102969 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-08 15:09:47 +00:00
Russell Bryant
c2d9664f6f Merged revisions 101693 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r101693 | russell | 2008-01-31 18:32:49 -0600 (Thu, 31 Jan 2008) | 8 lines

Add some more sanity checking on IAX2 dial strings for the case that no peer
or hostname was provided, which is the one part of the dial string that is
absolutely required.  If it's not there, bail out.

(closes issue #11897)
Reported by sokhapkin
Patch by me

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@101694 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-01 00:34:11 +00:00
Jason Parker
245661a158 Merged revisions 101482 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r101482 | qwell | 2008-01-31 13:52:49 -0600 (Thu, 31 Jan 2008) | 4 lines

Solaris compat fixes for struct in_addr funkiness.

Issue #11885, patch by snuffy.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@101483 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-31 19:54:46 +00:00
Tilghman Lesher
69ade72e3c With the switch to the ast_sched_replace* API in trunk, we lose the correction
that was just merged from 1.4, so this is a changeover to those APIs to use the
macro versions, so that we properly detect errors from ast_sched_del, instead
of simply ignoring the return values.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@100497 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-27 23:14:48 +00:00
Tilghman Lesher
ac699196f5 Merged revisions 100465 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r100465 | tilghman | 2008-01-27 15:59:53 -0600 (Sun, 27 Jan 2008) | 11 lines

When deleting a task from the scheduler, ignoring the return value could
possibly cause memory to be accessed after it is freed, which causes all
sorts of random memory corruption.  Instead, if a deletion fails, wait a
bit and try again (noting that another thread could change our taskid
value).
(closes issue #11386)
 Reported by: flujan
 Patches: 
       20080124__bug11386.diff.txt uploaded by Corydon76 (license 14)
 Tested by: Corydon76, flujan, stuarth`

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@100488 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-27 22:35:29 +00:00
Joshua Colp
f44ef30a3e Remove dependency on res_features from some channel drivers. It is now part of the core and no longer exists as a module.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@100112 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-24 15:54:32 +00:00
Russell Bryant
2a91da6613 Merged revisions 99004 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r99004 | russell | 2008-01-17 16:37:22 -0600 (Thu, 17 Jan 2008) | 10 lines

Have IAX2 optimize the codec translation path just like chan_sip does it.  If
the caller's codec is in our codec list, move it to the top to avoid transcoding.

(closes issue #10500)
Reported by: stevedavies
Patches:
      iax-prefer-current-codec.patch uploaded by stevedavies (license 184)
      iax-prefer-current-codec.1.4.patch uploaded by stevedavies (license 184)
Tested by: stevedavies, pj, sheldonh

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99006 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-17 22:50:13 +00:00
Joshua Colp
a6da07a515 Merged revisions 98966 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r98966 | file | 2008-01-16 13:50:10 -0400 (Wed, 16 Jan 2008) | 6 lines

Add missing NULLs at end of two ast_load_realtimes.
(closes issue #11769)
Reported by: tequ
Patches:
      chaniax.patch uploaded by dimas (license 88)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98967 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-16 17:51:52 +00:00
Russell Bryant
4fb04cb58a Merged revisions 98943 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r98943 | russell | 2008-01-15 17:26:52 -0600 (Tue, 15 Jan 2008) | 25 lines

Commit a fix for some memory access errors pointed out by the valgrind2.txt
output on issue #11698.

The issue here is that it is possible for an instance of a translator to get
destroyed while the frame allocated as a part of the translator is still being
processed.  Specifically, this is possible anywhere between a call to ast_read()
and ast_frame_free(), which is _a lot_ of places in the code.  The reason this
happens is that the channel might get masqueraded during this time.  During a
masquerade, existing translation paths get destroyed.

So, this patch fixes the issue in an API and ABI compatible way.  (This one is
 for you, paravoid!)

It changes an int in ast_frame to be used as flag bits.  The 1 bit is still used
to indicate that the frame contains timing information.  Also, a second flag has
been added to indicate that the frame came from a translator.  When a frame with
this flag gets released and has this flag, a function is called in translate.c to
let it know that this frame is doing being processed.  At this point, the flag gets
cleared.  Also, if the translator was requested to be destroyed while its internal
frame still had this flag set, its destruction has been deffered until it finds out
that the frame is no longer being processed.

Admittedly, this feels like a hack.  But, it does fix the issue, and I was not able 
to think of a better solution ...

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98944 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-15 23:31:53 +00:00