You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
asterisk/main
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
..
db1-ast clean up assembler and preprocessor files if they are here too 18 years ago
editline Merged revisions 87567 via svnmerge from 18 years ago
minimime (closes issue #10692) 18 years ago
stdtime Merged revisions 85921 via svnmerge from 18 years ago
Makefile 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
abstract_jb.c make the 'name' and 'value' fields in ast_variable const char * 18 years ago
acl.c make the 'name' and 'value' fields in ast_variable const char * 18 years ago
adsistub.c Add a massive set of changes for converting to use the ast_debug() macro. 18 years ago
aescrypt.c use the OpenSSL AES implementation if it's available (unless configured not to) 18 years ago
aeskey.c use the OpenSSL AES implementation if it's available (unless configured not to) 18 years ago
aesopt.h merge new_loader_completion branch, including (at least): 19 years ago
aestab.c use the OpenSSL AES implementation if it's available (unless configured not to) 18 years ago
alaw.c Merged revisions 80166 via svnmerge from 18 years ago
app.c Merged revisions 89275 via svnmerge from 18 years ago
ast_expr2.c 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
ast_expr2.fl Hoping to avoid a crash in OSX for a problem blitzrage found 18 years ago
ast_expr2.h Simplify some preprocessor logic by using #elif 18 years ago
ast_expr2.y 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
ast_expr2f.c Doxygen fixes. 18 years ago
asterisk.c improve linked-list macros in two ways: 18 years ago
astmm.c Fix another CLI command so it doesn't run the real code when called for initialization. 18 years ago
astobj2.c improve linked-list macros in two ways: 18 years ago
audiohook.c use %d and cast to int instead of %zd for size_t object, 18 years ago
autoservice.c improve linked-list macros in two ways: 18 years ago
buildinfo.c merge new_loader_completion branch, including (at least): 19 years ago
callerid.c Change the fsk filter used in CID and TDD decode to an integer based implementation 18 years ago
cdr.c improve linked-list macros in two ways: 18 years ago
channel.c access channel locks through ast_channel_lock/unlock/trylock and not 18 years ago
chanvars.c Issue 9869 - replace malloc and memset with ast_calloc, and other coding guidelines changes 18 years ago
cli.c improve linked-list macros in two ways: 18 years ago
config.c add a small new function to retrieve variables from a config 18 years ago
cryptostub.c Clean up adsistub file a bit (just spacing) and change over the crypto sub to use this build_stub macro strategy. 18 years ago
db.c remove a cygwin-specific function remap that does not work. 18 years ago
devicestate.c improve linked-list macros in two ways: 18 years ago
dial.c Bring up to date with poll changes. 18 years ago
dlfcn.c Issue 9869 - replace malloc and memset with ast_calloc, and other coding guidelines changes 18 years ago
dns.c Merged revisions 81435 via svnmerge from 18 years ago
dnsmgr.c Switch from AST_CLI (formerly NEW_CLI) to AST_CLI_DEFINE, since the former didn't make much sense 18 years ago
dsp.c trivial formatting change 18 years ago
ecdisa.h merge new_loader_completion branch, including (at least): 19 years ago
enum.c make the 'name' and 'value' fields in ast_variable const char * 18 years ago
event.c improve linked-list macros in two ways: 18 years ago
file.c improve linked-list macros in two ways: 18 years ago
fixedjitterbuf.c Issue 9869 - replace malloc and memset with ast_calloc, and other coding guidelines changes 18 years ago
fixedjitterbuf.h merge new_loader_completion branch, including (at least): 19 years ago
frame.c improve linked-list macros in two ways: 18 years ago
fskmodem.c Formatting. Illegaly using some spare spaces from Russell's space-bucket. 18 years ago
hashtab.c Fix up various coding guidelines issues ... 18 years ago
http.c Switch from AST_CLI (formerly NEW_CLI) to AST_CLI_DEFINE, since the former didn't make much sense 18 years ago
image.c - Simplify removing an item from a list 18 years ago
indications.c improve linked-list macros in two ways: 18 years ago
io.c Conversions to ast_debug() 18 years ago
jitterbuf.c Conversions to ast_debug() 18 years ago
loader.c Merged revisions 89325 via svnmerge from 18 years ago
logger.c make the 'name' and 'value' fields in ast_variable const char * 18 years ago
manager.c access channel locks through ast_channel_lock/unlock/trylock and not 18 years ago
md5.c merge new_loader_completion branch, including (at least): 19 years ago
netsock.c Issue 9869 - replace malloc and memset with ast_calloc, and other coding guidelines changes 18 years ago
pbx.c 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
plc.c merge new_loader_completion branch, including (at least): 19 years ago
poll.c merge new_loader_completion branch, including (at least): 19 years ago
privacy.c merge new_loader_completion branch, including (at least): 19 years ago
rtp.c Commit some cleanups to the format type code. 18 years ago
say.c Merged revisions 89125 via svnmerge from 18 years ago
sched.c improve linked-list macros in two ways: 18 years ago
sha1.c Doxygen cleanups/fixes. 18 years ago
slinfactory.c Merge audiohooks branch into trunk. This is a new API for developers to listen and manipulate the audio going through a channel. 18 years ago
srv.c Merged revisions 89260 via svnmerge from 18 years ago
strcompat.c Merged revisions 68192 via svnmerge from 18 years ago
tdd.c Additional TDD changes (preparing for SIP changes - adding TDD support to SIP) 18 years ago
term.c Revert commit #86119. Some users intentionally do not want colorized terminals, so this was a misfeature. 18 years ago
threadstorage.c AST_LIST_REMOVE_CURRENT takes only one argument. 18 years ago
translate.c improve linked-list macros in two ways: 18 years ago
udptl.c Switch from AST_CLI (formerly NEW_CLI) to AST_CLI_DEFINE, since the former didn't make much sense 18 years ago
ulaw.c This change set fixes bug 8126 in trunk. It is implemented via compile time options, activated via the menuselect stuff, which defaults to the old way. non-zero sample data added. Translate tables expressed in microseconds instead of milliseconds, with 5-digit data now instead of 3, giving 2 more digits of precision. 18 years ago
utils.c If we're going to be passing a negative value for the size of a stringfield, 18 years ago