- Nov 19, 2018
-
-
Kevin Harwell authored
This patch makes it so only matching non-empty key names, and keys created by the HASH function are eligible for inclusion in the comma separated string. It also fixes a bug where it was possible to write to a negative index if the result buffer was empty. ASTERISK-28159 patches: ASTERISK-28159.diff submitted by Michael Walton (license 6502) Change-Id: I6e57fe7307dfd856271753aed5ba64c59b511487
-
Joshua Colp authored
-
Joshua Colp authored
-
Joshua Colp authored
-
Joshua Colp authored
-
Joshua Colp authored
-
George Joseph authored
We've been seeing crashes in libbfd when we attempt to generate a stack trace from multiple threads. It turns out that libbfd is NOT thread-safe. It can cache the bfd structure and give it to multiple threads without protecting itself. To get around this, we've added a global mutex around the bfd functions and also have refactored the use of those functions to be more efficient and to provide more information about inlined functions. Also added a few more tests to test_pbx.c. One just calls ast_assert() and the other calls ast_log_backtrace(). Neither are run by default. WARNING: This change necessitated changing the return value of ast_bt_get_symbols() from an array of strings to a VECTOR of strings. However, the use of this function outside Asterisk is not likely. ASTERISK-28140 Change-Id: I79d02862ddaa2423a0809caa4b3b85c128131621
-
- Nov 18, 2018
-
-
Alexei Gradinari authored
New dialplan function PJSIP_PARSE_URI added to parse an URI and return a specified part of the URI. This is useful when need to get part of the URI instead of cutting it using a CUT function. For example to get 'user' part of Remote URI ${PJSIP_PARSE_URI(${CHANNEL(pjsip,remote_uri)},user)} ASTERISK-28144 #close Change-Id: I5d828fb87f6803b6c1152bb7b44835f027bb9d5a
-
George Joseph authored
-
Joshua Colp authored
This change adds the ability for subscriptions to indicate which message types they are interested in accepting. By doing so the filtering is done before being dispatched to the subscriber, reducing the amount of work that has to be done. This is optional and if a subscriber does not add message types they wish to accept and set the subscription to selective filtering the previous behavior is preserved and they receive all messages. There is also the ability to explicitly force the reception of all messages for cases such as AMI or ARI where a large number of messages are expected that are then generically converted into a different format. ASTERISK-28103 Change-Id: I99bee23895baa0a117985d51683f7963b77aa190
-
George Joseph authored
Change-Id: Ida29d70d48d5f39aabf0b25c66b51f79324a8cba
-
George Joseph authored
-
- Nov 17, 2018
-
-
George Joseph authored
-
George Joseph authored
Change-Id: I0566d81b0852f22066cd76d58eae5f1fda5602aa (cherry picked from commit 73efe864)
-
George Joseph authored
The testsuite can now use a user-specified work directory for all it's temp files. This allows the docker containers to use a tmpfs backed directory for the temp files instead of it's own write-layer image. * runTestsuite.sh now accepts a --work-dir command line argument that gets exported as AST_WORK_DIR before running the testsuite. * gates.jenkinsfile now specifies --work-dir to be <testsuite_dir>/astroot. Since the Asterisk CI docker hosts now mount /srv/jenkins/workspace on a tmpfs, asterisk should be compiled and the testsuite run all in memory. Change-Id: If5ee905a15821296c355bb84cda38950ad8edc45 (cherry picked from commit a335f4c9)
-
George Joseph authored
-
Sungtae Kim authored
The res_ari(POST /channels/create handler) deos not check the endpoint parameter length. And it causes core dump. Fixed it to check the parameter length. Also fixed memory leak. ASTERISK-28169 Change-Id: Ibf10a9eb8a2e3a9ee1e13fbe748b2ecf955c3993
-
- Nov 16, 2018
-
-
George Joseph authored
-
George Joseph authored
There seems to be a race condition between starting the asterisk daemon and attempting to use 'asterisk -r' that can cause the control socket file to not be created. Since all of the Jenkins slaves have 'expect' installed, the runUnittests script can use it to start asterisk in the forground and issue the commands interactively. This is much more reliable and it can also make startup errors more visible since they'll be in the Jenkins console output. If 'expect' isn't installed, the original daemon/asterisk -r process is used. Also added a "core show settings" before running the tests and added "notice,warning,error" to the console log. Change-Id: Idd656085f854afede813ac241b9e312b31358160
-
Corey Farrell authored
Task processors are retrieved using a 'get or create' pattern. The singleton container was unlocked between the get and create steps so it's possible that two threads could create task processors with the same name at the same time. Change-Id: Id64fae94a6a1e940ddf38fde622dcd4391635382
-
Corey Farrell authored
We previously allowed resample and g711 codecs to be built when TEST_FRAMEWORK was enabled. This could cause errors if the testsuite was run without this option enabled. Switch the build system to allow those codecs to be built when --enable-dev-mode is used. This removes a chance for strange testsuite errors from use of an inadequate pjsua binary. Change-Id: Iee8a3613cdb711fa7e7d217c5a775a575907ae22
-
- Nov 15, 2018
-
-
Corey Farrell authored
PJSIP assumes that these header names are not allocated, does not clone the name strings when reusing headers. Block unload of res_pjsip_caller_id until shutdown to ensure static memory stays valid. It was previously unsafe to unload while any sessions are active. Change-Id: I190854dea943d6e441cf03733f8a0da661aea27f
-
George Joseph authored
-
Torrey Searle authored
The presence of Record-Route in re-invites is optional, thus it is important to make sure the dialog doesn't have a routset before rewriting the contact header. ASTERISK-28129 #close Change-Id: Ic8ceb54ccfc93f7e315e476c514a2c777f2da7dc
-
Corey Farrell authored
We cannot use need_el_end and SIGURG when restarting. Instead we need to run el_end within the SIGHUP restartnow handler. ASTERISK-28158 Change-Id: Ia852276363c81bdcf1aa29eb4558c5c2fa1218a0
-
- Nov 14, 2018
-
-
George Joseph authored
When dn_expand was being called on SRV and NAPTR results, the return value was being used to calculate the size of the buffer needed to store the host names. Since dn_expand returns the length of the COMPRESSED name the buffer could be too short to hold the EXPANDED name. The expanded name is NULL terminated so using strlen() is the correct way to determine the length actually needed for the buffer. ASTERISK-28127 Reported by: Jan Hoffmann patches: patch.diff submitted by janhoffmann (license 6986) Change-Id: I4d35d6c431c6c6836cb61d37b1378cc47f0b414d
-
Joshua Colp authored
-
Joshua Colp authored
-
- Nov 13, 2018
-
-
George Joseph authored
-
Corey Farrell authored
It's possible for a 4th task to be spawned before we cancel. This results in a write to the already freed test_data1. Wait long enough to verify success of the cancelation before freeing test_data1. Change-Id: I057e2fcbe97f8a175e50890be89c28c20490a20f
-
Robert Cripps authored
ASTERISK-28110 #close Change-Id: Ic64b8fc6a140a93fbdb2f97550a40d0ff334e607
-
- Nov 12, 2018
-
-
Corey Farrell authored
Merge storage for the stats object and name string into the main allocation for struct ast_taskprocessor. Change-Id: I74fe9a7f357f0e6d63152f163cf5eef6428218e1
-
Joshua Colp authored
-
- Nov 11, 2018
-
-
Corey Farrell authored
* Ignore console=yes configuration option in remote console processes. * Use new flag to tell consolethread to run el_end and exit when needed. ASTERISK-28158 Change-Id: I9e23b31d4211417ddc88c6bbfd83ea4c9f3e5438
-
- Nov 08, 2018
-
-
Corey Farrell authored
pack_string crashed on non-NULL strings returned when s->has_error was true if the string was the result of 's' format without '#', '%' or '+'. Change-Id: Ic125df691d81ba2cbc413e37bdae657b304d20d0
-
Corey Farrell authored
If multiple [globals] sections are used (for example via separate included files), only the first one is processed. This can result in lost global variables when using a modular extensions.conf. ASTERISK-28146 #close Change-Id: Iaac810c0a7c4d9b1bf8989fcc041cdb910ef08a0
-
- Nov 07, 2018
-
-
Chris-Savinovich authored
When Asterisk's taskprocessors get overloaded we need to reduce the work load. res_pjsip currently ignores new SIP requests and relies on SIP retransmissions in the hope that the overload condition will clear soon enough to handle the retransmitted SIP request. This change adds the following code after ast_taskprocessor_alert_get() has returned TRUE: 1- identifies transport type. If non-udp then send a 503 response 2- if transport type is udp/udp6 then ignore, as before. Change-Id: I1c230b40d43a254ea0f226b7acf9ee480a5d3836
-
Joshua Colp authored
-
- Nov 06, 2018
-
-
Kevin Harwell authored
The use of a '|' in the "global/debug" synopsis documentation caused the generated html table on the wiki to add an extra column that included the text after the pipe. This patch replaces the pipe with a comma. ASTERISK-28150 Change-Id: I3d79a6ca6d733d9cb290e779438114884b98a719
-
Alexei Gradinari authored
The current round-robin method does not take the current taskprocessor load into consideration when distributing requests. Using the least-size method the request goes to the taskprocessor that is servicing the least number of active tasks at the current time. Longer running tasks with the round-robin method can delay processing tasks. * Change the algorithm from round-robin to least-size for picking the PJSIP taskprocessor from the default serializer pool. Change-Id: I7b8d8cc2c2490494f579374b6af0a4868e3a37cd
-