David Vossel
6732590f86
Merge code associated with AST-2009-006
...
(closes issue #12912 )
Reported by: rathaus
Tested by: tilghman, russell, dvossel, dbrooks
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@215958 65c4cc65-6c06-0410-ace0-fbb531ad65f3
17 years ago
Sean Bright
84c5074ec3
Fix build errors on FreeBSD (uint -> unsigned int).
...
(closes issue #14006 )
Reported by: alphaque
Patches:
astobj2.h-patch uploaded by alphaque (license 259)
(Slightly modified by seanbright)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@161421 65c4cc65-6c06-0410-ace0-fbb531ad65f3
18 years ago
Tilghman Lesher
71fdd7d526
Regression fixes for Solaris
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@136945 65c4cc65-6c06-0410-ace0-fbb531ad65f3
18 years ago
Russell Bryant
c5c3cb32f1
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.2@115511 65c4cc65-6c06-0410-ace0-fbb531ad65f3
18 years ago
Russell Bryant
f8d551bd2b
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: https://origsvn.digium.com/svn/asterisk/branches/1.2@115296 65c4cc65-6c06-0410-ace0-fbb531ad65f3
18 years ago
Terry Wilson
53ca368854
Fix character string being treated as format string
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@109488 65c4cc65-6c06-0410-ace0-fbb531ad65f3
19 years ago
Tilghman Lesher
325bfeeda5
Oops, res contains the error code, not errno. I was wondering why a mutex was reporting "No such file or directory"...
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@76934 65c4cc65-6c06-0410-ace0-fbb531ad65f3
19 years ago
Tilghman Lesher
44b5abf39f
We should not use C++ reserved words in API headers (closes issue #10266 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@76409 65c4cc65-6c06-0410-ace0-fbb531ad65f3
19 years ago
Steve Murphy
fd1fc0a9c1
This update will fix the situation that occurs as described by 9717, where when several targets are specified for a dial, if any one them reports FAIL, the whole call gets FAIL, even though others were ringing OK. I rearranged the priorities, so that a new disposition, NULL, is at the lowest level, and the disposition get init'd to NULL. Then, next up is FAIL, and next up is BUSY, then NOANSWER, then ANSWERED. All the related set routines will only do so if the disposition value to be set to is greater than what's already there. This gives the intended effect. So, if all the targets are busy, you'd get BUSY for the call disposition. If all get BUSY, but one, and that one rings is not answered, you get NOANSWER. If by some freak of nature, the NULL value doesn't get overridden, then the disp2str routine will report NOANSWER as before.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@65172 65c4cc65-6c06-0410-ace0-fbb531ad65f3
19 years ago
Tilghman Lesher
b2f84c347f
How is it that we never caught that this is returning the opposite of our documentation, until now?
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@64819 65c4cc65-6c06-0410-ace0-fbb531ad65f3
19 years ago
Joshua Colp
71befa9884
Properly handle what happens during a masquerade in relation to group counting. (issue #9657 reported by ramonpeek)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@63285 65c4cc65-6c06-0410-ace0-fbb531ad65f3
19 years ago
Joshua Colp
6ab97a0292
Merge rewritten group counting support. No more storing data on the variable list of the channels. That was bad, mmmk? (issue #7497 reported by sabbathbh)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@61804 65c4cc65-6c06-0410-ace0-fbb531ad65f3
19 years ago
Tilghman Lesher
2eaae45f81
Don't check for error when lowering priority (according to the manpage, it should never happen anyway). It might could happen, though, if another thread messed with the priority, so safeguard against that (reported via -dev list).
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@60849 65c4cc65-6c06-0410-ace0-fbb531ad65f3
19 years ago
Joshua Colp
6af97b5d59
We can't use the assembler version of fetchadd_int under Intel Macs. (issue #9254 reported by darrell budic)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@58832 65c4cc65-6c06-0410-ace0-fbb531ad65f3
20 years ago
Russell Bryant
602c5bb8c3
Fix random crashes when using the MeetMe application. This patch converts list
...
handling to use the linked list macros and most importantly, implements
reference counting on the ast_conference objects. The reference counting was
first backported from 1.4. However, that code has some problems that caused
the reference count to never hit zero. Those problems are fixed in this patch
and will be resolved in 1.4 and trunk next, with a different patch.
(issues #7647 , #9073 , #9106 , BE-115).
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@55750 65c4cc65-6c06-0410-ace0-fbb531ad65f3
20 years ago
Russell Bryant
fed5b6a9b4
Revert some changes that accidentally got committed as a part of another fix.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@53134 65c4cc65-6c06-0410-ace0-fbb531ad65f3
20 years ago
Russell Bryant
8c161f55e4
set the DIALSTATUS variable to contain "INVALIDARGS" when the dial application
...
exits early because of invalid arguments instead of just leaving it empty.
(issue #8975 )
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@53133 65c4cc65-6c06-0410-ace0-fbb531ad65f3
20 years ago
Kevin P. Fleming
bedd43d2f9
ensure that message duration is included in email notifications for forwarded messages (BE-96, fix by me after corydon used his clue-bat on me)
...
ensure that duration in the message metadata is updated if prepending is done during forwarding (related to BE-96)
remove prototype for API call that does not exist
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@47677 65c4cc65-6c06-0410-ace0-fbb531ad65f3
20 years ago
Steve Murphy
e301bc352f
This mod for bug_7506, to make the manager code output the proper event
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@47274 65c4cc65-6c06-0410-ace0-fbb531ad65f3
20 years ago
Kevin P. Fleming
ffb75188e1
ensure that IAX2 and SIP sockets allow UDP fragmentation when running on Linux (thanks to Brian Candler on the asterisk-dev list for the tip)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@44955 65c4cc65-6c06-0410-ace0-fbb531ad65f3
20 years ago
Joshua Colp
87803a8ac6
Put in missing \ns on the end of ast_logs (issue #7936 reported by wojtekka)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@43924 65c4cc65-6c06-0410-ace0-fbb531ad65f3
20 years ago
Joshua Colp
12afd66083
Use proper type to represent the group variable (issue #8025 reported by makoto)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@43705 65c4cc65-6c06-0410-ace0-fbb531ad65f3
20 years ago
Joshua Colp
68de3c0b29
Merge in last round of spy fixes. This should hopefully eliminate all the issues people have been seeing by distinctly separating what each component (core/spy) is responsible for. Core is responsible for adding a spy to a channel, feeding frames to the spy, removing the spy from a channel, and telling the spy to stop. Spy is responsible for reading frames in, and cleaning up after itself.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@42054 65c4cc65-6c06-0410-ace0-fbb531ad65f3
20 years ago
Kevin P. Fleming
abb4e3a3a4
put in proper fix for issue #7294 instead of the broken partial fix that was committed, and thereby also fix issue #7438
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@41716 65c4cc65-6c06-0410-ace0-fbb531ad65f3
20 years ago
Joshua Colp
6b466228c4
Properly handle an ETIMEDOUT result from pthread_cond_timedwait (issue #7318 reported by arkadia)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@41390 65c4cc65-6c06-0410-ace0-fbb531ad65f3
20 years ago
Russell Bryant
034a919e1f
Fix a few issues related to the handling of channel variables
...
- in pbx_builtin_serialize_variables(), the variable list traversal would stop
on a variables with empty name/values, which is not appropriate
- When removing the GROUP variables, use AST_LIST_REMOVE_CURRENT instead of
AST_LIST_REMOVE
- During masquerading, when copying the variables list from one channel to the
other, using AST_LIST_INSERT_TAIL is not valid for appending a whole list.
It leaves the tail pointer of the list invalid. Introduce a new macro,
AST_LIST_APPEND_LIST that appends a list properly.
(issue #7802 , softins)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@40994 65c4cc65-6c06-0410-ace0-fbb531ad65f3
20 years ago
Kevin P. Fleming
724b3d0004
clarify file headers that mention disclaimer usage
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@34087 65c4cc65-6c06-0410-ace0-fbb531ad65f3
20 years ago
Joshua Colp
d1afe5c64f
Greatly simply the mixmonitor thread, and move channel reference directly to spy structure so that the core can modify it.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@33724 65c4cc65-6c06-0410-ace0-fbb531ad65f3
20 years ago
BJ Weschke
efee6cdadf
Fix doxygen comment about AST_LIST_HEAD_INIT_NOLOCK
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@31738 65c4cc65-6c06-0410-ace0-fbb531ad65f3
20 years ago
Kevin P. Fleming
84c0989323
handle Zap transfers behind chan_agent properly so the agent doesn't get stuck waiting for the call to hang up
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@31520 65c4cc65-6c06-0410-ace0-fbb531ad65f3
20 years ago
Kevin P. Fleming
75ca02dbaa
backport some mutex initialization and linked list handling fixes from trunk
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@29732 65c4cc65-6c06-0410-ace0-fbb531ad65f3
20 years ago
BJ Weschke
3bc1111ea8
Voicemail fixes along with an API change approved by russellb to fix the bug(s). (jcollie and supczinskib) #7064
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@25014 65c4cc65-6c06-0410-ace0-fbb531ad65f3
20 years ago
Tilghman Lesher
00c0af845d
Bug 6864 - drop realtime priority on ALL external processes
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@24019 65c4cc65-6c06-0410-ace0-fbb531ad65f3
20 years ago
Joshua Colp
fb912bc629
Minor linked lists bug fix. When you're dealing with swapping entries around a lot it can cause a seg fault.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@19303 65c4cc65-6c06-0410-ace0-fbb531ad65f3
20 years ago
Tilghman Lesher
0bb7b71572
Bug 6830 - Let GosubIf work with the same conditions as a GotoIf (change in API approved by Russell)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@16192 65c4cc65-6c06-0410-ace0-fbb531ad65f3
21 years ago
Kevin P. Fleming
8d1c316519
ensure that list traversal loops which skip entries properly update the 'previous entry' pointer so when entries _are_ removed the list does not get damaged
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@15896 65c4cc65-6c06-0410-ace0-fbb531ad65f3
21 years ago
BJ Weschke
da3df5ec26
Doxygen comment typo corrections
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@14610 65c4cc65-6c06-0410-ace0-fbb531ad65f3
21 years ago
Joshua Colp
dcccda229d
Issue #5918 - Disposition showing FAILED even though call is answered successfully (Reported by tracinet)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@14234 65c4cc65-6c06-0410-ace0-fbb531ad65f3
21 years ago
Tilghman Lesher
536dcc2058
Bug 6615 - Fix 64bit conversion errors by using a long int
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@11503 65c4cc65-6c06-0410-ace0-fbb531ad65f3
21 years ago
Tilghman Lesher
677a22c209
Bug 5950 - reenable queue log rotation; also, eliminate redundant code
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@11165 65c4cc65-6c06-0410-ace0-fbb531ad65f3
21 years ago
Kevin P. Fleming
fcf8040825
backport list handling fix from trunk (solves memory leak problem in cdr variables and device state watchers)
...
remove unusued variable to silence compiler warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@10863 65c4cc65-6c06-0410-ace0-fbb531ad65f3
21 years ago
Russell Bryant
e27d844918
now that CDR is a loadable module, don't depend on it elsewhere (issue #6460 )
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@9581 65c4cc65-6c06-0410-ace0-fbb531ad65f3
21 years ago
Tilghman Lesher
7a61b36104
Bug 6076 - Fix documentation of ast_trim_blank return value
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7827 65c4cc65-6c06-0410-ace0-fbb531ad65f3
21 years ago
Kevin P. Fleming
73ef559240
revert incorrect fix for bug #6048 from revision 7709
...
put in correct (simpler) fix
add doxygen docs for channel spy 'state' values
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7740 65c4cc65-6c06-0410-ace0-fbb531ad65f3
21 years ago
Tilghman Lesher
6ab729aeb3
We want to check the previous value, not the current value (which was just changed).
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7508 65c4cc65-6c06-0410-ace0-fbb531ad65f3
21 years ago
Tilghman Lesher
ef09c506c8
Typo
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7433 65c4cc65-6c06-0410-ace0-fbb531ad65f3
21 years ago
Tilghman Lesher
3b80a35a66
Bug 5965 - major bug in AST_LIST_REMOVE
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7429 65c4cc65-6c06-0410-ace0-fbb531ad65f3
21 years ago
Kevin P. Fleming
77c6cd0bff
remove remaining CVS references
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7226 65c4cc65-6c06-0410-ace0-fbb531ad65f3
21 years ago
Kevin P. Fleming
a563eab49a
remove extraneous svn:executable properties
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
21 years ago
Kevin P. Fleming
bf9d4b103d
do the multiple-lock check for cond_wait properly...
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7219 65c4cc65-6c06-0410-ace0-fbb531ad65f3
21 years ago