aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2008-05-21Importing files for 1.2.28.1 releasev1.2.28.1russell3-0/+6689
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.2.28.1@117692 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-21Creating tag for the release of asterisk-1.2.28.1russell0-0/+0
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.2.28.1@117691 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-08Fix a race condition that bbryant just found while doing some IAX2 testing.russell1-1/+33
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.2@115564 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-07Remove remnants of dlinkedlists. I didn't actually use them in the final ↵russell2-977/+0
version of my IAX2 improvements. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@115511 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-06read requires an argument on some non-bash shellsqwell1-1/+1
(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.2@115421 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-05Merge changes from team/russell/iax2_find_callno_1.2russell5-135/+2493
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.2@115296 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-29stop script from appending source code if run multiple timeskpfleming1-0/+11
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@114822 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-22When we receive a full frame that is supposed to contain our call number,russell1-17/+34
ensure that it has the correct one. (closes issue #10078) (AST-2008-006) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@114561 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-26update UPGRADE notes to document usage of the scriptkpfleming1-10/+4
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@111125 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-26add a script to make getting the iLBC source code simple for end userskpfleming1-0/+22
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@111019 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-26due to licensing restrictions, we cannot distribute the source code for iLBC ↵kpfleming48-7006/+18
encoding and decoding... so remove it, and add instructions on how the user can obtain it themselves git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@110869 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-20Fix some very broken code that was introduced in 1.2.26 as a part of the ↵russell2-14/+9
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: http://svn.digium.com/svn/asterisk/branches/1.2@110335 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-18Fix character string being treated as format stringtwilson1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@109488 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-18Do not return with a successful authentication if the From header ends up empty.qwell1-2/+0
(AST-2008-003) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@109391 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-07Change misery.digium.com to pbx.digium.comrussell1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@96931 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-23Fix for fix for security fix (third time's the charm?)tilghman1-25/+24
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@94661 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-20Fix another potential seg fault ...russell1-2/+2
(closes issue #11606) Reported by: dimas git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@94255 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-20Fix a couple of places where it's possible to dereference a NULL pointer.russell1-2/+2
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@94214 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-18Oops, missed this one casetilghman1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@93675 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-18Fixing AST-2007-027 (Closes issue #11119)tilghman2-10/+95
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@93667 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-29Properly escape src and dst fields (Fixes AST-2007-026)tilghman1-11/+16
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@90170 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-13clarify the OpenSSL and OpenH323 license exceptionskpfleming1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@82334 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-07Revert patch committed for issue #9660. It broke E&M trunks.russell1-9/+3
(closes issue #10360) (closes issue #10364) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@78370 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-02This patch hopefully solves 10141; The user is running with it, and it ↵murf1-2/+6
doesn't appear to harm asterisk's operation, and may prevent a crash. I'll store it in 1.2, as we have shut down support on 1.2, but since I developed the patch before support finished, and it might affect 1.4 and trunk, I'm going ahead with it. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@77942 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-31This probably isn't super-general, but it's a first stab at using kill -11 ↵murf1-10/+17
to generate a core file instead of gcore. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@77842 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-30Revert change in revision 71656, even though it fixed a bug, because many ↵tilghman1-1/+2
people were depending upon the (broken) behavior. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@77782 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-30(closes issue #10334)file1-2/+2
Reported by: ramonpeek Pass through the return value from macro_exec through the MacroIf application. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@77767 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-25this fixes bug 10293, where the error message because defaultzone or ↵murf1-1/+1
loadzone was not defined was confusing git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@76978 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-24Oops, res contains the error code, not errno. I was wondering why a mutex ↵tilghman1-1/+1
was reporting "No such file or directory"... git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@76934 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-24Don't create the Asterisk channel until we are starting the PBX on it.qwell1-16/+14
(ASA-2007-018) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@76802 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-23(closes issue #5866)file1-2/+2
Reported by: tyler Do not force channel format changes when a generator is present. The generator may have changed the formats itself and changing them back would cause issues. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@76653 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-23(closes issue #10236)file1-0/+5
Reported by: homesick Patches: rpid_1.4_75840.patch uploaded by homesick (license 91) Accept Remote Party ID on guest calls. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@76560 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-22We should not use C++ reserved words in API headers (closes issue #10266)tilghman1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@76409 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-21Backport a fix for a memory leak that was fixed in trunk in reivision 76221russell1-0/+1
by rizzo. The memory used for the localaddr list was not freed during a configuration reload. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@76226 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-20(closes issue #10247)file1-0/+3
Reported by: fkasumovic Patches: chan_sip.patch uploaded by fkasumovic (license #101) Drop any peer realm authentication entries when reloading so multiple entries do not get added to the peer. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@76080 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-19When processing full frames, take sequence number wraparound into account whenrussell1-1/+3
deciding whether or not we need to request retransmissions by sending a VNAK. This code could cause VNAKs to be sent erroneously in some cases, and to not be sent in other cases when it should have been. (closes issue #10237, reported and patched by mihai) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@75927 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-18When traversing the queue of frames for possible retransmission afterrussell1-1/+1
receiving a VNAK, handle sequence number wraparound so that all frames that should be retransmitted actually do get retransmitted. (issue #10227, reported and patched by mihai) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@75757 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-18Store prior to copy (closes issue #10193)tilghman1-1/+9
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@75748 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-18removed the word 'pissed' from ast_log(...) function call for BE-90dhubbard1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@75657 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-17Properly check for the length in the skinny packet to prevent an invalid memcpy.russell1-1/+1
(ASA-2007-016) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@75449 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-17Ensure that when encoding the contents of an ast_frame into an iax_frame, thatrussell3-4/+17
the size of the destination buffer is known in the iax_frame so that code won't write past the end of the allocated buffer when sending outgoing frames. (ASA-2007-014) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@75444 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-17After parsing information elements in IAX frames, set the data length to zero,russell1-0/+1
so that code later on does not think it has data to copy. (ASA-2007-015) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@75440 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-16provide proper copyright/license attribution for this structure that was ↵kpfleming1-0/+59
copied from a BSD-licensed header file long, long ago... git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@75304 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-16install the LICENSE file along with the music fileskpfleming1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@75257 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-16move FreePlayMusic files into a subdirectory, and include a license ↵kpfleming5-1/+4
statement for them git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@75251 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-13Fix a couple potential minor memory leaks. load_moh_classes() could returnrussell1-2/+2
without destroying the loaded configuration. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@75107 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-13Fixed an issue where chanspy flags were uninitialized if no options were passed.mmichelson1-0/+2
What triggered this investigation was an IRC chat where some people's quiet flags were set while others' weren't even though none of them had specified the q option. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@75066 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-13Ensure that adding a user to the list of users of a specific music on holdrussell1-0/+2
class is not done at the same time as any of the other operations on this list to prevent list corruption. Using the global moh_data lock for this is not ideal, but it is what is used to protect these lists everywhere else in the module, and I am only changing what is necessary to fix the bug. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@75059 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-13(closes issue #9660)russell1-3/+12
Reported by: mmacvicar Patches submitted by: bbryant, russell Tested by: mmacvicar, marco, arcivanov, jmhunter, explidous When using a TDM400P (and probably other analog cards) there was a chance that you could hang up and pick the phone back up where it has been long enough to be not considered a flash hook, but too soon such that the device reports that it is busy and the person on the phone will only hear silence. This patch makes chan_zap more tolerant of this and gives the device a couple of seconds to succeed so the person on the phone happily gets their dialtone. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@75052 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-12Only print out a warning for situations where it is actually helpful. (issue ↵file1-8/+9
#10187 reported by denke) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@74814 f38db490-d61c-443f-a65b-d21fe96a405b