summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-03-17main/taskprocessor: Use ast_cli_completion_add.Corey Farrell
Change-Id: Ie5f812a988ed811fd11967151932de62bc131b48
2018-03-17main/config: Use ast_cli_completion_add for reload completion.Corey Farrell
Change-Id: Ia3fa4c03f2285a1ec8814bbe7f4624ead9111ad1
2018-03-17aco: Use ast_cli_completion_add for 'config show help'.Corey Farrell
In addition this removes: * RAII_VAR usage * Duplicate check of pos * Unneeded arguments. Change-Id: I2da8eac2670d1d8d6474c04037129804f55ebf39
2018-03-17core: Stop using AST_INLINE_API for allocator functions.Corey Farrell
This replaces AST_INLINE_API allocators in utils.h with real functions implemented in astmm.c. Associated macro's are also moved from utils.h to astmm.h. Remove menuselect conflicts between MALLOC_DEBUG and DEBUG_CHAOS as they can now be combined. This has multiple benefits: * Simplifies asterisk/utils.h by removing inline functions and use of the logger. * Removal of these inline functions decreases size of Asterisk and module binaries by 1% or more. * Puts memory management functions together with and without MALLOC_DEBUG enabled, simplifying management of the code. * Enables DEBUG_CHAOS for ASTMM_REDIRECT and bundled pjproject. Change-Id: If9df4377f74bdbb627461b27a473123e05525887
2018-03-16Merge "astobj2_container: Use ast_cli_completion_add for container names."Joshua Colp
2018-03-16Merge "main/ccss: Use ast_cli_completion_add for core id."Jenkins2
2018-03-16app_dial: Enable early-media videoFlorian Floimair
Certain applications (e.g. door-phone) require that also video is transmitted before a call is accepted. Change-Id: I9842e1dc2f6e1c2c49dc33fe615255007d2f821e
2018-03-16BuildSystem: In NetBSD, the Python Programming Language is python-X.Y.Alexander Traud
ASTERISK-27717 Change-Id: If90ddf9c396c32e7402a894f42dce215c30049d1
2018-03-16Merge "main/channel: Use ast_cli_completion_add for channeltypes."Jenkins2
2018-03-16Merge "cli: Enable ast_cli_completion_add on public completion generators."Jenkins2
2018-03-16BuildSystem: Avoid an extra case for OpenBSD.Alexander Traud
Nine years ago with Mantis 13639 (now ASTERISK-12841) an extra case for OpenBSD was introduced: Vorbis required Ogg to be specified manually, because the shared library libvorbis.so did not specify its required dependency on -logg itself. Today with OpenBSD 6.2, all libvorbis*.so declare their dependencies correctly. Therefore, an extra case is not required anymore. Change-Id: Ifd04e0994ce9f1e4ad29c3948a0398b91d1e97bc
2018-03-16BuildSystem: Enable Advanced Linux Sound Architecture (ALSA) in NetBSD.Alexander Traud
In the script ./configure, AST_EXT_LIB_CHECK checks for external libraries. Some libraries do not specify all their dependencies and require additional shared libraries. In AST_EXT_LIB_CHECK, this is the fifth parameter. However, if a library is specified there, it must exist on the platform, because ./configure tries to compile/link/execute a small app using those statements. For example, the library libdl.so is Linux specific and does not exist on BSD-like platforms. Furthermore, no supported platform/version was found, which still (ever?) requires those additional libraries. Therefore, they were simply removed. Finally, this change adds the error code ESTRPIPE to the channel driver chan_alsa for those platforms which lack it, again for example NetBSD. ASTERISK-27720 Change-Id: I3b21f2135f6cbfac7590ccdc2df753257f426e0b
2018-03-16app_voicemail: Fix json blob errorsGeorge Joseph
When app_voicemail calls ast_test_suite_notify with the results of a user keypress, it formats the keypress as '%c'. If the user hung up or some other error occurrs, the result of the keypress is a non printable character. This ultimately causes json_vpack_ex to think it's being passed a non utf-8 string and return an error. * Keypress results passed to ast_test_suite_notify are now checked with isprint() and a '?' is substituted if the check fails. Change-Id: I78ee188916bbac840f3d03f40201b692347ea865
2018-03-15main/cdr: Use ast_cli_completion_add for CDR channel completion.Corey Farrell
Change-Id: Ie81830647a23aad61c1162583b6d50adbe6e7822
2018-03-15install_prereq: Add Arch Linux.Alexander Traud
ASTERISK-27738 Change-Id: I7ca620e3c4dfb4b064a19382c4915aeb42a2a09f
2018-03-15main/ccss: Use ast_cli_completion_add for core id.Corey Farrell
Change-Id: I44b25d6d24c7d9bc1bb38a50774b38883162f98f
2018-03-15astobj2_container: Use ast_cli_completion_add for container names.Corey Farrell
Change-Id: I4f0fc09e820eb8d8da2354a177dbcf503c56ddd1
2018-03-15main/channel: Use ast_cli_completion_add for channeltypes.Corey Farrell
Change-Id: Ia845fae6a84801cc7d9996767b99efb2753cbb48
2018-03-15Merge "res_pjsip_rfc3326.c: Account for more than one 'Reason' header"Jenkins2
2018-03-15Merge "install_prereq: Add SUSE."Jenkins2
2018-03-15cli: Enable ast_cli_completion_add on public completion generators.Corey Farrell
* ast_cli_complete * ast_complete_channels * ast_complete_applications These generators will now use ast_cli_completion_add if state == -1. Change-Id: I7ff311f0873099be0e43a3dc5415c0cd06d15756
2018-03-14Merge "core: Remove incorrect usage of attribute_malloc."Jenkins2
2018-03-14res_pjsip_rfc3326.c: Account for more than one 'Reason' headerRoss Beer
ASTERISK-27741 Change-Id: I0aa59a54735c6d20b95c54db1bd095dbf93e7adf
2018-03-14install_prereq: Add SUSE.Alexander Traud
ASTERISK-27736 Change-Id: I4cafc8973349d50a7cb7919ddf0bb1aaef4bfc3e
2018-03-14Merge "install_prereq: Update FreeBSD libraries."Jenkins2
2018-03-14Merge "core: Remove non-critical cleanup from startup aborts."Jenkins2
2018-03-14Merge "BuildSystem: Enable IMAP storage on openSUSE and Arch Linux."Jenkins2
2018-03-14Merge "BuildSystem: Add NetBSD."Joshua Colp
2018-03-14Merge "res_srtp: Add support for libsrtp2.x on openSUSE."Joshua Colp
2018-03-14loader: Convert reload_classes to built-in modules.Corey Farrell
* acl (named_acl.c) * cdr * cel * ccss * dnsmgr * dsp * enum * extconfig (config.c) * features * http * indications * logger * manager * plc * sounds * udptl These modules are now loaded at appropriate time by the module loader. Unlike loadable modules these use AST_MODULE_LOAD_FAILURE on error so the module loader will abort startup on failure of these modules. Some of these modules are still initialized or shutdown from outside the module loader. logger.c is initialized very early and shutdown very late, manager.c is initialized by the module loader but is shutdown by the Asterisk core (too much uses it without holding references). Change-Id: I371a9a45064f20026c492623ea8062d02a1ab97f
2018-03-13Merge "install_prereq: Add NetBSD."Jenkins2
2018-03-13Merge "BuildSystem: Re-check for another UUID library only when previous ↵Jenkins2
check failed."
2018-03-13Merge "BuildSystem: Enable PortAudio in NetBSD."Jenkins2
2018-03-13core: Remove incorrect usage of attribute_malloc.Corey Farrell
GCC documentation states that when __attribute__((malloc)) is used it should not return storage which contains any valid pointers. It specifically mentions that realloc functions should not have the malloc attribute, but this also means that complex initializers which could contain initialized pointers should not use this attribute. Change-Id: If507f33ffb3ca3b83b702196eb0e8215d27fc7d2
2018-03-13BuildSystem: Enable IMAP storage on openSUSE and Arch Linux.Alexander Traud
ASTERISK-27734 Change-Id: I8d6e6a1c08c031649764f5277fbbb85e57c3a9d4
2018-03-13stringfields: Remove MALLOC_DEBUG fields from struct ast_string_field_mgr.Corey Farrell
This causes MALLOC_DEBUG reporting to be slightly different, calls which cause additional memory pools to be allocated now report the callers location rather than the location which originally allocated the string field structure. This reduces storage needed by string fields and allows MALLOC_DEBUG to identify the source of additional allocations rather than obscuring it by reporting the original allocation caller. Change-Id: Idd18e6639a87ab862079b580c114d90361412289
2018-03-13Merge "core: Remove ABI effects of MALLOC_DEBUG."Jenkins2
2018-03-13core: Remove non-critical cleanup from startup aborts.Corey Farrell
When built-in components of Asterisk fail to start they cause the Asterisk startup to abort. In these cases only the most critical cleanup should be performed - closing databases and terminating proceses. These cleanups are registered using ast_register_atexit, all other cleanups should not be run during startup abort. The main reason for this change is that these cleanup procedures are untestable from the partially initialized states, if they fail it could prevent us from ever running the critical cleanup with ast_run_atexits. Create separate initialization for dns_core.c to be run unconditionally during startup instead of being initialized by the first dns resolver to be registered. This ensures that 'sched' is initialized before it can be potentially used. Replace ast_register_atexit with ast_register_cleanup in media_cache.c. There is no reason for this cleanup to happen unconditionally. Change-Id: Iecc2df98008b21509925ff16740bd5fa29527db3
2018-03-13Merge "BuildSystem: For consistency, avoid double-checking via if clauses."Jenkins2
2018-03-13Merge "res_pjproject.c: Upgrade bundled PJPROJECT to 2.7.2"Joshua Colp
2018-03-12Merge "Replace direct checks of option_debug with DEBUG_ATLEAST macro."Jenkins2
2018-03-12Merge "BuildSystem: Enable Lua in NetBSD."Jenkins2
2018-03-12Merge "Complete deprecating legacy modules."Jenkins2
2018-03-12Merge "res_pjsip_session: properly handle SDP from a forked call with early ↵Jenkins2
media"
2018-03-12Merge "BuildSystem: Depend not implicitly but explicitly on external libraries."Jenkins2
2018-03-12Merge "BuildSystem regression: Fix errors reported by clean targets."Jenkins2
2018-03-12install_prereq: Update FreeBSD libraries.Alexander Traud
Because the code review system Gerrit creates merge conflicts even when one line apart another change happened, the previous update to the FreeBSD libraries had to be rebased via Git. Because of a break for training of the original contributor, this rebase was done by another contributor and the variant for Asterisk 13 was cherry-picked to all branches. By this, dependencies for new features added in newer Asterisk version got lost. This can be seen, when not the original path set but a previous patch set is compared. This change here fixes this by adding those (optional) dependencies for Asterisk 15 and newer (again). ASTERISK-27686 Change-Id: I6638a3d0dc37ad4ff5f94be15463e3dd8a2bfe74
2018-03-12res_srtp: Add support for libsrtp2.x on openSUSE.Alexander Traud
Since ASTERISK-27253, no symbols from the header srtp2/crypto_types.h are used anymore. Therefore, its include statement can be removed. This allows to compile Asterisk on platforms which do not offer this private header, like openSUSE. ASTERISK-27733 Change-Id: I25c5cb8fa966043d1506ebef449e5a724412b4b6
2018-03-11Merge "app_osplookup: Move header defines into the app."Jenkins2
2018-03-09BuildSystem: Add NetBSD.Alexander Traud
Headers, libraries, and rpath. ASTERISK-27728 ASTERISK-11015 Reported by: Curt Sampson Change-Id: I50aa5fcd095937df32a2e33307caac7e79a8b5b7