Commit Graph

5785 Commits

Author SHA1 Message Date
Richard Mudgett 72b16ee400 res_pjsip_refer/chan_sip: Fix INVITE with replaces transfer to ConfBridge
There is a problem when an INVITE-with-Replaces transfer targets a channel
in a ConfBridge.  The transfer will unconditionally swap out the
ConfBridge channel.  Unfortunately, the ConfBridge state will not be aware
of this change.  Unexpected behavior will happen as a result since
ConfBridge channels currently can only be replaced by a masquerade and not
normal bridge channel moves.

* We just need to pretend that the channel isn't in a bridge (like other
transfer methods already do) so the transfer channel will masquerade into
the ConfBridge channel.

Change-Id: I209beb0e748fa4f4b92a576f36afa8f495ba4c82
2018-04-06 17:12:30 -05:00
Jenkins2 025fe67f2a Merge "core: Create main/options.c." into 13 2018-04-02 08:10:59 -05:00
Corey Farrell 5908c6753b core: Create main/options.c.
This creates a separate source to 'own' symbols related to options.h and
paths.h.  This significantly reduces the number of exports created by
main/asterisk.o.  This change is required to eventually be able to
link unmodified Asterisk sources to utilities and/or stand-alone tests.

ASTERISK~26245

Change-Id: I5cf184f4757f9363b80c9e678bdc35c477122380
2018-03-28 09:18:06 -04:00
Corey Farrell 6615469a05 main/indications: Use ast_cli_completion_add for all completions.
Change-Id: I371be01f178fb542a9fbe8d97e7ae21aa4d82c36
2018-03-23 01:39:48 -06:00
Jenkins2 7d8445d576 Merge "core: Remove dead symbols from asterisk.exports.in." into 13 2018-03-20 11:31:09 -05:00
Jenkins2 b39c727848 Merge "channel.c: Allow generic plc then channel formats are equal" into 13 2018-03-20 11:03:38 -05:00
Joshua Colp 6bda2d7baf Merge "BuildSystem: Instead of $PJPROJECT_LIBS with s, use $PJPROJECT_LIB everywhere." into 13 2018-03-20 10:09:08 -05:00
Joshua Colp 4040b0e909 Merge "main/sounds: Use ast_cli_completion_add." into 13 2018-03-20 09:48:30 -05:00
Jenkins2 fbd2504907 Merge "named_acl: Use ast_cli_completion_add." into 13 2018-03-20 09:37:16 -05:00
Jenkins2 44c85ddc57 Merge "manager: Use ast_cli_completion_add for completion generators." into 13 2018-03-20 09:06:49 -05:00
Jenkins2 7f40e09b3e Merge "main/test: Use ast_cli_completion_add." into 13 2018-03-20 08:50:56 -05:00
Joshua Colp 38d081c9f6 Merge "core: Minor cleanup of ast_el_read_char." into 13 2018-03-20 08:37:16 -05:00
Joshua Colp 3742534956 Merge "aco: Use ast_cli_completion_add for 'config show help'." into 13 2018-03-20 08:18:38 -05:00
Jenkins2 648405779e Merge "main/config: Use ast_cli_completion_add for reload completion." into 13 2018-03-20 07:54:13 -05:00
Jenkins2 1a82f5b645 Merge "main/translate: Use ast_cli_completion_add." into 13 2018-03-20 07:44:14 -05:00
Jenkins2 6a6bda3703 Merge "main/taskprocessor: Use ast_cli_completion_add." into 13 2018-03-20 07:22:41 -05:00
Jenkins2 dc4960e48a Merge "main/bridge: Use ast_cli_completion_add." into 13 2018-03-20 07:04:33 -05:00
Corey Farrell 6f304697b0 core: Remove dead symbols from asterisk.exports.in.
* dahdi_chan_name
* dahdi_chan_name_len
* dahdi_chan_mode
* __manager_event
* dialed_interface_info

Added comment about __progname and environ being needed for FreeBSD to
prevent accidental removal in the future.

Change-Id: I3ae026bc541cd9cb572be2ffa95fc359547642b5
2018-03-19 16:00:48 -06:00
Corey Farrell 8df4811cfa named_acl: Use ast_cli_completion_add.
Change-Id: I317a82de976bbdbfe4352c243e32a7bb8f66c377
2018-03-19 15:48:34 -06:00
Corey Farrell a89323236f main/sounds: Use ast_cli_completion_add.
Change-Id: I140e1137906bbfcdb61c0c6304159be459ad873e
2018-03-19 15:45:08 -06:00
Corey Farrell dc520b6d8f manager: Use ast_cli_completion_add for completion generators.
Change-Id: I658141c6ec490a3e866b02d2afea757928ceaabf
2018-03-19 14:26:58 -06:00
Corey Farrell 534fda0a59 main/test: Use ast_cli_completion_add.
Change-Id: I5133ff2ba4e030f9733fb3d050c863d72a22ae6b
2018-03-19 14:21:21 -06:00
George Joseph 373e7e3fb0 channel.c: Allow generic plc then channel formats are equal
If the two formats on a channel are equal, we don't transcode and since
the generic plc needs slin to work, it doesn't get invoked.

* A new configuration option "genericplc_on_equal_codecs" was added
  to the "plc" section of codecs.conf to allow generic packet loss
  concealment even if no transcoding was originally needed.
  Transcoding via SLIN is forced in this case.

ASTERISK-27743

Change-Id: I0577026a179dea34232e63123254b4e0508378f4
2018-03-19 10:09:53 -06:00
Jenkins2 94b72ace2f Merge "core: Backport compatible MALLOC_DEBUG changes." into 13 2018-03-19 10:33:42 -05:00
Jenkins2 08e0181fc3 Merge "main/cdr: Use ast_cli_completion_add for CDR channel completion." into 13 2018-03-19 09:05:33 -05:00
Corey Farrell bd926539b0 main/translate: Use ast_cli_completion_add.
Change-Id: I0e2402660e54d91f74ab0804c62a5b1925577413
2018-03-18 21:00:16 -06:00
Corey Farrell d202b56a74 main/taskprocessor: Use ast_cli_completion_add.
Change-Id: Ie5f812a988ed811fd11967151932de62bc131b48
2018-03-18 20:36:10 -06:00
Corey Farrell 18cbfcf4f0 aco: Use ast_cli_completion_add for 'config show help'.
In addition this removes:
* RAII_VAR usage
* Duplicate check of pos
* Unneeded arguments.

Change-Id: I2da8eac2670d1d8d6474c04037129804f55ebf39
2018-03-18 18:28:58 -06:00
Corey Farrell d57b58f5e9 main/config: Use ast_cli_completion_add for reload completion.
Change-Id: Ia3fa4c03f2285a1ec8814bbe7f4624ead9111ad1
2018-03-18 18:09:47 -06:00
Corey Farrell 34e16cbf3a main/bridge: Use ast_cli_completion_add.
Change-Id: I3775a696d6a57139fdf09651ecb786bcf1774509
2018-03-17 18:44:52 -06:00
Corey Farrell 98a3baca70 core: Minor cleanup of ast_el_read_char.
* Define CHAR_T_LIBEDIT and CHAR_TO_LIBEDIT based on
  HAVE_LIBEDIT_IS_UNICODE.  This avoids needing to repeatedly use
  conditional blocks, eliminates having multiple function prototypes.
* Remove parenthesis from return values.
* Add missing code block brackets {}.
* Reduce use of 'else' conditional statements where possible.

Change-Id: I4315328ebea2f62641faf6881de2ac20a9f9d08e
2018-03-17 16:47:54 -06:00
Joshua Colp b50331626e Merge "cli: Enable ast_cli_completion_add on public completion generators." into 13 2018-03-16 18:59:52 -05:00
Jenkins2 1f2ff45626 Merge "main/ccss: Use ast_cli_completion_add for core id." into 13 2018-03-16 18:59:16 -05:00
Jenkins2 3b49fb3446 Merge "astobj2_container: Use ast_cli_completion_add for container names." into 13 2018-03-16 11:05:04 -05:00
Corey Farrell a7ebb9409d main/cdr: Use ast_cli_completion_add for CDR channel completion.
Change-Id: Ie81830647a23aad61c1162583b6d50adbe6e7822
2018-03-15 11:55:58 -06:00
Corey Farrell 5ac64a4464 main/ccss: Use ast_cli_completion_add for core id.
Change-Id: I44b25d6d24c7d9bc1bb38a50774b38883162f98f
2018-03-15 07:57:27 -06:00
Corey Farrell eb699f3631 core: Backport compatible MALLOC_DEBUG changes.
* Add support for MALLOC_DEBUG and DEBUG_CHAOS to be used together.
* Add utils/astmm.c to .gitignore.
* Fix MALLOC_DEBUG variant of __ast_vasprintf.  This function called
  va_end(ap) upon allocation failure.  This is incorrect since ap is
  passed as an argument.

Change-Id: I9f27ced4ce3cbe4b39547a67f994fdff491978c0
2018-03-15 06:57:38 -06:00
Corey Farrell 7e0c56f800 astobj2_container: Use ast_cli_completion_add for container names.
Change-Id: I4f0fc09e820eb8d8da2354a177dbcf503c56ddd1
2018-03-15 06:31:32 -06:00
Corey Farrell 7e041d6233 main/channel: Use ast_cli_completion_add for channeltypes.
Change-Id: Ia845fae6a84801cc7d9996767b99efb2753cbb48
2018-03-15 06:25:44 -06:00
Corey Farrell 6539b89254 cli: Enable ast_cli_completion_add on public completion generators.
* 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-15 05:27:41 -06:00
Jenkins2 a243fed64f Merge "core: Remove incorrect usage of attribute_malloc." into 13 2018-03-14 20:53:38 -05:00
Jenkins2 029c9383aa Merge "core: Remove non-critical cleanup from startup aborts." into 13 2018-03-14 06:40:38 -05:00
Corey Farrell dc738b145f core: Remove incorrect usage of attribute_malloc.
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-13 17:37:12 -04:00
Joshua Colp f05ac26d4a Merge "Replace direct checks of option_debug with DEBUG_ATLEAST macro." into 13 2018-03-12 08:35:51 -05:00
Corey Farrell c09a10bb1b core: Remove non-critical cleanup from startup aborts.
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.

Change-Id: Iecc2df98008b21509925ff16740bd5fa29527db3
2018-03-10 04:33:33 -05:00
Alexander Traud 7b6b6b0a7e BuildSystem: Instead of $PJPROJECT_LIBS with s, use $PJPROJECT_LIB everywhere.
In the script ./configure,
xyz_LIB  is set by AST_PKG_CONFIG_CHECK and
xyz_LIBS is set by PKG_CHECK_MODULES within
AST_PKG_CONFIG_CHECK. Both are the same. In Asterisk normally the former and
only three times the latter was used. Let us use xyz_LIB without s, for
consistency with AST_EXT_LIB_CHECK. That eases understanding because now readers
do not have to know that xyz_LIB equals xyz_LIBS.

Change-Id: I7359860a5d730cdc784c2c48e501a082196434d3
2018-03-08 12:41:53 +01:00
Corey Farrell b81eadcefc Replace direct checks of option_debug with DEBUG_ATLEAST macro.
Checking option_debug directly is incorrect as it ignores file/module
specific debug settings.  This system-wide change replaces nearly all
direct checks for option_debug with the DEBUG_ATLEAST macro.

Change-Id: Ic342d4799a945dbc40ac085ac142681094a4ebf0
2018-03-07 17:02:49 -05:00
Alexander Traud 725fd32428 utils: In Solaris, avoid a warning about an unused variable.
When HAVE_GETHOSTBYNAME_R_5 was set by the script ./configure, GCC 7.3.0 found
an unused variable. Actually, the variable was used (set to a dummy value) but
the compiler optimization might have removed that. Instead, this change ensures
that the variable 'res' is only used when it is really required.

Change-Id: Ic3ea23ccf84ac4bc2d501b514985b989030abab5
2018-03-07 09:33:46 -06:00
Jenkins2 359a0cc5a2 Merge "BuildSystem: Cast any intptr_t explicitly to its proposed type." into 13 2018-03-06 11:23:50 -06:00
Jenkins2 91193807c8 Merge "BuildSystem: Detect whether uselocale(.) is available." into 13 2018-03-05 11:58:51 -06:00