summaryrefslogtreecommitdiff
path: root/main
AgeCommit message (Collapse)Author
2018-01-22pbx_variables.c: Misc fixes in variable substitution.Richard Mudgett
* Copy more than one character at a time when there is nothing to substitute. * Fix off by one error if a '}' or ']' is missing. * Eliminated the requirement that the "used" parameter had to point to a variable. The current callers were always declaring a variable to meet the requirement and discarding the value put into that variable. Now it can be NULL. * In ast_str_substitute_variables_full() fixed using the bogus channel to evaluate a function. We were not using the bogus channel we just created to help evaluate a subexpression. Change-Id: Ia83d99f4f16abe47f329eb39b6ff2013ae7c9854
2018-01-22Merge "loader: Remove global symbol only startup phase."Joshua Colp
2018-01-22Merge "loader: Process module dependencies."Jenkins2
2018-01-22Merge "pbx: Reduce verbosity while loading extensions"Jenkins2
2018-01-18pbx: Reduce verbosity while loading extensionskrells
Each time the dial plan is reloaded, a lot of logs like these are generated: "Added extension 'XXXXX' priority 1 to YYYYYYYYYYY" This patch changes the log level for those logs. ASTERISK-27084 Change-Id: I5662902161c50890997ddc56835d4cafb456c529
2018-01-17loader: Add support for built-in modules.Corey Farrell
* Add SRC_EMBEDDED variable to main/Makefile. Built-in module sources must be listed in this variable to ensure they get the correct CFLAGS. Change-Id: I920852bc17513a9c2627061a4ad40511e3a20499
2018-01-17loader: Rework load_resource_list.Corey Farrell
Use a single loop in a loop to scan the resource list attempting to dlopen each module. The inner loop is repeated until it doesn't do any work, then it is run one more time to allow printing of error messages. Change-Id: I60c15cd57ff9680b62e2a94c7519401fa4a38e45
2018-01-17loader: Remove global symbol only startup phase.Corey Farrell
Dependency loader is now in place so we no longer need a separate loader phase for global symbols only. This simplifies the loader and allows us to minimize calls to dlopen. Change-Id: I33e3174d67f3b4552d3d536326dcaf0ebabb097d
2018-01-17loader: Process module dependencies.Corey Farrell
* Add string vectors for requires, optional_apis and enhances. * Add reffed_deps module vector for holding references to dependencies. * Initialize string vectors after final dlopen of each module. * Free string vectors and clear references from reffed_deps in module_destroy. * Create functions necessary to process module dependencies and enforce load order. Module dependencies result in automatic references being managed by the module loader. This enforces unload order. Change-Id: I9be08d1dd331aceadc1dcba00b804d71360b2fbb
2018-01-17loader: Miscellaneous fixes.Corey Farrell
* Remove comment about lazy load. * Improve message about module already being loaded and running. * Handle allocation error in add_to_load_order. * Dead code elimination from modules_shutdown. Change-Id: I22261599c46d0f416e568910ec9502f45143197f
2018-01-16taskprocessor.c: Increase the number of tps_singletons container buckets.Richard Mudgett
Since v12 the number of taskprocessors in the system has increased a lot. Small systems can easily have over a hundred and larger systems can have thousands. Most uses of the tps_singletons container deal with creating and destroying the taskprocessors. However, the pjsip distributor looks up taskprocessors/serializers by name frequently. It needs to find the serializer for incoming SIP responses to distribute them to the appropriate serializer. Change-Id: Ice0603606614ba49f7c0c316c524735c064e7e43
2018-01-15vector: Additional string vector definitions.Corey Farrell
ast_vector_string_split: This function will add items to an ast_vector_string by splitting values of a string buffer. Items are appended to the vector in the order they are found. ast_vector_const_string: A vector of 'const char *'. Change-Id: I1bf02a1efeb2baeea11c59c557d39dd1197494d7
2018-01-11Merge "stasis_message_router: Remove silly usage of RAII_VAR."Jenkins2
2018-01-11Merge "stasis_endpoints: Remove silly usage of RAII_VAR."Jenkins2
2018-01-11Merge "stasis_system: Remove silly usage of RAII_VAR."Jenkins2
2018-01-11Merge "stasis: Remove silly usage of RAII_VAR."Jenkins2
2018-01-11Merge "stasis_bridges: Remove silly usage of RAII_VAR."Jenkins2
2018-01-11Merge "stasis_cache: Remove silly usage of RAII_VAR."Jenkins2
2018-01-10stasis: Remove silly usage of RAII_VAR.Corey Farrell
Change-Id: Ib11193531e797bcb16bba560a408eab155f706d1
2018-01-10stasis_cache_pattern: Remove silly usage of RAII_VAR.Corey Farrell
Change-Id: Ic98a51f555062cd863b6db3f8d76065943a9dea3
2018-01-09stasis_bridges: Remove silly usage of RAII_VAR.Corey Farrell
Change-Id: I0fa7ab05454f183dc4ff10e26d18776d2b0fcf1f
2018-01-09stasis_cache: Remove silly usage of RAII_VAR.Corey Farrell
Change-Id: Ifa95e5801c949df296c7e4376347730fb0ed52ef
2018-01-09stasis_endpoints: Remove silly usage of RAII_VAR.Corey Farrell
Change-Id: Ic099dc552f36c353c89783a4bcfd09f010432733
2018-01-09stasis_message_router: Remove silly usage of RAII_VAR.Corey Farrell
Change-Id: I50d6ae230920e0b878ed9cc8f79eef746e06701d
2018-01-09stasis_system: Remove silly usage of RAII_VAR.Corey Farrell
Change-Id: Iedbe5656cee68cd3a96a953558764aa02d4a0c3b
2018-01-09translate: Avoid absolute value on unsigned substraction.Alexander Traud
ast_format_get_sample_rate(.) returns an unsigned type. The difference of a substraction between two unsigned types does not get implicitly converted to a signed type. Therefore, using abs(.) did not make sense. ASTERISK-27549 Change-Id: Ib904d9ee0d46b6fdd1476fbc464fbbf813304017
2018-01-08Merge "editline: Avoid comparison between pointer and zero character constant."Jenkins2
2018-01-06editline: Avoid comparison between pointer and zero character constant.Alexander Traud
gcc 7.2 warned about this. ASTERISK-27559 Change-Id: I48960dda9cf0a11b6a9426f775e632363f8caa74
2018-01-04pbx: Prevent execution of NULL pointer.Corey Farrell
pbx_extension_helper has a check for q->swo.exec == NULL but it doesn't actually return so we would still run the function. Fix the return. Move the 'int res' variable into the only scope which uses it. Also fix a copy-paste error in ast_pbx_init which could result in a crash on allocation failure (we exit with a normal error instead). Change-Id: I0693af921fdc7f56b6a72a21fb816ed08b960a69
2018-01-04Merge "rtp_engine: Add missing unlock."Jenkins2
2018-01-04Merge "translators: Don't use ast_module_running_ref."Joshua Colp
2018-01-04translators: Don't use ast_module_running_ref.Corey Farrell
Translators are run during module load before the module is actually running, so it cannot use ast_module_running_ref. ASTERISK-20346 Change-Id: Iaa0e75da99c696e38000f1a41e340abbd7a88f56
2018-01-04rtp_engine: Add missing unlock.Corey Farrell
Change-Id: I380c31a255e060309f4916da11176e0d00813215
2018-01-04aco: Fix NULL dereference in error path.Corey Farrell
Change-Id: Id505167cf0f9414a3c144fa2c1e181a2cf288694
2018-01-04Merge "loader: Create ast_module_running_ref."Joshua Colp
2018-01-04Merge "datastore: Add automatic module references."Joshua Colp
2018-01-03loader: Create ast_module_running_ref.Corey Farrell
This function returns NULL if the module in question is not running. I did not change ast_module_ref as most callers do not check the result and they always call ast_module_unref. Make use of this function when running registered items from: * app_stack API's * bridge technologies * CLI commands * File formats * Manager Actions * RTP engines * Sorcery Wizards * Timing Interfaces * Translators * AGI Commands * Fax Technologies ASTERISK-20346 #close Change-Id: Ia16fd28e188b2fc0b9d18b8a5d9cacc31df73fcc
2018-01-03Merge "core: Use macros to generate ao2_container callbacks where possible."Jenkins2
2018-01-03Merge "aco: Add missing aco_option_type_string for OPT_TIMELEN_T."Joshua Colp
2018-01-03Merge "cdr: submit: fix logic of test for batch mode"Jenkins2
2018-01-02Merge "stasis_channels.c: Misc cleanup."Jenkins2
2018-01-02cdr: submit: fix logic of test for batch modeTzafrir Cohen
ASTERISK-27539 #close Change-Id: I33cdf329d2bb4486dcae975c450f6aae94c515f7
2018-01-02aco: Add missing aco_option_type_string for OPT_TIMELEN_T.Corey Farrell
ASTERISK-27117 Change-Id: I8f6c34bb30830be9f7a40823723eb4dcaaa91c61
2017-12-31ice: Increase foundation buffer sizeSean Bright
Per RFC 5245, the foundation specified with an ICE candidate can be up to 32 characters but we are only allowing for 31. ASTERISK-27498 #close Reported by: Michele PrĂ  Change-Id: I05ce7a5952721a76a2b4c90366168022558dc7cf
2017-12-30core: Use macros to generate ao2_container callbacks where possible.Corey Farrell
This uses AO2_STRING_FIELD_HASH_FN and AO2_STRING_FIELD_CMP_FN where possible in the Asterisk core. This removes CMP_STOP from the result of CMP_FN callbacks for the following structure types: * ast_bucket_metadata * ast_bucket_scheme * generic_monitor_instance_list (ccss.c) * ast_bucket_file (media_cache.c) * named_acl Change-Id: Ide4c1449a894bce70dea1fef664dade9b57578f1
2017-12-29datastore: Add automatic module references.Corey Farrell
Add a reference to the calling module when it is active to protect access to datastore->info. Remove module references done by func_periodic_hook as the datastore now handles it. ASTERISK-25128 #close Change-Id: I8357a3711e77591d0d1dd8ab4211a7eedd782c89
2017-12-28stasis_channels.c: Misc cleanup.Richard Mudgett
* Use current OBJ_SEARCH_xxx defines instead of the deprecated versions. * Fix hash_cb and cmp_cb container functions to correctly use the OBJ_SEARCH_xxx values. * Remove incorrect usage of CMP_STOP. Most uses in the system have no effect. This allows the collapse of channel_role_single_cmp_cb() and channel_role_multi_cmp_cb() into channel_role_cmp_cb(). * Remove unnecessary usage of RAII_VAR(). Change-Id: I02c405518cab22aa2a082b61e2353bf7cd629a70
2017-12-28Merge "manager.c: Update AMI Status event documentation"Jenkins2
2017-12-28Merge "cdr: Missing NULL check and unlock."Jenkins2
2017-12-28manager.c: Update AMI Status event documentationRichard Mudgett
The AMI Status event had linkedid listed twice and was missing the effective connected line name and number headers. NOTE: The linkedid and other standard channel snapshot fields in the XML documentation are part of the <channel_snapshot/> XML template defined in doc/appdocsxml.xslt. Change-Id: I004c4c4f9e7b40ef55035c831702721bec82496c