Age | Commit message (Collapse) | Author | Files | Lines |
|
right thing. And some additions to removal of extens to take care of hashtab pointers in all cases.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89388 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
Also remove some unnecessary includes.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89380 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89362 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
Reproduce with
grep -r #include . | grep -v .svn | grep -v Binary | sort | uniq -c | sort -nr
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89348 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
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: http://svn.digium.com/svn/asterisk/trunk@89333 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
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: http://svn.digium.com/svn/asterisk/trunk@89268 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
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: http://svn.digium.com/svn/asterisk/trunk@89202 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
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: http://svn.digium.com/svn/asterisk/trunk@89186 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
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: http://svn.digium.com/svn/asterisk/trunk@89129 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
is time to hangup a channel.
Closes issue #11202, patch by mnicholson
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89124 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
- the *_CURRENT macros no longer need the list head pointer argument
- add AST_LIST_MOVE_CURRENT to encapsulate the remove/add operation when moving entries between lists
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89106 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88376 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88371 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88287 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
Reported by: mnicholson
Patch by: mnicholson
Closes issue #11140
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88250 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
in the pbx, a 25-30% speed boost. The two updates used, are, first, to merge the ast_exists_extension() and the ast_spawn_extension() where they are called sequentially in a loop in the code, into a slightly upgraded version of ast_spawn_extension(), with a few extra args; and, second, I modified the substitute_variables_helper_full, so it zeroes out the byte after the evaluated string instead of demanding you pre-zero the buffer; I also went thru the code and removed the code that zeroed this buffer before every call to the substitute_variables_helper_full. The first fix provides about a 9% speedup, and the second the rest. These figures come from the 'PIPS' benchmark I describe in blogs, conf. reports, etc.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88166 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
(closes issue #11138)
Reported by: eliel
Patches:
pbx_dundi.c.patch uploaded by eliel (license 64)
chan_sip.c.patch uploaded by eliel (license 64)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88077 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r87168 | murf | 2007-10-26 10:34:02 -0600 (Fri, 26 Oct 2007) | 1 line
closes issue #11086 where a user complains that references to following contexts report a problem; The problem was REALLy that he was referring to empty contexts, which were being ignored. Reporter stated that empty contexts should be OK. I checked it out against extensions.conf, and sure enough, empty contexts ARE ok. So, I removed the restriction from AEL. This, though, highlighted a problem with multiple contexts of the same name. This should be OK, also. So, I added the extend keyword to AEL, and it can preceed the 'context' keyword (mixed with 'abstract', if nec.). This will turn off the warnings in AEL if the same context name is used 2 or more times. Also, I now call ast_context_find_or_create for contexts now, instead of just ast_context_create; I did this because pbx_config does this. The 'extend' keyword thus becomes a statement of intent. AEL can now duplicate the behavior of pbx_config,
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@87187 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
config dir (/etc/asterisk) for relative path includes for AEL
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86967 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
didn't make much sense
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86820 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r86661 | file | 2007-10-22 11:05:26 -0300 (Mon, 22 Oct 2007) | 6 lines
Fix tab completion for dundi show peer.
(closes issue #11041)
Reported by: jsmith
Patches:
asterisk-dundicomplete.diff.txt uploaded by jamesgolovich (license 176)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86662 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
Closes issue #11039, as suggested by seanbright.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86536 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
Remove old unused defines for old style.
Closes issue 10860, patch by IgorG.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@85764 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
safer by removing various assumptions about sizes. (No vulnerabilities, though)
(closes issue #10977)
Reported by: dimas
Patches:
dundiparser.patch uploaded by dimas (license 88)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@85558 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r85556 | russell | 2007-10-15 10:40:45 -0500 (Mon, 15 Oct 2007) | 9 lines
Ensure the buffer passed to ast_canmatch_extension() is properly initialized so
that it is null terminated.
(issue #10977)
Reported by: dimas
Patches:
pbxdundi.patch uploaded by dimas (license 88)
- small mods by me
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@85557 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r85540 | russell | 2007-10-14 10:24:52 -0500 (Sun, 14 Oct 2007) | 7 lines
Don't create the context for users in users.conf until we know at least one user exists.
(closes issue #10971)
Reported by: dimas
Patches:
pbxconfig.patch uploaded by dimas (license 88)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@85541 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r85515 | russell | 2007-10-12 10:40:35 -0500 (Fri, 12 Oct 2007) | 7 lines
Fix the potential use of an uninitialized buffer in a log message.
(closes issue #10958)
Reported by: dimas
Patches:
realtime.patch uploaded by dimas (license 88)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@85516 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
(closes issue #10724)
Reported by: eliel
Patches:
chan_skinny.c.patch uploaded by eliel (license 64)
chan_oss.c.patch uploaded by eliel (license 64)
chan_mgcp.c.patch2 uploaded by eliel (license 64)
pbx_config.c.patch uploaded by seanbright (license 71)
iax2-provision.c.patch uploaded by eliel (license 64)
chan_gtalk.c.patch uploaded by eliel (license 64)
pbx_ael.c.patch uploaded by seanbright (license 71)
file.c.patch uploaded by seanbright (license 71)
image.c.patch uploaded by seanbright (license 71)
cli.c.patch uploaded by moy (license 222)
astobj2.c.patch uploaded by moy (license 222)
asterisk.c.patch uploaded by moy (license 222)
res_limit.c.patch uploaded by seanbright (license 71)
res_convert.c.patch uploaded by seanbright (license 71)
res_crypto.c.patch uploaded by seanbright (license 71)
app_osplookup.c.patch uploaded by seanbright (license 71)
app_rpt.c.patch uploaded by seanbright (license 71)
app_mixmonitor.c.patch uploaded by seanbright (license 71)
channel.c.patch uploaded by seanbright (license 71)
translate.c.patch uploaded by seanbright (license 71)
udptl.c.patch uploaded by seanbright (license 71)
threadstorage.c.patch uploaded by seanbright (license 71)
db.c.patch uploaded by seanbright (license 71)
cdr.c.patch uploaded by moy (license 222)
pbd_dundi.c.patch uploaded by moy (license 222)
app_osplookup-rev83558.patch uploaded by moy (license 222)
res_clioriginate.c.patch uploaded by moy (license 222)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@85460 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r84511 | murf | 2007-10-03 08:23:00 -0600 (Wed, 03 Oct 2007) | 1 line
closes issue #10834 ; where a null input to a switch statement results in a hangup; since switch is implemented with extensions, and the default case is implemented with a '.', and the '.' matches 1 or more remaining characters, the case where 0 characters exist isn't matched, and the extension isn't matched, and the goto fails, and a hangup occurs. Now, when a default case is generated, it also generates a single fixed extension that will match a null input. That extension just does a goto to the default extension for that switch. I played with an alternate solution, where I just tack an extra char onto all the patterns and the goto, but not the default case's pattern. Then even a null input will still have at least one char in it. But it made me nervous, having that extra char in , even if that's a pretty secret and low-level issue.
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@84512 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r84239 | murf | 2007-10-01 14:27:52 -0600 (Mon, 01 Oct 2007) | 1 line
closes issue #10777 -- by returning a null for the parse tree when there's really nothing there, and making sure we don't try to do checking on a null tree.
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@84327 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
a patch for it. It replaces a bunch of simple calls to snprintf with ast_copy_string
(closes issue #10843)
Reported by: Corydon76
Patches:
2007092900_10843.diff uploaded by mvanbaak (license 7)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@84173 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
test for glob'd includes
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@84134 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r83976 | russell | 2007-09-26 19:01:29 -0500 (Wed, 26 Sep 2007) | 1 line
remove a todo item that has been completed
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@83977 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r83558 | murf | 2007-09-22 10:41:43 -0600 (Sat, 22 Sep 2007) | 1 line
This closes issue #10788 -- the 3rd arg in the for statement is now wrapped in Set() only if there's an '=' in that string. Otherwise, if it begins with '&', then a Macro call is generated; otherwise it is made into an app call. A bit more accomodating, keeps the new guys happy, and the guys with ael-1 code should be happy, too
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@83575 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r83432 | russell | 2007-09-21 09:37:20 -0500 (Fri, 21 Sep 2007) | 4 lines
gcc 4.2 has a new set of warnings dealing with cosnt pointers. This set of
changes gets all of Asterisk (minus chan_alsa for now) to compile with gcc 4.2.
(closes issue #10774, patch from qwell)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@83433 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@83229 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r82802 | russell | 2007-09-18 11:31:01 -0500 (Tue, 18 Sep 2007) | 4 lines
When copying the contents from the wildcard peer, do a deep copy instead of
shallow copy so that it doesn't crash when beging destroyed.
(closes issue #10546, patch by me)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@82803 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
free to be ast_free, astmm said all calls to free were coming from utils.h
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@82628 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r82358 | qwell | 2007-09-13 18:11:27 -0500 (Thu, 13 Sep 2007) | 4 lines
Fix a small typo.
retrytime > waittime
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@82359 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r82250 | russell | 2007-09-11 11:03:42 -0500 (Tue, 11 Sep 2007) | 4 lines
The sample dundi.conf claims support for a wildcard peer entry - [*], but the
code did not support it. This patch makes it work.
(closes issue #10546, patch by dds, with some changes by me)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@82251 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r82243 | file | 2007-09-11 11:56:39 -0300 (Tue, 11 Sep 2007) | 6 lines
(closes issue #10577)
Reported by: jamesgolovich
Patches:
asterisk-dundifree.diff.txt uploaded by jamesgolovich (license 176)
Don't leak memory when unloading DUNDi.
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@82244 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
didn't add it to 1.4 yet, because it's not entirely clear to me if this is a bug fix or an enhancement. A lot of files were affected by small changes like ast_variable_new getting an added arg, for the file name the var was defined in; ast_category_new gets added args of filename and lineno; ast_category and ast_variable structures now record file and lineno for each entry; a list of all #include and #execs in a config file (or any of its inclusions are now kept in the ast_config struct; at save time, each entry is put back into its proper file of origin, in order. #include and #exec directives are folded in properly. Headers indicating that the file was generated, are generated also for each included file. Some changes to main/manager.c to take care of file renaming, via the UpdateConfig command. Multiple inclusions of the same file are handled by exploding these into multiple include files, uniquely named. There's probably more, but I can't remember it right now.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81361 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
are still more places in the tree that I have not yet changed if someone wants
to go through and find the places they are used without the channel locked.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81262 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
Merged revisions 81065 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r81065 | russell | 2007-08-27 11:38:33 -0500 (Mon, 27 Aug 2007) | 1 line
explicity define a variable as a boolean
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81098 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r81074 | russell | 2007-08-27 12:27:48 -0500 (Mon, 27 Aug 2007) | 3 lines
Add a \todo to note that this module leaks most of the memory it allocates on
unload and should be fixed (when I'm not in the middle of something else ...).
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81076 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@80897 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
after hitting the syntax error. An inspection of the code revealed that error tokens in lists were not rearranged when the rules were rearranged as part of a code neatening-up process. By moving the error tokens to where they should be, I also reduced the number of shift/reduce conflicts to 3 instead of 8. This introduces subtle differences in error messages, so the regressions had to be updated.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@80649 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
Closes issue #10483, patch by lunn
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79888 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79747 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
Reported by: lunn
Patches:
pbx_dundi.diff uploaded by lunn (license 179)
Don't print a warning saying an ethernet interface was found when it indeed was.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79688 f38db490-d61c-443f-a65b-d21fe96a405b
|