Luigi Rizzo
a0f06d0dd5
start using asterisk/network.h for network related headers.
...
Also remove some unnecessary includes.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89380 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17 14:11:53 +00:00
Luigi Rizzo
f9ae0522f5
main is called main not amain!
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89378 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17 12:44:22 +00:00
Luigi Rizzo
a9395206f9
conditional targets for building the windows version
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89377 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17 12:33:15 +00:00
Luigi Rizzo
7cd78079ae
more cygwin/mingw32 compatibility fixes
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89373 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17 10:54:52 +00:00
Luigi Rizzo
6cca49b9d0
define RTLD_LOCAL for platforms that don't have it.
...
This is only to complete the build, clearly the linker
behaviour will be completely different and likely to
cause trouble in those cases.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89367 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17 09:51:45 +00:00
Luigi Rizzo
130b6291cb
netdb.h is used for gethostbyname, and it was not included in some
...
platforms.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89365 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17 09:44:14 +00:00
Luigi Rizzo
2940cf943f
Loader for cygwin where asterisk is really a big dll
...
(something like this is already in 1.2)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89364 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17 09:37:12 +00:00
Luigi Rizzo
5862c55451
use poll as detected by configure
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89355 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17 03:07:06 +00:00
Luigi Rizzo
5490960453
remove a bunch of duplicate includes
...
Reproduce with
grep -r #include . | grep -v .svn | grep -v Binary | sort | uniq -c | sort -nr
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89348 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 23:54:45 +00:00
Steve Murphy
7953c2c46f
My goodness, haven't handled an extension deletion. Add code to ast_context_remove_extension2() to remove an extension from the trie. Done by marking it deleted. The scoreboard won't update for it any more. Also, a couple of calls to insert hashtab had a spurious ->exten, which was removed.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89346 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 23:33:32 +00:00
Luigi Rizzo
04497db215
remove duplicate headers.
...
Properly check for netdb.h (there is actually tens of places to fix)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89335 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 20:28:19 +00:00
Luigi Rizzo
fdb7f7ba3d
Start untangling header inclusion in a way that does not affect
...
build times - tested, there is no measureable difference before and
after this commit.
In this change:
use asterisk/compat.h to include a small set of system headers:
inttypes.h, unistd.h, stddef.h, stddint.h, sys/types.h, stdarg.h,
stdlib.h, alloca.h, stdio.h
Where available, the inclusion is conditional on HAVE_FOO_H as determined
by autoconf.
Normally, source files should not include any of the above system headers,
and instead use either "asterisk.h" or "asterisk/compat.h" which does it
better.
For the time being I have left alone second-level directories
(main/db1-ast, etc.).
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 20:04:58 +00:00
Mark Michelson
fd7b3e7261
Fixing a problem pointed out by Qwell
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89332 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 19:51:47 +00:00
Mark Michelson
3107395445
Added some locks that should have been around astman_send_error,
...
at least according to the comments.
(closes issue #11258 , reported and patched by eliel)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89331 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 19:41:15 +00:00
Steve Murphy
ab32ff2ad8
This corrects a hashtab removal, given a bad argument
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89330 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 19:26:54 +00:00
Steve Murphy
542f29ea0e
This fixes a problem with pattern ranges; and corrects a situation in res_features, where an extension would be created with the name Zap/51, as an example. THe / is bad because it would tend to mean that the 51 is to be cid matched.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 18:59:02 +00:00
Kevin P. Fleming
547306835e
Merged revisions 89325 via svnmerge from
...
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r89325 | kpfleming | 2007-11-16 10:47:46 -0600 (Fri, 16 Nov 2007) | 4 lines
To help combat problems where people build external modules (asterisk-addons or others) and then change the build options of the Asterisk build in a way that makes the incompatible without warning, this commit introduces an MD5 signature of the important build-time options and includes that signature into modules when they are built. When the loader loads one of these modules and notices the problem, it will emit a warning to console and refuse to initialize the module, as doing so could cause the system to be unstable or even crash.
If you upgrade to this version of Asterisk, you must rebuild *all* of your modules that came from other sources before trying to run this version. If you are using Digium's G.729 binary codec module, you will need v33 or newer.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89326 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 16:56:59 +00:00
Luigi Rizzo
02733f3290
add a small new function to retrieve variables from a config
...
once we have a pointer to the category.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89322 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 10:07:24 +00:00
Tilghman Lesher
8309f54e39
If we're going to be passing a negative value for the size of a stringfield,
...
in order to indicate something, then using an UNSIGNED parameter is bad,
mmmmmkay?
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89312 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-15 23:50:15 +00:00
Steve Murphy
eee92d0881
Get rid of a previously missed ast_log call for debug, no longer nec.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89295 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-15 16:50:16 +00:00
Steve Murphy
0bad49b3dd
Perhaps I went overboard on initializing things. I can remove unnecc. stuff later. A few bug fixes. Killing small bugs on the way to killing bigger ones. Removed locking on hashtabs; there's plenty of locks already being taken. A small bug in the root_tree hashtab compare func.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89294 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-15 16:30:13 +00:00
Luigi Rizzo
09d9cce1d8
access channel locks through ast_channel_lock/unlock/trylock and not
...
through ast_mutex primitives.
To detect all occurrences, I have renamed the lock field in struct ast_channel
so it is clear that it shouldn't be used directly.
There are some uses in res/res_features.c (see details of the diff)
that are error prone as they try and lock two channels without
caring about the order (or without explaining why it is safe).
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89293 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-15 16:20:47 +00:00
Mark Michelson
6260590ec2
Merged revisions 89288 via svnmerge from
...
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r89288 | mmichelson | 2007-11-15 08:57:28 -0600 (Thu, 15 Nov 2007) | 3 lines
Undoing previous commit since I realize it was wrong
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89289 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-15 14:58:30 +00:00
Mark Michelson
eee4ed80cf
Merged revisions 89286 via svnmerge from
...
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r89286 | mmichelson | 2007-11-15 08:54:10 -0600 (Thu, 15 Nov 2007) | 4 lines
Adding a missing mutex unlock.
(closes issue 11256, reported and patched by ys)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89287 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-15 14:55:35 +00:00
Steve Murphy
620e580ed6
Had trouble playing with parking; spent a long time trying to reason out MATCHMORE mode. made these updates and xfers on zaptel lines seem to work ok now
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89277 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-15 01:42:12 +00:00
Tilghman Lesher
8820ae5b2e
Merged revisions 89275 via svnmerge from
...
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r89275 | tilghman | 2007-11-14 17:23:58 -0600 (Wed, 14 Nov 2007) | 5 lines
When a recording ends with '#', we are improperly trimming an extra 200ms from the recording.
Reported by: sim
Patch by: tilghman
Closes issue #11247
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89276 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-15 00:01:22 +00:00
Tilghman Lesher
5112f2b7e9
Typo
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89274 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-14 23:08:54 +00:00
Tilghman Lesher
36d9a5aaf3
Add callerid to the Hangup manager event.
...
Reported by: outtolunc
Patch by: outtolunc
Closes issue #11248
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89273 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-14 22:59:05 +00:00
Steve Murphy
20d24e1027
Rescaled the weights of the patterns to give something more independent of pattern length; and make . less likely to win. Question: which should win for 14102241145-- _1xxxxxxx. or _XXXXXXXXXXX -- right now, the pure X pattern will win.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89272 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-14 18:05:50 +00:00
Steve Murphy
225c94d950
A further problem highlighted by 11233 has been resolved; a certain combination of patterns in a certain order, led to a malformed trie, due to a ptr not being initialized in the loop. Also, some tree printing prettifications.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89271 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-14 15:43:30 +00:00
Tilghman Lesher
0f6892419e
One more typo in config.c; and missed conversions due to the constifying of ast_variable_new parameters
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89270 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-14 15:13:22 +00:00
Tilghman Lesher
b4839d4d4a
Typo
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89269 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-14 14:46:45 +00:00
Luigi Rizzo
7f8ecd2cd3
make the 'name' and 'value' fields in ast_variable const char *
...
This prevents modifying the strings in the stored variables,
and catched a few instances where this was actually done.
Given the differences between trunk and 1.4 (and the fact that this
is effectively an API change) it is better to fix 1.4 independently.
These are
chan_sip.c::sip_register()
chan_skinny.c:: near line 2847
config.c:: near line 1774
logger.c::make_components()
res_adsi.c:: near line 1049
I may have missed some instances for modules that do not build here.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89268 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-14 13:18:40 +00:00
Russell Bryant
d3414c7552
Fix up various coding guidelines issues ...
...
- handle memory allocation failures
- add an ast_ prefix to a publicly exported function
- put curly braces in the right places
- add a bunch of spaces where they should be be used
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89266 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-14 03:22:09 +00:00
Joshua Colp
7d561b994c
Merged revisions 89260 via svnmerge from
...
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r89260 | file | 2007-11-13 21:15:12 -0400 (Tue, 13 Nov 2007) | 4 lines
Return the proper value when the srv_callback function executes properly.
(closes issue #11240 )
Reported by: jtodd
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89262 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-14 01:16:50 +00:00
Kevin P. Fleming
a34bbab643
use simpler technique for removing known entries from lists
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89259 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-14 00:54:38 +00:00
Russell Bryant
b30b1bc46f
- Simplify removing an item from a list
...
- move a verbose message to after the item is added to the list
- make use of the ARRAY_LEN macro in one spot
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89258 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-14 00:33:52 +00:00
Steve Murphy
fd1f6df25f
This hopefully will fix the re-opened 11233. Hadn't covered the case of a context with no patterns. (blush)
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89257 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-13 23:43:41 +00:00
Steve Murphy
f0a7e86177
closes issue #11233 -- where some fine points in the algorithm to build the tree needed to be corrected. Many thanks for the test case, jtodd
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89256 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-13 21:19:11 +00:00
Tilghman Lesher
9cd09c5214
Merged revisions 89239 via svnmerge from
...
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r89239 | tilghman | 2007-11-13 07:51:53 -0600 (Tue, 13 Nov 2007) | 4 lines
Debugging is running into the 16-lock limit. Increase to avoid.
(This define is only effective when debugging is turned on, so there's
no effect for most installations.)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89240 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-13 14:03:34 +00:00
Jason Parker
cfbc4f5fb8
Doxygen fixes.
...
Also fix a common typo I kept seeing (arguement) in various files.
Closes issue #11222 , patch by snuffy (with arguement > argument by me).
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89202 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-12 23:44:20 +00:00
Steve Murphy
fd1fbb0223
Thanks to snuff-work, who brought up that these fixes might need to be made.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89196 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-12 20:49:27 +00:00
Jason Parker
50879dcb1d
Merged revisions 89194 via svnmerge from
...
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r89194 | qwell | 2007-11-12 14:46:52 -0600 (Mon, 12 Nov 2007) | 1 line
Fix a typo pointed out by De_Mon on #asterisk-dev
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89195 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-12 20:48:57 +00:00
Steve Murphy
98429d37b2
Based on a note in asterisk-dev by Brian Capouch, I determined I too agressive in not initializing arrays passed to pbx_substitute_variables_xxxx; I reviewed the code (again) and hopefully found every possible spot where substitute_variables is called conditionally, and made sure the char array involved was set to a null string.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89186 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-12 18:44:36 +00:00
Tilghman Lesher
061e5a1674
Merged revisions 89184 via svnmerge from
...
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r89184 | tilghman | 2007-11-12 11:29:17 -0600 (Mon, 12 Nov 2007) | 5 lines
Fix two cases of memory corruption caused by background threads.
Reported by: atis
Patch by: tilghman
Fixes issue #10923
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89185 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-12 17:44:04 +00:00
Steve Murphy
a897556f7f
This is the perhaps the biggest, boldest, most daring change I've ever committed to trunk. Forgive me in advance any disruption this may cause, and please, report any problems via the bugtracker. The upside is that this can speed up large dialplans by 20 times (or more). Context, extension, and priority matching are all fairly constant-time searches. I introduce here my hashtables (hashtabs), and a regression for them. I would have used the ast_obj2 tables, but mine are resizeable, and don't need the object destruction capability. The hashtab stuff is well tested and stable. I introduce a data structure, a trie, for extension pattern matching, in which knowledge of all patterns is accumulated, and all matches can be found via a single traversal of the tree. This is per-context. The trie is formed on the first lookup attempt, and stored in the context for future lookups. Destruction routines are in place for hashtabs and the pattern match trie. You can see the contents of the pattern match trie by using the 'dialplan show' cli command when 'core set debug' has been done to put it in debug mode. The pattern tree traversal only traverses those parts of the tree that are interesting. It uses a scoreboard sort of approach to find the best match. The speed of the traversal is more a function of the length of the pattern than the number of patterns in the tree. The tree also contains the CID matching patterns. See the source code comments for details on how everything works. I believe the approach general enough that any issues that might come up involving fine points in the pattern matching algorithm, can be solved by just tweaking things. We shall see. The current pattern matcher is fairly involved, and replicating every nuance of it is difficult. If you find and report problems, I will try to resolve than as quickly as I can. The trie and hashtabs are added to the existing context and exten structs, and none of the old machinery has been removed for the sake of the multitude of functions that use them. In the future, we can (maybe) weed out the linked lists and save some space.
...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89129 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-09 16:00:22 +00:00
Jason Parker
ec8497c58f
Merged revisions 89125 via svnmerge from
...
https://origsvn.digium.com/svn/asterisk/branches/1.4
(closes issue #11203 )
........
r89125 | qwell | 2007-11-08 17:52:35 -0600 (Thu, 08 Nov 2007) | 4 lines
Properly say the seconds here..
Issue 11203, fix described by vma.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89126 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-08 23:53:00 +00:00
Mark Michelson
0881f07aed
AST_LIST_REMOVE_CURRENT takes only one argument.
...
Thanks to snuffy for pointing this out on IRC
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89122 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-08 21:31:06 +00:00
Luigi Rizzo
339d27ebe9
use %d and cast to int instead of %zd for size_t object,
...
this helps portability.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89109 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-08 09:20:05 +00:00
Kevin P. Fleming
c18691dec0
Merged revisions 89105 via svnmerge from
...
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r89105 | kpfleming | 2007-11-08 00:26:47 -0500 (Thu, 08 Nov 2007) | 2 lines
fix a glaring bug in the new SRV record handling that would cause incorrect weight sorting
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89107 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-08 05:36:28 +00:00