summaryrefslogtreecommitdiff
path: root/main
AgeCommit message (Collapse)Author
2007-11-12Merged revisions 89194 via svnmerge from Jason Parker
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-12Based on a note in asterisk-dev by Brian Capouch, I determined I too ↵Steve Murphy
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-12Merged revisions 89184 via svnmerge from Tilghman Lesher
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-09This is the perhaps the biggest, boldest, most daring change I've ever ↵Steve Murphy
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-08Merged revisions 89125 via svnmerge from Jason Parker
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-08AST_LIST_REMOVE_CURRENT takes only one argument.Mark Michelson
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-08use %d and cast to int instead of %zd for size_t object,Luigi Rizzo
this helps portability. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89109 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-08Merged revisions 89105 via svnmerge from Kevin P. Fleming
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-08improve linked-list macros in two ways:Kevin P. Fleming
- 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: https://origsvn.digium.com/svn/asterisk/trunk@89106 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-07remove a debugging message which i forgot in.Luigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89083 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-07Fix another CLI command so it doesn't run the real code when called for ↵Russell Bryant
initialization. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89076 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06Fix up some PBX logic that became broken. The code would exit prematurely ↵Joshua Colp
when it should have been collecting more digits. (closes issue #11175) Reported by: pj git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06Commit some cleanups to the format type code.Tilghman Lesher
- Remove the AST_FORMAT_MAX_* types, as these are consuming 3 out of our available 32 bits. - Add a native slin16 type, so that 16kHz codecs can translate without losing resolution. (This doesn't affect anything immediately, until another codec has wb support.) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89071 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06Merged revisions 89036 via svnmerge from Steve Murphy
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r89036 | murf | 2007-11-06 10:52:50 -0700 (Tue, 06 Nov 2007) | 1 line closes issue #8786 - where the [catname](!) and [catname](othercat1,othercat2,...) notation gets dropped across a ConfigUpdate (or any other thing that would cause a config file to be written). While I was at it, I also cleaned up some of the destroy routines to free up comments, which was not being done. Made sure the new struct I introduced is also cleaned up properly at destruction time. My code handles multiple template inclusions. Many thanks to ssokol for his patch, which, while not literally used in the final merge, served as a foundation for the fix. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89062 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06Remove native bridging check for DTMF based transfers. Thanks to the last ↵Joshua Colp
batch of RTP changes it is no longer required for the media stream to go through Asterisk if DTMF is going over signalling. It will simply reinvite back as needed. (closes issue #11172) Reported by: ibc git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89057 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06Fix the memory show allocations CLI command so that it doesn't spew out allRussell Bryant
of the current memory allocations when you start Asterisk, when the command's handler gets called for initialization. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89052 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06Hoping to avoid a crash in OSX for a problem blitzrage foundSteve Murphy
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89051 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06Formatting. Illegaly using some spare spaces from Russell's space-bucket.Olle Johansson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89050 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06Additional TDD changes (preparing for SIP changes - adding TDD support to SIP)Olle Johansson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89048 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06"show application <foo>" changes for clarity.Mark Michelson
(closes issue #11171, reported and patched by blitzrage) Many thanks! git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89044 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06Merged revisions 89042 via svnmerge from Olle Johansson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r89042 | oej | 2007-11-06 19:53:37 +0100 (Tis, 06 Nov 2007) | 2 lines Bug fixes to tdd support in zaptel. ........ (Small changes for trunk) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89043 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06Fix embedding of modules on FreeBSD:Luigi Rizzo
the constructor for the list of modules was run after the constructors for the embedded modules (which appended entries to the list). As a result, the list appeared empty when it was time to use it. On linux the order of execution of constructor was evidently different (it may depend on the ordering of modules in the ELF file). This is only a workaround - there may be other situations where the execution of constructors causes problems, so if we manage to find a more general solution this workaround can go away. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89031 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06Merged revisions 88805 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r88805 | russell | 2007-11-05 16:07:54 -0600 (Mon, 05 Nov 2007) | 12 lines After seeing crashes related to channel variables, I went looking around at the ways that channel variables are handled. In general, they were not handled in a thread-safe way. The channel _must_ be locked when reading or writing from/to the channel variable list. What I have done to improve this situation is to make pbx_builtin_setvar_helper() and friends lock the channel when doing their thing. Asterisk API calls almost all lock the channel for you as necessary, but this family of functions did not. (closes issue #10923, reported by atis) (closes issue #11159, reported by 850t) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88934 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05Merged revisions 88826 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r88826 | mmichelson | 2007-11-05 17:29:29 -0600 (Mon, 05 Nov 2007) | 6 lines Reworked deadlock avoidance in __ast_read. Restored audio to callback agents. (closes issue #11071, reported by callguy, patched by me, tested by callguy and Ted Brown) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88827 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05Move the last instance of AST_LIBS to the only place it is used,Luigi Rizzo
namely main/Makefile . I am unclear where decisions on the build environment (CFLAGS, LDFLAGS, LIBS and so on) should be made - right now they are split here and there. As a first step in cleaning up this situation, i am trying to at least collect all instances of each variable in one place. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88767 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05Merged revisions 88719 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r88719 | russell | 2007-11-05 14:40:01 -0600 (Mon, 05 Nov 2007) | 7 lines Merge changes from asterisk/team/kpfleming/SRV-priority-handling Previously, the SRV record support in Asterisk was broken. There was no guarantee on what record Asterisk would choose to actually use. This set of changes improves the situation by ensuring that Asterisk will choose the highest priority record. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88740 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05Merged revisions 88709 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r88709 | russell | 2007-11-05 14:11:04 -0600 (Mon, 05 Nov 2007) | 20 lines Merge the last bit of changes from asterisk/team/russell/readq-1.4 The issue here is that the channel frame readq handling got broken when the code was converted to use the linked list macros. It caused corruption of the list head and tail pointers. So, I fixed up the usage of the linked list macros and in passing, simplified the code. I also documented what the code is doing, as it was a bit difficult to figure out at first. This bug showed itself with crashes showing messed up head/tail pointers for the readq. However, there are a couple of crashes that aren't quite as obvious, but I think may be related. So, if your bug gets closed by this commit, but you still have a problem, please reopen or create a new bug report. (closes issue #10936) (closes issue #10595) (closes issue #10368) (closes issue #11084) (closes issue #10040) (closes issue #10840) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88710 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05Merged revisions 88624 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r88624 | russell | 2007-11-05 11:46:02 -0600 (Mon, 05 Nov 2007) | 5 lines Fix up datastore handling in ast_do_masquerade(). The code is intended to move any channel datastores from the old channel to the new one. However, it did not use the linked list macros properly to accomplish the task. The existing code would only work if there was only a single datastore on the old channel. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88651 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05remove a cygwin-specific function remap that does not work.Luigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88525 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-04Simplify the implementation and the API for stringfields;Luigi Rizzo
details and examples are in include/asterisk/stringfields.h. Not applicable to older branches except for 1.4 which will receive a fix for the routines that free memory pools. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88454 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-03Revert commit #86119. Some users intentionally do not want colorized ↵Tilghman Lesher
terminals, so this was a misfeature. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88437 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-03Set CLI command to the correct name. Rev 85460 introduced two 'database ↵James Golovich
show' commands when this one should have been 'database showkey' git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88422 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-02Show the channel unique ID in the "show channel concise" outputRussell Bryant
(closes issue #11148, requested by falves11, patched by me) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88370 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-02Merged revisions 88283 via svnmerge from Jason Parker
https://origsvn.digium.com/svn/asterisk/branches/1.4 (closes issue #11147) ........ r88283 | qwell | 2007-11-02 11:51:08 -0500 (Fri, 02 Nov 2007) | 4 lines We need to make sure to specify a language to ast_fileexists, otherwise it may fail for anything besides en Issue 11147, fix discovered by both citats and myself (independently), with input from Corydon76 ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88284 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-02Add pbx_lua as a method of doing extensionsTilghman Lesher
Reported by: mnicholson Patch by: mnicholson Closes issue #11140 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88250 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-02Don't re-cache the filename, but check to see if it already existsTilghman Lesher
Reported by: jamesgolovich Patch by: jamesgolovich Closes issue #11144 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88212 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-02'h' extension doesn't execute past first priorityTilghman Lesher
Reported by: dimas Patch by: dimas Closes bug #11146 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88209 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-01Modify WaitExten to include an optional dialtoneTilghman Lesher
Closes issue #10783 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88183 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-01This commits the performance mods that give the priority processing engine ↵Steve Murphy
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: https://origsvn.digium.com/svn/asterisk/trunk@88166 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-01Conditionally free lock_info->thread_name to avoid a useless warningTilghman Lesher
Reported by: snuffy Patch by: snuffy Closes issue #11125 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88010 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-01Drop any more references to type in the Exception dialplan function.Joshua Colp
(closes issue #11134) Reported by: blitzrage Patches: exception_patch.txt uploaded by blitzrage (license 10) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87953 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-31Optimize pbx_substitute_variablesTilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87811 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-30Update documentation to give an example of how to use the return status of ↵Jason Parker
RaiseException Closes issue #11117, patch by blitzrage (yay blitzrage) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87626 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-30The priority gets incremented after raising an exception, so the priority ↵Mark Michelson
should be set to 0 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87608 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-30Jumped the gun a bit in the RaiseException app. It would always return -1Mark Michelson
since it checked for the existence of something that will never exist. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87573 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-30Merged revisions 87567 via svnmerge from Jason Parker
https://origsvn.digium.com/svn/asterisk/branches/1.4 (closes issue #11113) ........ r87567 | qwell | 2007-10-30 10:45:35 -0500 (Tue, 30 Oct 2007) | 4 lines Fix build of editline on Solaris. Issue 11113, patch by snuffy. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87568 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-29clean up assembler and preprocessor files if they are here tooKevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87467 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-29Merged revisions 87396 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r87396 | russell | 2007-10-29 15:22:07 -0500 (Mon, 29 Oct 2007) | 5 lines Add some more details to the output of "core show locks". When a thread is waiting for a lock, this will now show the details about who currently has it locked. (inspired by issue #11100) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87397 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-29Drop the RTCP Read too short message to debug. There are some phones out ↵Joshua Colp
there that send a sort of keep alive packet in the RTCP that trigger this every 5 seconds. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87394 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-29Merged revisions 87373 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r87373 | russell | 2007-10-29 14:21:06 -0500 (Mon, 29 Oct 2007) | 5 lines Remove a lock that doesn't make any sense. The regions lock needs to be held when traversing the list of allocated chunks so that they can be printed out to the CLI. (Thanks to eliel on #asterisk-dev for pointing this out!) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87392 65c4cc65-6c06-0410-ace0-fbb531ad65f3