Commit Graph

938 Commits (3fc26468080367df71242f91b97b83f4a341f652)

Author SHA1 Message Date
Luigi Rizzo 3fc2646808 remove a number of #include <fcntl.h> which are either
18 years ago
Steve Murphy 86476c607f closes issue #11285, where an unload of a module that creates a dialplan context, causes a crash when you do a 'dialplan show' of that context. This is because the registrar string is defined in the module, and the stale pointer is traversed. The reporter offered a patch that would always strdup the registrar string, which is practical, but I preferred to destroy the created contexts in each module where one is created. That seemed more symmetric. There were only 6 place in asterisk where this is done: chan_sip, chan_iax2, chan_skinny, res_features, app_dial, and app_queue. The two apps destroyed the context, but left the contexts. All is fixed now and unloads should be dialplan friendly.
18 years ago
Luigi Rizzo e0ff5fef5c remove a bunch of useless #include "options.h"
18 years ago
Terry Wilson ff6b2ad8de Simplify comparison in parking fix
18 years ago
Terry Wilson 348025fd0b Merged revisions 89491 via svnmerge from
18 years ago
Steve Murphy 837b8ef417 OOOps! All the debug stuff I inserted was accidentally committed. I hereby revert it.
18 years ago
Steve Murphy 4670e38aac closes issue #11265; Thanks to snuffy for his work on neatening up the code and removing duplicated code.
18 years ago
Luigi Rizzo a23c055c3d move asterisk/paths.h outside asterisk.h and into those files
18 years ago
Luigi Rizzo 6938f4b2b0 Fix building of modules under cygwin.
18 years ago
Luigi Rizzo 0595b5e2aa include "logger.h" and errno.h from asterisk.h - usage shows that they
18 years ago
Joshua Colp 1affda12a2 Merged revisions 89419 via svnmerge from
18 years ago
Luigi Rizzo a0f06d0dd5 start using asterisk/network.h for network related headers.
18 years ago
Luigi Rizzo 5490960453 remove a bunch of duplicate includes
18 years ago
Terry Wilson 38ebd439f7 Fix broken parking dial-back
18 years ago
Luigi Rizzo fdb7f7ba3d Start untangling header inclusion in a way that does not affect
18 years ago
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.
18 years ago
Luigi Rizzo 09d9cce1d8 access channel locks through ast_channel_lock/unlock/trylock and not
18 years ago
Tilghman Lesher 0f6892419e One more typo in config.c; and missed conversions due to the constifying of ast_variable_new parameters
18 years ago
Luigi Rizzo 7f8ecd2cd3 make the 'name' and 'value' fields in ast_variable const char *
18 years ago
Russell Bryant 51377db4a5 - Use the ARRAY_LEN macro in a couple places
18 years ago
Russell Bryant 799fc3b99f Fix a typo pointed out by outtolunc, thanks :)
18 years ago
Russell Bryant fa39f74761 Update the ParkedCall application to grab the first available parked call if no
18 years ago
Jason Parker d24cee9a81 Merged revisions 89248 via svnmerge from
18 years ago
Jason Parker cfbc4f5fb8 Doxygen fixes.
18 years ago
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.
18 years ago
Jason Parker 8b6c511200 Change a warning to a notice. Issue #11195, patch by eliel
18 years ago
Kevin P. Fleming edc78d6023 improve linked-list macros in two ways:
18 years ago
Steve Murphy a87efea3c4 Merged revisions 89088 via svnmerge from
18 years ago
Russell Bryant 4afb905cf0 Print out the channel name as a prefix to the "agi debug" output. This makes
18 years ago
Mark Michelson 1d0687dc2c Instead of trying to callback a local channel on a failed attended transfer, call
18 years ago
Russell Bryant 4e871ae483 Merged revisions 89053 via svnmerge from
18 years ago
Mark Michelson 5a4867543d "show application <foo>" changes for clarity.
18 years ago
Jason Parker 2c582c7cfb Allow gtalk and jingle to use TLS connections again.
18 years ago
Russell Bryant 4c6c69bdcc Merged revisions 89037 via svnmerge from
18 years ago
Tilghman Lesher 87bcdb9273 Merged revisions 88539 via svnmerge from
18 years ago
Luigi Rizzo 08b10da53b Simplify the implementation and the API for stringfields;
18 years ago
Steve Murphy 63f2f04cf4 This commits the performance mods that give the priority processing engine 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.
18 years ago
Jason Parker 5a58a4c475 Switch res_jabber to use openssl rather than gnutls.
18 years ago
Jason Parker b1d5789cc5 Merged revisions 87908 via svnmerge from
18 years ago
Jason Parker 59c9ff7ef2 More changes to change return values from load_module functions.
18 years ago
Steve Murphy 8c5bf67f4a Merged revisions 87775 via svnmerge from
18 years ago
Joshua Colp a4e38b7cd5 Merged revisions 87571 via svnmerge from
18 years ago
Jason Parker c472a68a8a Correctly use defined return values in (some) load_module functions.
18 years ago
Steve Murphy c9f3efc381 Merged revisions 87168 via svnmerge from
18 years ago
Steve Murphy 16d06cb62f closes issue #11045 - each file needs to define ASTERISK_FILE_VERSION, if you are going to set MTX_PROFILE in the compiler flags; the problem was that the fixes were getting made to the generated .c file, and erased the next time someone regenerated that file from the corresponding .y or .flex file. Moral of story: keep your eyes open and make mods to the .y (or flex input file) and re-run bison (or flex) as the Makefile directs for that file, and then check in both. Also, res_config_sqlite was kinda missed, and has the same issue.
18 years ago
Steve Murphy b7ef49c931 closes issue #11005, where #include uses the current dir instead of the config dir (/etc/asterisk) for relative path includes for AEL
18 years ago
Steve Murphy d914cbee48 Merged revisions 86936 via svnmerge from
18 years ago
Jason Parker ebe4050128 Switch from AST_CLI (formerly NEW_CLI) to AST_CLI_DEFINE, since the former didn't make much sense
18 years ago
Jason Parker b0f3e6097e Convert NEW_CLI to AST_CLI.
18 years ago
Jason Parker 65761cbd7a More changes to NEW_CLI.
18 years ago