summaryrefslogtreecommitdiff
path: root/main
AgeCommit message (Collapse)Author
2007-11-14make the 'name' and 'value' fields in ast_variable const char *Luigi Rizzo
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-14Fix up various coding guidelines issues ...Russell Bryant
- 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-14Merged revisions 89260 via svnmerge from Joshua Colp
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-14use simpler technique for removing known entries from listsKevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89259 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-14- Simplify removing an item from a listRussell Bryant
- 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-13This hopefully will fix the re-opened 11233. Hadn't covered the case of a ↵Steve Murphy
context with no patterns. (blush) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89257 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-13closes issue #11233 -- where some fine points in the algorithm to build the ↵Steve Murphy
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-13Merged revisions 89239 via svnmerge from Tilghman Lesher
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-12Doxygen fixes.Jason Parker
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-12Thanks to snuff-work, who brought up that these fixes might need to be made.Steve Murphy
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89196 65c4cc65-6c06-0410-ace0-fbb531ad65f3
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