asterisk/asterisk.git
2 years agoBuildSystem: Use the detected name for MD5 everywhere.
Alexander Traud [Wed, 17 Jan 2018 14:36:14 +0000 (15:36 +0100)]
BuildSystem: Use the detected name for MD5 everywhere.

Affacted the (automatic) download script for external modules:
./build_tools/download_externals

ASTERISK-27596

Change-Id: If4c3176f7bf58df32fec6e02a659f1a78d57cf4b

2 years agoMerge "BuildSystem: Resolve resolv.h not via Generic but Particular Header-Check."
Jenkins2 [Tue, 16 Jan 2018 15:52:45 +0000 (09:52 -0600)]
Merge "BuildSystem: Resolve resolv.h not via Generic but Particular Header-Check."

2 years agoMerge "res_stasis_recording: Allow symbolic links in configured recordings dir."
Jenkins2 [Tue, 16 Jan 2018 15:42:25 +0000 (09:42 -0600)]
Merge "res_stasis_recording: Allow symbolic links in configured recordings dir."

2 years agoloader: Add dependency fields to module structures.
Corey Farrell [Sun, 19 Nov 2017 22:30:49 +0000 (17:30 -0500)]
loader: Add dependency fields to module structures.

* Declare 'requires' and 'enhances' text fields on module info structure.
* Rename 'nonoptreq' to 'optional_modules'.
* Update doxygen comments.

Still need to investigate dependencies among modules I cannot compile.

Change-Id: I3ad9547a0a6442409ff4e352a6d897bef2cc04bf

2 years agovector: Additional string vector definitions.
Corey Farrell [Mon, 20 Nov 2017 02:10:09 +0000 (21:10 -0500)]
vector: Additional string vector definitions.

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

2 years agoBuildSystem: Resolve resolv.h not via Generic but Particular Header-Check.
Alexander Traud [Mon, 15 Jan 2018 16:57:11 +0000 (17:57 +0100)]
BuildSystem: Resolve resolv.h not via Generic but Particular Header-Check.

ASTERISK-27585

Change-Id: I27c67563788e6f67eeda5fb51a741823a50a95e2

2 years agoMerge "config_transport: Enable TCP_NODELAY on TLS transports"
Jenkins2 [Mon, 15 Jan 2018 16:40:27 +0000 (10:40 -0600)]
Merge "config_transport:  Enable TCP_NODELAY on TLS transports"

2 years agoMerge "BuildSystem: Really do not pass unknown-warning options to the compiler."
Jenkins2 [Mon, 15 Jan 2018 13:24:06 +0000 (07:24 -0600)]
Merge "BuildSystem: Really do not pass unknown-warning options to the compiler."

2 years agoMerge "menuselect: Remove unused dev-mode option TRACE_FRAMES."
Jenkins2 [Mon, 15 Jan 2018 13:12:22 +0000 (07:12 -0600)]
Merge "menuselect: Remove unused dev-mode option TRACE_FRAMES."

2 years agoMerge "res_config_pgsql: Avoid typecasting an int to unsigned char."
Jenkins2 [Sun, 14 Jan 2018 15:04:19 +0000 (09:04 -0600)]
Merge "res_config_pgsql: Avoid typecasting an int to unsigned char."

2 years agoconfig_transport: Enable TCP_NODELAY on TLS transports
George Joseph [Sat, 13 Jan 2018 19:49:07 +0000 (12:49 -0700)]
config_transport:  Enable TCP_NODELAY on TLS transports

We did this for TCP transports already but I'm not sure why we
didn't do it for TLS transports.

ASTERISK_27474 #not_final_fix

Change-Id: I5b1ef4b882f7b859e718236686b7898751dbb262

2 years agores_stasis_recording: Allow symbolic links in configured recordings dir.
Corey Farrell [Sat, 13 Jan 2018 00:37:43 +0000 (19:37 -0500)]
res_stasis_recording: Allow symbolic links in configured recordings dir.

If any component of ast_config_AST_RECORDING_DIR is a symbolic link we
would incorrectly assume the ARI user was trying to escape the recording
path.  Create additional check to check the recording directory's
realpath, only deny access if both do not match.

This is needed by the testsuite when run by 'run-local'.

Change-Id: I9145e841865edadcb5f75cead3471ad06bbb56c0

2 years agoMerge "install_prereq: Update Debian/Ubuntu libraries."
Jenkins2 [Fri, 12 Jan 2018 18:20:24 +0000 (12:20 -0600)]
Merge "install_prereq: Update Debian/Ubuntu libraries."

2 years agomenuselect: Remove unused dev-mode option TRACE_FRAMES.
Corey Farrell [Fri, 12 Jan 2018 18:00:26 +0000 (13:00 -0500)]
menuselect: Remove unused dev-mode option TRACE_FRAMES.

ASTERISK-27575 #close

Change-Id: Ica3a522892afed7a96816a5ecf140e1671f46ad4

2 years agoMerge "chan_ooh323: Avoid typecasting an int to unsigned short."
Jenkins2 [Fri, 12 Jan 2018 17:24:13 +0000 (11:24 -0600)]
Merge "chan_ooh323: Avoid typecasting an int to unsigned short."

2 years agoMerge "app_osplookup.c: Avoid two format truncations."
Jenkins2 [Fri, 12 Jan 2018 16:36:23 +0000 (10:36 -0600)]
Merge "app_osplookup.c: Avoid two format truncations."

2 years agoMerge "cdr_syslog: Deprecate unmaintained module"
Jenkins2 [Fri, 12 Jan 2018 15:29:37 +0000 (09:29 -0600)]
Merge "cdr_syslog: Deprecate unmaintained module"

2 years agores_config_pgsql: Avoid typecasting an int to unsigned char.
Alexander Traud [Fri, 12 Jan 2018 09:50:32 +0000 (10:50 +0100)]
res_config_pgsql: Avoid typecasting an int to unsigned char.

clang 5.0 warned about this.

ASTERISK-27576

Change-Id: If41f400a51973c06cdb9b75462e535b616bfe385

2 years agoMerge "chan_sip: Check that an iostream exists before accessing."
Joshua Colp [Fri, 12 Jan 2018 14:45:08 +0000 (08:45 -0600)]
Merge "chan_sip: Check that an iostream exists before accessing."

2 years agoMerge "Ignore quilt .pc directory, used in deb packaging"
Jenkins2 [Fri, 12 Jan 2018 14:29:43 +0000 (08:29 -0600)]
Merge "Ignore quilt .pc directory, used in deb packaging"

2 years agoBuildSystem: Really do not pass unknown-warning options to the compiler.
Alexander Traud [Fri, 12 Jan 2018 09:17:04 +0000 (10:17 +0100)]
BuildSystem: Really do not pass unknown-warning options to the compiler.

When an older GCC version is called with a too new warning option, GCC exited
with an error and Asterisk was not built. Therefore, the configure script tests
the installed compiler whether it supports that warning option. If not, Asterisk
does not pass it to the installed compiler. However, some compilers (like clang)
do not exit (error) but give just a warning in such a case. Because the compiler
did not exit, Asterisk passed the unknown-warning option.

ASTERISK-27560

Change-Id: Ia9d148e689c173df4e91699113605dab2de36038

2 years agoapp_osplookup.c: Avoid two format truncations.
Alexander Traud [Fri, 12 Jan 2018 10:27:23 +0000 (11:27 +0100)]
app_osplookup.c: Avoid two format truncations.

GCC 7 warned about this.

ASTERISK-27578

Change-Id: I4a00458dbe9b575ef04338b6a7852272745e1552

2 years agochan_ooh323: Avoid typecasting an int to unsigned short.
Alexander Traud [Fri, 12 Jan 2018 10:03:38 +0000 (11:03 +0100)]
chan_ooh323: Avoid typecasting an int to unsigned short.

clang 5.0 warned about this.

ASTERISK-27577

Change-Id: I898fe4255023138a9e8b579fe4482fcf582f2b78

2 years agoinstall_prereq: Update Debian/Ubuntu libraries.
Alexander Traud [Fri, 5 Jan 2018 21:13:52 +0000 (22:13 +0100)]
install_prereq: Update Debian/Ubuntu libraries.

ASTERISK-27555

Change-Id: I0818b6e42631be1b69237e2b41d3415275693e53

2 years agoMerge "res_pjsip_endpoint_identifier_ip.c: Remove unnecessary requirement."
Jenkins2 [Thu, 11 Jan 2018 19:36:02 +0000 (13:36 -0600)]
Merge "res_pjsip_endpoint_identifier_ip.c: Remove unnecessary requirement."

2 years agochan_sip: Check that an iostream exists before accessing.
Joshua Colp [Thu, 11 Jan 2018 18:05:05 +0000 (13:05 -0500)]
chan_sip: Check that an iostream exists before accessing.

Before getting the file descriptor for an iostream check
that it is present.

ASTERISK-27534

Change-Id: Ie0aa1394007a37c30e337ea1176a6fb3a63bc99c

2 years agoMerge "stasis_message_router: Remove silly usage of RAII_VAR."
Jenkins2 [Thu, 11 Jan 2018 14:46:34 +0000 (08:46 -0600)]
Merge "stasis_message_router: Remove silly usage of RAII_VAR."

2 years agoMerge "res_pjsip.c: Update the endpoint identification documentation."
Jenkins2 [Thu, 11 Jan 2018 14:42:52 +0000 (08:42 -0600)]
Merge "res_pjsip.c: Update the endpoint identification documentation."

2 years agoIgnore quilt .pc directory, used in deb packaging
Tzafrir Cohen [Thu, 11 Jan 2018 14:09:04 +0000 (16:09 +0200)]
Ignore quilt .pc directory, used in deb packaging

Debian packaging uses quilt to manage patches. Book-keeping for them is
done using quilt (either directly, or in a compatible format), and
tracked in the directory .pc .

Change-Id: I22c90f3d7ab8918e6216e7b686de6fa0e1fdaa7b
Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

2 years agoMerge "stasis_endpoints: Remove silly usage of RAII_VAR."
Jenkins2 [Thu, 11 Jan 2018 13:58:08 +0000 (07:58 -0600)]
Merge "stasis_endpoints: Remove silly usage of RAII_VAR."

2 years agoMerge "stasis_system: Remove silly usage of RAII_VAR."
Jenkins2 [Thu, 11 Jan 2018 13:25:51 +0000 (07:25 -0600)]
Merge "stasis_system: Remove silly usage of RAII_VAR."

2 years agoMerge "stasis: Remove silly usage of RAII_VAR."
Jenkins2 [Thu, 11 Jan 2018 12:58:10 +0000 (06:58 -0600)]
Merge "stasis: Remove silly usage of RAII_VAR."

2 years agoMerge "stasis_bridges: Remove silly usage of RAII_VAR."
Jenkins2 [Thu, 11 Jan 2018 12:43:33 +0000 (06:43 -0600)]
Merge "stasis_bridges: Remove silly usage of RAII_VAR."

2 years agoMerge "stasis_cache: Remove silly usage of RAII_VAR."
Jenkins2 [Thu, 11 Jan 2018 12:16:07 +0000 (06:16 -0600)]
Merge "stasis_cache: Remove silly usage of RAII_VAR."

2 years agoMerge "stasis_cache_pattern: Remove silly usage of RAII_VAR."
Jenkins2 [Thu, 11 Jan 2018 11:48:52 +0000 (05:48 -0600)]
Merge "stasis_cache_pattern: Remove silly usage of RAII_VAR."

2 years agoMerge "res_pjsip.c: Fix ident_to_str() and refactor ident_handler()."
Joshua Colp [Thu, 11 Jan 2018 10:55:21 +0000 (04:55 -0600)]
Merge "res_pjsip.c: Fix ident_to_str() and refactor ident_handler()."

2 years agostasis: Remove silly usage of RAII_VAR.
Corey Farrell [Tue, 9 Jan 2018 17:23:00 +0000 (12:23 -0500)]
stasis: Remove silly usage of RAII_VAR.

Change-Id: Ib11193531e797bcb16bba560a408eab155f706d1

2 years agostasis_cache_pattern: Remove silly usage of RAII_VAR.
Corey Farrell [Tue, 9 Jan 2018 17:09:08 +0000 (12:09 -0500)]
stasis_cache_pattern: Remove silly usage of RAII_VAR.

Change-Id: Ic98a51f555062cd863b6db3f8d76065943a9dea3

2 years agoMerge "app_confbridge: Fix NULL check in action_kick_last."
Joshua Colp [Wed, 10 Jan 2018 15:08:27 +0000 (09:08 -0600)]
Merge "app_confbridge: Fix NULL check in action_kick_last."

2 years agoMerge "bridge_softmix: Fix sfu_append_source_streams test."
Joshua Colp [Wed, 10 Jan 2018 14:19:56 +0000 (08:19 -0600)]
Merge "bridge_softmix: Fix sfu_append_source_streams test."

2 years agocdr_syslog: Deprecate unmaintained module
Sean Bright [Tue, 9 Jan 2018 22:23:54 +0000 (17:23 -0500)]
cdr_syslog: Deprecate unmaintained module

There has been an open issue against cdr_syslog (ASTERISK~14441) about
a race condition for 7.5 years that has never been addressed. Because
this module is effectively unmaintained and currently broken, there is
no sense in keeping it around.

If logging CDRs to syslog is a desirable feature, it would probably be
better to write the logs directly to the syslog server via socket
instead of using the facilities provided by openlog/syslog/closelog.
Doing so would address the race condition referenced in the associated
issue.

Change-Id: Ic77b94cd97f355a9cf5b1d3f3444964a6e0ba5dc

2 years agoMerge "res_pjsip_endpoint_identifier_ip.c: Allow multiple IdentifyDetail AMI events."
Joshua Colp [Wed, 10 Jan 2018 13:16:14 +0000 (07:16 -0600)]
Merge "res_pjsip_endpoint_identifier_ip.c: Allow multiple IdentifyDetail AMI events."

2 years agoMerge "res_pjsip: Add AMI action 'PJSIPShowAuths'"
Joshua Colp [Wed, 10 Jan 2018 12:55:29 +0000 (06:55 -0600)]
Merge "res_pjsip: Add AMI action 'PJSIPShowAuths'"

2 years agoMerge "res_stasis: Reduce RAII_VAR usage."
Joshua Colp [Wed, 10 Jan 2018 12:54:40 +0000 (06:54 -0600)]
Merge "res_stasis: Reduce RAII_VAR usage."

2 years agostasis_bridges: Remove silly usage of RAII_VAR.
Corey Farrell [Tue, 9 Jan 2018 17:16:58 +0000 (12:16 -0500)]
stasis_bridges: Remove silly usage of RAII_VAR.

Change-Id: I0fa7ab05454f183dc4ff10e26d18776d2b0fcf1f

2 years agostasis_cache: Remove silly usage of RAII_VAR.
Corey Farrell [Tue, 9 Jan 2018 17:10:27 +0000 (12:10 -0500)]
stasis_cache: Remove silly usage of RAII_VAR.

Change-Id: Ifa95e5801c949df296c7e4376347730fb0ed52ef

2 years agostasis_endpoints: Remove silly usage of RAII_VAR.
Corey Farrell [Tue, 9 Jan 2018 16:57:50 +0000 (11:57 -0500)]
stasis_endpoints: Remove silly usage of RAII_VAR.

Change-Id: Ic099dc552f36c353c89783a4bcfd09f010432733

2 years agostasis_message_router: Remove silly usage of RAII_VAR.
Corey Farrell [Tue, 9 Jan 2018 16:55:37 +0000 (11:55 -0500)]
stasis_message_router: Remove silly usage of RAII_VAR.

Change-Id: I50d6ae230920e0b878ed9cc8f79eef746e06701d

2 years agostasis_system: Remove silly usage of RAII_VAR.
Corey Farrell [Tue, 9 Jan 2018 16:53:28 +0000 (11:53 -0500)]
stasis_system: Remove silly usage of RAII_VAR.

Change-Id: Iedbe5656cee68cd3a96a953558764aa02d4a0c3b

2 years agoMerge "res_pjsip_session: Always bundle streams if WebRTC is enabled."
Jenkins2 [Tue, 9 Jan 2018 20:23:42 +0000 (14:23 -0600)]
Merge "res_pjsip_session: Always bundle streams if WebRTC is enabled."

2 years agoMerge "Revert "codec_opus: Make libcurl a dependency in menuselect""
Jenkins2 [Tue, 9 Jan 2018 19:52:14 +0000 (13:52 -0600)]
Merge "Revert "codec_opus: Make libcurl a dependency in menuselect""

2 years agores_pjsip.c: Update the endpoint identification documentation.
Richard Mudgett [Wed, 3 Jan 2018 23:26:42 +0000 (17:26 -0600)]
res_pjsip.c: Update the endpoint identification documentation.

* Endpoint identify_by documentation.
* IP/Header endpoint identifier documentation.

Change-Id: Id92f00b495acca7be945daf749d2abd7f76a0b5a

2 years agores_pjsip_endpoint_identifier_ip.c: Remove unnecessary requirement.
Richard Mudgett [Wed, 3 Jan 2018 21:20:27 +0000 (15:20 -0600)]
res_pjsip_endpoint_identifier_ip.c: Remove unnecessary requirement.

The requirement that "ip" must be in the endpoint identify_by list to
allow the type=identify method to identify the endpoint is not necessary.
The "ip" identifier method can match one and only one endpoint.  To even
work, the "ip" identifier method configuration must explicitly specify the
identified endpoint.  Therefore, why bother configuring the type=identify
identifier in the first place?  The requirement only adds the potential
for configuration errors for no benefit.  Even worse, those configuration
errors cannot be detected when the configuration loads.  The requirement
was introduced with the ASTERISK_27206 patch.

* Remove the code change that enforces the requiremnt.  Listing the "ip"
method in the identify_by value is simply documentation.

Change-Id: Ia057f92a33fb5d9f51dc5d5692e3d5ee1a6f2c11

2 years agores_pjsip.c: Fix ident_to_str() and refactor ident_handler().
Richard Mudgett [Sat, 6 Jan 2018 01:03:16 +0000 (19:03 -0600)]
res_pjsip.c: Fix ident_to_str() and refactor ident_handler().

* Extracted sip_endpoint_identifier_type2str() and
sip_endpoint_identifier_str2type() to simplify the calling functions.

* Fixed pjsip_configuration.c:ident_to_str() building the endpoint's
identify_by value string.

Change-Id: Ide876768a8d5d828b12052e2a75008b0563fc509

2 years agores_pjsip_endpoint_identifier_ip.c: Allow multiple IdentifyDetail AMI events.
Richard Mudgett [Thu, 4 Jan 2018 23:04:39 +0000 (17:04 -0600)]
res_pjsip_endpoint_identifier_ip.c: Allow multiple IdentifyDetail AMI events.

The AMI PJSIPShowEndpoint action could only list one IdentifyDetail AMI
event per endpoint.  However, there is no reason that multiple
type=identify sections cannot identify the same endpoint.

* Reworked format_ami_endpoint_identify() to generate as many
IdentifyDetail AMI events as there are matching identifiers.

Change-Id: Ie146792aef72d78e05416ab5b27bc552a30399db

2 years agotranslate: Avoid absolute value on unsigned substraction.
Alexander Traud [Fri, 5 Jan 2018 11:51:47 +0000 (12:51 +0100)]
translate: Avoid absolute value on unsigned substraction.

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

2 years agoMerge "res_pjsip.c: Fix endpoint identifier registration name search."
Jenkins2 [Tue, 9 Jan 2018 14:23:57 +0000 (08:23 -0600)]
Merge "res_pjsip.c: Fix endpoint identifier registration name search."

2 years agoRevert "codec_opus: Make libcurl a dependency in menuselect"
Sean Bright [Tue, 9 Jan 2018 14:22:35 +0000 (08:22 -0600)]
Revert "codec_opus: Make libcurl a dependency in menuselect"

This reverts commit 028f4320de60a204e457ad606ab0a3318493b431.

Change-Id: Ieb91f825cb55202a937f5361c01d356e7662b70c

2 years agoMerge "res_stasis: Fix dial bridge unload."
Joshua Colp [Tue, 9 Jan 2018 13:01:45 +0000 (07:01 -0600)]
Merge "res_stasis: Fix dial bridge unload."

2 years agoMerge "BuildSystem: Really do not pass unknown-warning options to the compiler."
Jenkins2 [Tue, 9 Jan 2018 12:39:40 +0000 (06:39 -0600)]
Merge "BuildSystem: Really do not pass unknown-warning options to the compiler."

2 years agoMerge "codec_gsm: Avoid shifting a negative signed value."
Jenkins2 [Tue, 9 Jan 2018 12:22:30 +0000 (06:22 -0600)]
Merge "codec_gsm: Avoid shifting a negative signed value."

2 years agoMerge "res_pjsip_endpoint_identifier_ip.c: Fix apply identify validation."
Jenkins2 [Tue, 9 Jan 2018 11:46:34 +0000 (05:46 -0600)]
Merge "res_pjsip_endpoint_identifier_ip.c: Fix apply identify validation."

2 years agoMerge "BuildSystem: Find ptlib-config on Debian/Ubuntu."
Joshua Colp [Tue, 9 Jan 2018 11:41:24 +0000 (05:41 -0600)]
Merge "BuildSystem: Find ptlib-config on Debian/Ubuntu."

2 years agores_pjsip_session: Always bundle streams if WebRTC is enabled.
Joshua Colp [Mon, 8 Jan 2018 16:54:00 +0000 (16:54 +0000)]
res_pjsip_session: Always bundle streams if WebRTC is enabled.

Some WebRTC clients can't handle renegotiation with the addition of
streams that include an offer to bundle. They instead expect the
newly added streams to already be bundled. This change does such a thing
if WebRTC support is enabled on an endpoint.

ASTERISK-27566

Change-Id: I7fe9b7ac35a2798627d9c2c8369129f407af6461

2 years agobridge_softmix: Fix sfu_append_source_streams test.
Corey Farrell [Tue, 9 Jan 2018 02:25:23 +0000 (21:25 -0500)]
bridge_softmix: Fix sfu_append_source_streams test.

* validate_stream: zero result from ast_format_cap_identical indicates
  they are not identical, rather than non-zero indicating an error.
* validate_original_streams: use num_streams instead of
  ARRAY_LEN(params).
* Fix declaration of alice_dest_stream and bob_dest_stream.

Change-Id: I6b1dd8bed10439d3c7406f033eb1896b6c419147

2 years agoapp_confbridge: Fix NULL check in action_kick_last.
Corey Farrell [Tue, 9 Jan 2018 00:47:38 +0000 (19:47 -0500)]
app_confbridge: Fix NULL check in action_kick_last.

The check for last_user == NULL needs to happen before we dereference
the variable, previously it was possible for us to check flags of a NULL
last_user.

Change-Id: I274f737aa8af9d2d53e4a78cdd7ad57561003945

2 years agores_stasis: Reduce RAII_VAR usage.
Corey Farrell [Sat, 6 Jan 2018 08:17:15 +0000 (03:17 -0500)]
res_stasis: Reduce RAII_VAR usage.

In addition to being a micro-optimization (RAII_VAR has overhead), this
change improves output of REF_DEBUG.  Unfortunately when RAII_VAR calls
ao2_cleanup it does so from a generated _dtor_varname function.  For
example this caused _dtor_app to release a reference instead of
__stasis_app_unregister.

Change-Id: I4ce67120583a446babf9adeec678b71d37fcd9e5

2 years agoMerge "res_stasis: Fix app_is_subscribed_bridge_id."
Jenkins2 [Mon, 8 Jan 2018 17:25:45 +0000 (11:25 -0600)]
Merge "res_stasis: Fix app_is_subscribed_bridge_id."

2 years agores_pjsip: Add AMI action 'PJSIPShowAuths'
Sungtae Kim [Fri, 5 Jan 2018 00:47:11 +0000 (01:47 +0100)]
res_pjsip: Add AMI action 'PJSIPShowAuths'

Add an AMI action which provides information on all
configured Auths.

ASTERISK-27547

Change-Id: I1a88a75b38a2b1dd9d1de6c0307b20a3f584c817

2 years agoMerge "General: Avoid implicit conversion to char when changes value to negative."
Jenkins2 [Mon, 8 Jan 2018 12:51:40 +0000 (06:51 -0600)]
Merge "General: Avoid implicit conversion to char when changes value to negative."

2 years agoMerge "bridge_softmix: Removed unused parameter from check_binaural_position_change...
Jenkins2 [Mon, 8 Jan 2018 12:38:13 +0000 (06:38 -0600)]
Merge "bridge_softmix: Removed unused parameter from check_binaural_position_change(.)."

2 years agoMerge "editline: Avoid comparison between pointer and zero character constant."
Jenkins2 [Mon, 8 Jan 2018 12:13:32 +0000 (06:13 -0600)]
Merge "editline: Avoid comparison between pointer and zero character constant."

2 years agoMerge "pbx: Prevent execution of NULL pointer."
Jenkins2 [Mon, 8 Jan 2018 11:53:29 +0000 (05:53 -0600)]
Merge "pbx: Prevent execution of NULL pointer."

2 years agores_stasis: Fix dial bridge unload.
Corey Farrell [Mon, 8 Jan 2018 03:38:49 +0000 (22:38 -0500)]
res_stasis: Fix dial bridge unload.

If the dial bridge has been created it must be released by calling
ast_bridge_destroy, simply releasing the ao2 reference is not enough.

Also move stasis_app_control_shutdown earlier in unload to ensure the
bridge cannot be created or grabbed after the app_bridges container is
released.

Change-Id: I372302de94ca63876069e2585a049c5060e5e767

2 years agores_stasis: Fix app_is_subscribed_bridge_id.
Corey Farrell [Mon, 8 Jan 2018 02:21:13 +0000 (21:21 -0500)]
res_stasis: Fix app_is_subscribed_bridge_id.

Instead of searching for bridge_id provided in an argument this function
always searched for BRIDGE_ALL first.  Rewrite this function to work
like the similar functions for channel and endpoint functions.

Change-Id: Ib5caca69e11727c5c8a7284a1d00621f40f1e60a

2 years agoMerge "General: Silence modules on (un)load."
Jenkins2 [Sun, 7 Jan 2018 22:46:49 +0000 (16:46 -0600)]
Merge "General: Silence modules on (un)load."

2 years agoMerge "chan_ooh323: Limit outgoinglimit to positive values as intended."
Jenkins2 [Sun, 7 Jan 2018 02:56:24 +0000 (20:56 -0600)]
Merge "chan_ooh323: Limit outgoinglimit to positive values as intended."

2 years agoMerge "BuildSystem: Avoid obsolete warning with HELP_STRING on autoconf."
Jenkins2 [Sun, 7 Jan 2018 02:31:04 +0000 (20:31 -0600)]
Merge "BuildSystem: Avoid obsolete warning with HELP_STRING on autoconf."

2 years agoGeneral: Silence modules on (un)load.
Alexander Traud [Fri, 5 Jan 2018 13:44:55 +0000 (14:44 +0100)]
General: Silence modules on (un)load.

Some (normally optional) modules created notices, warnings, and even errors
in normal situations like (un)load. This cluttered the command-line interface
(CLI) on start and while stopping gracefully. However, when an user went for
the script './contrib/scripts/install_prereq', those modules get compiled-in
because their prerequisites were met at compile time. Furthermore, because of
ASTERISK_27475, the former talkative module 'res_curl' is built as side-effect.

ASTERISK-27553

Change-Id: I9f105f46d72553994e820679bfde3478a551b281

2 years agoBuildSystem: Really do not pass unknown-warning options to the compiler.
Alexander Traud [Sat, 6 Jan 2018 21:40:46 +0000 (22:40 +0100)]
BuildSystem: Really do not pass unknown-warning options to the compiler.

When an older GCC version is called with a too new warning option, GCC exited
with an error and Asterisk was not built. Therefore, the configure script tests
the installed compiler whether it supports that warning option. If not, Asterisk
does not pass it to the installed compiler. However, some compilers (like clang)
do not exit (error) but give just a warning in such a case. Because the compiler
did not exit, Asterisk passed the unknown-warning option.

ASTERISK-27560

Change-Id: Ia9b7747f649b27ff5e9f75c3db3fee4fe7a29621

2 years agoGeneral: Avoid implicit conversion to char when changes value to negative.
Alexander Traud [Sat, 6 Jan 2018 07:25:14 +0000 (08:25 +0100)]
General: Avoid implicit conversion to char when changes value to negative.

clang 5.0 warned about this.

ASTERISK-27557

Change-Id: I7cceaa88e147cbdf81a3a7beec5c1c20210fa41e

2 years agobridge_softmix: Removed unused parameter from check_binaural_position_change(.).
Alexander Traud [Fri, 5 Jan 2018 12:06:33 +0000 (13:06 +0100)]
bridge_softmix: Removed unused parameter from check_binaural_position_change(.).

Found as a result of the function being passed an uninitalized variable by
clang.

ASTERISK-27550

Change-Id: I8af3bd84656b685a956d498459f8db3613f68954

2 years agoeditline: Avoid comparison between pointer and zero character constant.
Alexander Traud [Sat, 6 Jan 2018 12:45:28 +0000 (13:45 +0100)]
editline: Avoid comparison between pointer and zero character constant.

gcc 7.2 warned about this.

ASTERISK-27559

Change-Id: I48960dda9cf0a11b6a9426f775e632363f8caa74

2 years agocodec_gsm: Avoid shifting a negative signed value.
Alexander Traud [Sat, 6 Jan 2018 11:01:00 +0000 (12:01 +0100)]
codec_gsm: Avoid shifting a negative signed value.

clang 5.0 warned about this.

ASTERISK-27558

Change-Id: Icc452ecb0d86bbeba78dae768cc472ec540699df

2 years agores_pjsip_endpoint_identifier_ip.c: Fix apply identify validation.
Richard Mudgett [Thu, 4 Jan 2018 18:23:15 +0000 (12:23 -0600)]
res_pjsip_endpoint_identifier_ip.c: Fix apply identify validation.

The ip_identify_apply() did not validate the configuration for simple
static configuration errors or deal well with address resolution errors.

* Added missing configuration validation checks.
* Fixed address resolution error handling.
* Demoted an error message to a warning since it does not fail applying
the identify object configuration.

Change-Id: I8b519607263fe88e8ce964f526a45359fd362b6e

2 years agores_pjsip.c: Fix endpoint identifier registration name search.
Richard Mudgett [Thu, 4 Jan 2018 23:42:59 +0000 (17:42 -0600)]
res_pjsip.c: Fix endpoint identifier registration name search.

If an endpoint identifier name in the endpoint_identifier_order list is a
prefix to the identifier we are registering, we could install it in the
wrong position of the list.

Assuming
endpoint_identifier_order=username,ip,anonymous

then registering the "ip_only" identifier would put the identifier in the
wrong position of the priority list.

* Fix incorrect strncmp() string prefix matching.

Change-Id: Ib8819ec4b811da8a27419fd93528c54d34f01484

2 years agoBuildSystem: Find ptlib-config on Debian/Ubuntu.
Alexander Traud [Fri, 5 Jan 2018 09:33:58 +0000 (10:33 +0100)]
BuildSystem: Find ptlib-config on Debian/Ubuntu.

The current configure script requires that tool when libpt-dev is installed.
libpt-dev was installed by libopenh323-dev, bacause you wanted to go for H.323
based channel drivers.

ASTERISK-25329

Change-Id: I9c6ab78b7246c21536e1d252dcbffe682f63f83d

2 years agochan_ooh323: Limit outgoinglimit to positive values as intended.
Alexander Traud [Fri, 5 Jan 2018 12:42:07 +0000 (13:42 +0100)]
chan_ooh323: Limit outgoinglimit to positive values as intended.

ASTERISK-27552

Change-Id: Ifbf9d51e7374ca2e8b27ec568f6770050fc1a854

2 years agoooh323cDriver: Fix typo in header guard.
Alexander Traud [Fri, 5 Jan 2018 12:19:36 +0000 (13:19 +0100)]
ooh323cDriver: Fix typo in header guard.

ASTERISK-27551

Change-Id: I39ff66031e3373e895e2bc47b23a5e860ea4e012

2 years agoBuildSystem: Avoid obsolete warning with HELP_STRING on autoconf.
Alexander Traud [Fri, 5 Jan 2018 09:36:49 +0000 (10:36 +0100)]
BuildSystem: Avoid obsolete warning with HELP_STRING on autoconf.

ASTERISK-26046

Change-Id: I48f05698c235f709225b92bec5aa260fb57d69d1

2 years agopbx: Prevent execution of NULL pointer.
Corey Farrell [Thu, 4 Jan 2018 21:37:52 +0000 (16:37 -0500)]
pbx: Prevent execution of NULL pointer.

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

2 years agoMerge "rtp_engine: Add missing unlock."
Jenkins2 [Thu, 4 Jan 2018 21:02:15 +0000 (15:02 -0600)]
Merge "rtp_engine: Add missing unlock."

2 years agoMerge "translators: Don't use ast_module_running_ref."
Joshua Colp [Thu, 4 Jan 2018 20:49:06 +0000 (14:49 -0600)]
Merge "translators: Don't use ast_module_running_ref."

2 years agoMerge "res_pjsip_history: Add missing unlock to CLI command."
Jenkins2 [Thu, 4 Jan 2018 20:24:25 +0000 (14:24 -0600)]
Merge "res_pjsip_history: Add missing unlock to CLI command."

2 years agoMerge "aco: Fix NULL dereference in error path."
Jenkins2 [Thu, 4 Jan 2018 20:00:43 +0000 (14:00 -0600)]
Merge "aco: Fix NULL dereference in error path."

2 years agoMerge "func_odbc: Add missing unlock's to acf_odbc_read."
Jenkins2 [Thu, 4 Jan 2018 19:53:20 +0000 (13:53 -0600)]
Merge "func_odbc: Add missing unlock's to acf_odbc_read."

2 years agotranslators: Don't use ast_module_running_ref.
Corey Farrell [Thu, 4 Jan 2018 16:50:13 +0000 (11:50 -0500)]
translators: Don't use ast_module_running_ref.

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

2 years agortp_engine: Add missing unlock.
Corey Farrell [Thu, 4 Jan 2018 15:39:59 +0000 (10:39 -0500)]
rtp_engine: Add missing unlock.

Change-Id: I380c31a255e060309f4916da11176e0d00813215

2 years agores_pjsip_history: Add missing unlock to CLI command.
Corey Farrell [Thu, 4 Jan 2018 15:30:48 +0000 (10:30 -0500)]
res_pjsip_history: Add missing unlock to CLI command.

Change-Id: I872060a30543776a176a316309602d924a23eb29

2 years agoaco: Fix NULL dereference in error path.
Corey Farrell [Thu, 4 Jan 2018 15:27:19 +0000 (10:27 -0500)]
aco: Fix NULL dereference in error path.

Change-Id: Id505167cf0f9414a3c144fa2c1e181a2cf288694