aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2008-05-21merge main/asterisk.c portion of 117519russell1-0/+8
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.4.20.1@117528 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-21merge gtk part of 117507russell1-0/+4
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.4.20.1@117527 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-21merge 117479 from 1.4russell1-1/+5
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.4.20.1@117526 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-21remove .version and ChangeLogrussell2-17629/+0
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.4.20.1@117525 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-21create 1.4.20.1 tagrussell2-17/+1
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.4.20.1@117521 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-21Importing files for 1.4.20.1 releaserussell1-0/+17644
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.4.20.1@117512 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-21change .version, and remove the ChangeLogrussell2-17629/+1
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.4.20.1@117511 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-21Create 1.4.20.1 tagrussell0-0/+0
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.4.20.1@117510 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-20Change .version and ChangeLogrussell2-2/+6
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.4.20@117334 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-20create 1.4.20 from 1.4.20-rc3russell10-69/+160
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.4.20@117333 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-14Use autotagged externalsrussell0-0/+0
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.4.20-rc3@116244 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-14Importing files for 1.4.20-rc3 releaserussell3-0/+17626
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.4.20-rc3@116243 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-14Creating tag for the release of asterisk-1.4.20-rc3russell0-0/+0
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.4.20-rc3@116242 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-14Accept text messages even withoej1-1/+1
Content-Type: text/plain;charset=Södermanländska git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@116230 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-13A change to the way channel locks are handled when DEBUG_CHANNEL_LOCKS is ↵mmichelson2-8/+21
defined. After debugging a deadlock, it was noticed that when DEBUG_CHANNEL_LOCKS is enabled in menuselect, the actual origin of channel locks is obscured by the fact that all channel locks appear to happen in the function ast_channel_lock(). This code change redefines ast_channel_lock to be a macro which maps to __ast_channel_lock(), which then relays the proper file name, line number, and function name information to the core lock functions so that this information will be displayed in the case that there is some sort of locking error or core show locks is issued. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@116088 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-13Fix a deadlock involving channel autoservice and chan_local that was debuggedrussell1-11/+14
and fixed by mmichelson and me. We observed a system that had a bunch of threads stuck in ast_autoservice_stop(). The reason these threads were waiting around is because this function waits to ensure that the channel list in the autoservice thread gets rebuilt before the stop() function returns. However, the autoservice thread was also locked, so the autoservice channel list was never getting rebuilt. The autoservice thread was stuck waiting for the channel lock on a local channel. However, the local channel was locked by a thread that was stuck in the autoservice stop function. It turned out that the issue came down to the local_queue_frame() function in chan_local. This function assumed that one of the channels passed in as an argument was locked when called. However, that was not always the case. There were multiple cases in which this channel was not locked when the function was called. We fixed up chan_local to indicate to this function whether this channel was locked or not. The previous assumption had caused local_queue_frame() to improperly return with the channel locked, where it would then never get unlocked. (closes issue #12584) (related to issue #12603) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@116038 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-13Fix an issue that I noticed in autoservice while mmichelson and I were debuggingrussell1-5/+9
a different problem. I noticed that it was theoretically possible for two threads to attempt to start the autoservice thread at the same time. This change makes the process of starting the autoservice thread, thread-safe. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115990 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-13Use the right flag to open the audio in non-blocking.file1-2/+1
(closes issue #12616) Reported by: nicklewisdigiumuser git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115944 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-13If the socket dies (read returns 0=EOF), return immediately.tilghman1-1/+1
(Closes issue #12637) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115884 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-12If a thread holds no locks, do not print any information on the thread when ↵mmichelson1-38/+40
issuing a core show locks command. This will help to de-clutter output somewhat. Russell said it would be fine to place this improvement in the 1.4 branch, so that's why it's going here too. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115735 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-12Use autotagged externalsrussell0-0/+0
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.4.20@115612 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-12Importing files for 1.4.20 releaserussell3-0/+17556
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.4.20@115611 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-12Creating tag for the release of asterisk-1.4.20russell0-0/+0
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.4.20@115610 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-09Improve res_ninit and res_ndestroy autoconf logic on the Darwin platform.file3-9/+221
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115579 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-08Remove debug output.russell1-4/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115568 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-08Merged revisions 115564 via svnmerge from russell1-0/+18
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: http://svn.digium.com/svn/asterisk/branches/1.4@115565 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-08Don't give up on attempting an outbound registration if we receive a 408 ↵russell1-2/+0
Timeout. (closes issue #12323) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115561 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-08remove postgres_cdr.sql, as the CDR schema is in realtime_pgsql.sql, as wellrussell1-33/+0
(closes issue #9676) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115557 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-08Don't exit the script if Asterisk is not running.russell1-1/+2
(closes issue #12611) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115554 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-08Don't use a channel before checking for channel allocation failure.russell1-6/+6
(closes issue #12609) Reported by: edantie git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115551 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-08Use the same method for executing Asterisk as the rest of the script.russell1-1/+1
(closes issue #12611) Reported by: b_plessis git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115545 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-07Track peer references when stored in the sip_pvt struct as the peer related torussell1-6/+11
a qualify ping or a subscription. This fixes some realtime related crashes. (closes issue #12588) (closes issue #12555) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115517 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-07Merged revisions 115511 via svnmerge from russell2-977/+0
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: http://svn.digium.com/svn/asterisk/branches/1.4@115512 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-06Merged revisions 115421 via svnmerge from qwell1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r115421 | qwell | 2008-05-06 14:54:57 -0500 (Tue, 06 May 2008) | 7 lines read requires an argument on some non-bash shells (closes issue #12593) Reported by: bkruse Patches: getilbc.sh_12593_v1.diff uploaded by bkruse (license 132) ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115422 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-06Switch to using ast_random() rather than just rand().qwell1-1/+1
This does not fix the bug reported, but I believe it is correct. (from issue #12446) Patches: bug_12446.diff uploaded by snuffy (license 35) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115418 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-06Don't print the terminating NUL. (Closes issue #12589)tilghman1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115415 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-06Add in missing argument.file2-80/+80
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115341 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-05Separate verbose output from CLI output, by using a preamble.tilghman2-5/+41
(closes issue #12402) Reported by: Corydon76 Patches: 20080410__no_verbose_in_rx_output.diff.txt uploaded by Corydon76 (license 14) 20080501__no_verbose_in_rx_output__1.4.diff.txt uploaded by Corydon76 (license 14) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115333 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-05Make sure that either the main speex library contains preprocess functions ↵file5-2/+438
or that speexdsp does. If both fail then speex stuff can not be built. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115327 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-05Don't consider a caller "handled" until the caller is bridged withmmichelson1-2/+1
a queue member. There was too much of an opportunity for the member to hang up (either during a delay, announcement, or overly long agi) between the time that he answered the phone and the time when he actually was bridged with the caller. The consequence of this was that if the member hung up in that interval, then proper abandonment details would not be noted in the queue log if the caller were to hang up at any point after the member hangup. (closes issue #12561) Reported by: ablackthorn git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115320 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-05Reverse order, such that user configs override default selectionstilghman1-3/+3
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115312 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-05Err, the documentation on the return value of ast_odbc_backslash_is_escape ↵tilghman1-1/+1
is exactly backwards. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115308 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-05Avoid putting opaque="" in Digest authentication. This patch came from ↵russell1-2/+9
switchvox. It fixes authentication with Primus in Canada, and has been in use for a very long time without causing problems with any other providers. (closes issue AST-36) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115304 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-05Blocked revisions 115296 via svnmergerussell0-0/+0
........ r115296 | russell | 2008-05-05 12:53:26 -0500 (Mon, 05 May 2008) | 28 lines Merge changes from team/russell/iax2_find_callno_1.2 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: http://svn.digium.com/svn/asterisk/branches/1.4@115297 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-05When starting Asterisk, bug out if Asterisk is already running.tilghman7-1/+58
(closes issue #12525) Reported by: explidous Patches: 20080428__bug12525.diff.txt uploaded by Corydon76 (license 14) Tested by: mvanbaak git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115285 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-04Expand the test function for GCC attributes so that more complex attributes ↵file2-7/+7
are properly recognized. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115282 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-04For my next trick I will make these work with what our autoconf header file ↵file1-6/+6
gives us. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115279 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-04Treat warnings as errors when checking if a GCC attribute exists. We have to ↵file2-2/+30
do this as GCC will just ignore the attribute and pop up a warning, it won't actually fail to compile. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115276 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-02Add new "pri show version" command to show the libpri version for support ↵bbryant5-5/+438
reasons. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115257 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-02Clarify a comment that was, well, just wrong. It turns out thatmmichelson1-11/+5
ignoring the way that macros expand. Instead, I have clarified in the comment why the macro will work even if the scheduler id for the task to be deleted changes during the execution of the macro. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115196 f38db490-d61c-443f-a65b-d21fe96a405b