]> git.ipfire.org Git - thirdparty/asterisk.git/log
thirdparty/asterisk.git
7 years agoMerge "app_confbridge: Fix NULL check in action_kick_last." into 13
Joshua Colp [Wed, 10 Jan 2018 14:11:53 +0000 (08:11 -0600)] 
Merge "app_confbridge: Fix NULL check in action_kick_last." into 13

7 years agoMerge "res_pjsip_endpoint_identifier_ip.c: Allow multiple IdentifyDetail AMI events...
Joshua Colp [Wed, 10 Jan 2018 12:55:10 +0000 (06:55 -0600)] 
Merge "res_pjsip_endpoint_identifier_ip.c: Allow multiple IdentifyDetail AMI events." into 13

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

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

7 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

7 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

7 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

7 years agoMerge "res_pjsip.c: Fix endpoint identifier registration name search." into 13
Jenkins2 [Tue, 9 Jan 2018 14:22:30 +0000 (08:22 -0600)] 
Merge "res_pjsip.c: Fix endpoint identifier registration name search." into 13

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

7 years agoMerge "codec_gsm: Avoid shifting a negative signed value." into 13
Jenkins2 [Tue, 9 Jan 2018 11:59:45 +0000 (05:59 -0600)] 
Merge "codec_gsm: Avoid shifting a negative signed value." into 13

7 years agoMerge "res_pjsip_endpoint_identifier_ip.c: Fix apply identify validation." into 13
Jenkins2 [Tue, 9 Jan 2018 11:51:17 +0000 (05:51 -0600)] 
Merge "res_pjsip_endpoint_identifier_ip.c: Fix apply identify validation." into 13

7 years agoMerge "BuildSystem: Find ptlib-config on Debian/Ubuntu." into 13
Jenkins2 [Tue, 9 Jan 2018 11:38:15 +0000 (05:38 -0600)] 
Merge "BuildSystem: Find ptlib-config on Debian/Ubuntu." into 13

7 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

7 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

7 years agoMerge "res_stasis: Fix app_is_subscribed_bridge_id." into 13
Jenkins2 [Mon, 8 Jan 2018 17:13:21 +0000 (11:13 -0600)] 
Merge "res_stasis: Fix app_is_subscribed_bridge_id." into 13

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

7 years agoMerge "editline: Avoid comparison between pointer and zero character constant." into 13
Jenkins2 [Mon, 8 Jan 2018 11:52:55 +0000 (05:52 -0600)] 
Merge "editline: Avoid comparison between pointer and zero character constant." into 13

7 years agoMerge "pbx: Prevent execution of NULL pointer." into 13
Jenkins2 [Mon, 8 Jan 2018 11:43:51 +0000 (05:43 -0600)] 
Merge "pbx: Prevent execution of NULL pointer." into 13

7 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

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

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

7 years agoMerge "ooh323cDriver: Fix typo in header guard." into 13
Richard Mudgett [Sun, 7 Jan 2018 02:16:21 +0000 (20:16 -0600)] 
Merge "ooh323cDriver: Fix typo in header guard." into 13

7 years agoGeneral: Silence modules on (un)load.
Alexander Traud [Fri, 5 Jan 2018 13:58:32 +0000 (14:58 +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

7 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

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

clang 5.0 warned about this.

ASTERISK-27557

Change-Id: I7cceaa88e147cbdf81a3a7beec5c1c20210fa41e

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 years agopbx: Prevent execution of NULL pointer.
Corey Farrell [Thu, 4 Jan 2018 22:07:03 +0000 (17:07 -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.

Change-Id: I0693af921fdc7f56b6a72a21fb816ed08b960a69

7 years agoMerge "res_pjsip_history: Add missing unlock to CLI command." into 13
Jenkins2 [Thu, 4 Jan 2018 20:37:47 +0000 (14:37 -0600)] 
Merge "res_pjsip_history: Add missing unlock to CLI command." into 13

7 years agoMerge "aco: Fix NULL dereference in error path." into 13
Jenkins2 [Thu, 4 Jan 2018 20:08:29 +0000 (14:08 -0600)] 
Merge "aco: Fix NULL dereference in error path." into 13

7 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

7 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

7 years agofunc_odbc: Add missing unlock's to acf_odbc_read.
Corey Farrell [Thu, 4 Jan 2018 01:07:44 +0000 (20:07 -0500)] 
func_odbc: Add missing unlock's to acf_odbc_read.

Change-Id: I828329ecbd252ae8f27a369a046d2b03102b07c6

7 years agores_pjsip_session: Check if sequence header is missing
Kevin Harwell [Wed, 3 Jan 2018 16:41:46 +0000 (10:41 -0600)] 
res_pjsip_session: Check if sequence header is missing

The pjsip_msg_find_hdr function can return NULL. This patch adds a check
when searching for the sequence header to make sure a NULL pointer is never
de-referenced.

Change-Id: I19af23aeeded65be016be92360e8cb7ffe51fad2

7 years agoMerge "core: Use macros to generate ao2_container callbacks where possible." into 13
Jenkins2 [Wed, 3 Jan 2018 13:49:58 +0000 (07:49 -0600)] 
Merge "core: Use macros to generate ao2_container callbacks where possible." into 13

7 years agoMerge "astobj2: Create case-insensitive variants of container function macros." into 13
Jenkins2 [Wed, 3 Jan 2018 13:04:10 +0000 (07:04 -0600)] 
Merge "astobj2: Create case-insensitive variants of container function macros." into 13

7 years agoMerge "aco: Add missing aco_option_type_string for OPT_TIMELEN_T." into 13
Joshua Colp [Wed, 3 Jan 2018 12:51:59 +0000 (06:51 -0600)] 
Merge "aco: Add missing aco_option_type_string for OPT_TIMELEN_T." into 13

7 years agocdr: submit: fix logic of test for batch mode
Tzafrir Cohen [Tue, 2 Jan 2018 13:36:04 +0000 (15:36 +0200)] 
cdr: submit: fix logic of test for batch mode

ASTERISK-27539 #close

Change-Id: I33cdf329d2bb4486dcae975c450f6aae94c515f7

7 years agoMerge "stasis_channels.c: Misc cleanup." into 13
Jenkins2 [Tue, 2 Jan 2018 13:39:30 +0000 (07:39 -0600)] 
Merge "stasis_channels.c: Misc cleanup." into 13

7 years agoMerge "cdr_mysql: Make sure connection charset is always set" into 13
Jenkins2 [Tue, 2 Jan 2018 12:54:21 +0000 (06:54 -0600)] 
Merge "cdr_mysql: Make sure connection charset is always set" into 13

7 years agoaco: Add missing aco_option_type_string for OPT_TIMELEN_T.
Corey Farrell [Tue, 2 Jan 2018 06:26:10 +0000 (01:26 -0500)] 
aco: Add missing aco_option_type_string for OPT_TIMELEN_T.

ASTERISK-27117

Change-Id: I8f6c34bb30830be9f7a40823723eb4dcaaa91c61

7 years agocore: Use macros to generate ao2_container callbacks where possible.
Corey Farrell [Sat, 30 Dec 2017 04:59:00 +0000 (23:59 -0500)] 
core: Use macros to generate ao2_container callbacks where possible.

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)
* named_acl

Change-Id: Ide4c1449a894bce70dea1fef664dade9b57578f1

7 years agoice: Increase foundation buffer size
Sean Bright [Sun, 31 Dec 2017 16:26:54 +0000 (11:26 -0500)] 
ice: Increase foundation buffer size

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

7 years agoastobj2: Create case-insensitive variants of container function macros.
Corey Farrell [Sat, 30 Dec 2017 04:03:52 +0000 (23:03 -0500)] 
astobj2: Create case-insensitive variants of container function macros.

* AO2_STRING_FIELD_CASE_HASH_FN
* AO2_STRING_FIELD_CASE_CMP_FN
* AO2_STRING_FIELD_CASE_SORT_FN

Change-Id: I11af8c6a0c43380a42732553f519c667abb842cf

7 years agoMerge "func_channel.c: Update MASTER_CHANNEL documentation" into 13
Jenkins2 [Fri, 29 Dec 2017 19:31:04 +0000 (13:31 -0600)] 
Merge "func_channel.c: Update MASTER_CHANNEL documentation" into 13

7 years agostasis_channels.c: Misc cleanup.
Richard Mudgett [Thu, 28 Dec 2017 19:27:43 +0000 (13:27 -0600)] 
stasis_channels.c: Misc cleanup.

* 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

7 years agoMerge "manager.c: Update AMI Status event documentation" into 13
Jenkins2 [Thu, 28 Dec 2017 19:35:30 +0000 (13:35 -0600)] 
Merge "manager.c: Update AMI Status event documentation" into 13

7 years agoMerge "menuselect: Fix check for running configure." into 13
George Joseph [Thu, 28 Dec 2017 16:56:55 +0000 (10:56 -0600)] 
Merge "menuselect: Fix check for running configure." into 13

7 years agoMerge "cdr: Missing NULL check and unlock." into 13
Jenkins2 [Thu, 28 Dec 2017 16:32:29 +0000 (10:32 -0600)] 
Merge "cdr: Missing NULL check and unlock." into 13

7 years agocdr_mysql: Make sure connection charset is always set
Sean Bright [Wed, 13 Dec 2017 21:43:18 +0000 (16:43 -0500)] 
cdr_mysql: Make sure connection charset is always set

When the MYSQL_OPT_RECONNECT option is enabled, the MySQL client API
will transparently reconnect when it needs to. Ideally this simplifies
our code, but when this reconnection occurs all connection state is
lost. Because we are not notified that this has happened, we don't know
to set our character set again (with "SET NAMES 'xyz'").

Rather than calling SET NAMES, we instead set the MYSQL_SET_CHARSET_NAME
option which will do it for us under the hood on each connect. This
option has been present in the MySQL C API for at least 15 years, so it
should be safe for most installations.

I also snuck a few other changes into this patch:

* Default the MySQL port to MYSQL_PORT (3306) instead of 0 if it's not
  defined.

* Fix some erroneous and/or silly checks on the contents of the
  configuration ast_str values.

ASTERISK-27366 #close
Reported by: Halil Ä°brahim YILDIZ

Change-Id: I36bf8dc5d5f83584e803b3b1a151dea9396ab8f5

7 years agomanager.c: Update AMI Status event documentation
Richard Mudgett [Thu, 28 Dec 2017 02:48:40 +0000 (20:48 -0600)] 
manager.c: Update AMI Status event documentation

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.

* Cached the effective connected line party id so it doesn't get
calculated four times.

Change-Id: I004c4c4f9e7b40ef55035c831702721bec82496c

7 years agobridge_native_rtp.c: Fix reentrancy framehook crash.
Richard Mudgett [Thu, 28 Dec 2017 04:36:58 +0000 (22:36 -0600)] 
bridge_native_rtp.c: Fix reentrancy framehook crash.

If two channels enter different native rtp bridges at the same time it is
possible that the framehook interface data pointer can be corrupted
because the struct variable was declared static.

* Fixed the reentrancy corruption by changing the framehook interface
struct static variable to a stack local variable.

* Moved the hook.data assignment outside of the channel lock.  It did not
need the lock's protection.  It probably was giving a false sense of
security.

The testsuite
channels/pjsip/basic_calls/two_parties/nominal/alice_initiated/bob_hangs_up
test caught this with MALLOC_DEBUG and DO_CRASH enabled.

Change-Id: If9e35b97d19209b0f984941c1d8eb5f7c55eea91

7 years agofunc_channel.c: Update MASTER_CHANNEL documentation
Richard Mudgett [Thu, 28 Dec 2017 02:22:36 +0000 (20:22 -0600)] 
func_channel.c: Update MASTER_CHANNEL documentation

Be more explicit in what is meant by the master channel to eliminate
misunderstanding.

ASTERISK-23133

Change-Id: I453bcaf4b99404a5a3e345dbf093ac6c1afcfc72

7 years agomenuselect: Fix check for running configure.
Corey Farrell [Thu, 28 Dec 2017 01:27:18 +0000 (20:27 -0500)] 
menuselect: Fix check for running configure.

menuselect/Makefile checks that autoconfig.h and makeopts were newer
than the '.in' files.  Unfortunately running ./configure does not touch
autoconfig.h unless the contents will change.

Instead of looking at autoconfig.h we just need to ensure that makeopts
is newer than configure.

Also make change to configure.ac so bootstrap.sh doesn't re-add the
extra trailing line-feed.

Change-Id: Ief1f831d6717007f9cebb668c14e92782cd2b794

7 years agocdr: Missing NULL check and unlock.
Corey Farrell [Tue, 26 Dec 2017 02:39:28 +0000 (21:39 -0500)] 
cdr: Missing NULL check and unlock.

* handle_dial_message: Missing a check for NULL peer.
* ast_cdr_register: Missing unlock on allocation failure.

ast_cdr_register is fixed by reordering so the new structure is
allocated and initialized before locking the list.

Change-Id: I5799b99270d1a7a716a555c31ac85f4b00ce8686

7 years agoloader: Add volatile to resource_being_loaded.
Corey Farrell [Sun, 24 Dec 2017 04:51:13 +0000 (23:51 -0500)] 
loader: Add volatile to resource_being_loaded.

Some compiler optimizers seem to assume that dlopen will not use
__attribute__((constructor)) functions to call back to the program.
This was causing resource_being_loaded to be optimized away completely.

ASTERISK-27531 #close
Tested By: abelbeck

Change-Id: If17a3b889e06811a0e7119f0539d052494d6ece9

7 years agoAST-2017-014: res_pjsip - Missing contact header can cause crash
Kevin Harwell [Wed, 20 Dec 2017 22:17:40 +0000 (16:17 -0600)] 
AST-2017-014: res_pjsip - Missing contact header can cause crash

Those SIP messages that create dialogs require a contact header to be present.
If the contact header was missing from the message it could cause Asterisk to
crash.

This patch checks to make sure SIP messages that create a dialog contain the
contact header. If the message does not and it is required Asterisk now returns
a "400 Missing Contact header" response. Also added NULL checks when retrieving
the contact header that were missing as a "just in case".

ASTERISK-27480 #close

Change-Id: I1810db87683fc637a9e3e1384a746037fec20afe

7 years agoRemove as much trailing whitespace as possible.
Sean Bright [Fri, 22 Dec 2017 14:14:07 +0000 (09:14 -0500)] 
Remove as much trailing whitespace as possible.

Change-Id: I873c1c6d00f447269bd841494459efccdd2c19c0

7 years agoMerge "Fix some invalid Unicode characters" into 13
Jenkins2 [Fri, 22 Dec 2017 13:45:52 +0000 (07:45 -0600)] 
Merge "Fix some invalid Unicode characters" into 13

7 years agoMerge "app_voicemail: Fix file copy error handling." into 13
Jenkins2 [Fri, 22 Dec 2017 13:26:22 +0000 (07:26 -0600)] 
Merge "app_voicemail: Fix file copy error handling." into 13

7 years agoFix some invalid Unicode characters
Sean Bright [Thu, 21 Dec 2017 15:51:02 +0000 (10:51 -0500)] 
Fix some invalid Unicode characters

configs/samples/minivm.conf.sample contains invalid UTF-8, but that
appears to be intentional.

Change-Id: I7b1e0d332f3380fd0425962a3c9c55f9b200c8cc

7 years agoMerge "Fix Common Typo's." into 13
Jenkins2 [Thu, 21 Dec 2017 14:34:30 +0000 (08:34 -0600)] 
Merge "Fix Common Typo's." into 13

7 years agoMerge "docs: Remove old API changes documentation" into 13
Joshua Colp [Thu, 21 Dec 2017 12:35:22 +0000 (06:35 -0600)] 
Merge "docs: Remove old API changes documentation" into 13

7 years agoMerge "app_festival: Fix fd leak on connection failure." into 13
Jenkins2 [Thu, 21 Dec 2017 12:11:47 +0000 (06:11 -0600)] 
Merge "app_festival: Fix fd leak on connection failure." into 13

7 years agoMerge "bridge: Old channel video source not set to NULL after unref." into 13
Jenkins2 [Thu, 21 Dec 2017 11:47:18 +0000 (05:47 -0600)] 
Merge "bridge: Old channel video source not set to NULL after unref." into 13

7 years agoMerge "core: Fix unused variable error in handle_show_sysinfo." into 13
Joshua Colp [Thu, 21 Dec 2017 11:46:32 +0000 (05:46 -0600)] 
Merge "core: Fix unused variable error in handle_show_sysinfo." into 13

7 years agoapp_voicemail: Fix file copy error handling.
Corey Farrell [Thu, 21 Dec 2017 03:11:48 +0000 (22:11 -0500)] 
app_voicemail: Fix file copy error handling.

Fix error where input/output file descriptors would be closed multiple
times.

Change-Id: Iba5140b60cb7de79e3d5d92be3c256947aa99da9

7 years agodocs: Remove old API changes documentation
Sean Bright [Wed, 20 Dec 2017 20:54:24 +0000 (15:54 -0500)] 
docs: Remove old API changes documentation

Change-Id: I1bc7957121cc7ae27dca04acc3613f4e1858476a

7 years agoFix Common Typo's.
Corey Farrell [Wed, 20 Dec 2017 17:14:54 +0000 (12:14 -0500)] 
Fix Common Typo's.

Fix instances of:
* Retreive
* Recieve
* other then
* different then
* Repeated words ("the the", "an an", "and and", etc).
* othterwise, teh

ASTERISK-24198 #close

Change-Id: I3809a9c113b92fd9d0d9f9bac98e9c66dc8b2d31

7 years agomanager.h: Bump AMI version
Richard Mudgett [Wed, 20 Dec 2017 17:30:54 +0000 (11:30 -0600)] 
manager.h: Bump AMI version

Change-Id: I62e6ddeb261ef012687e1fb6734c554e2499b6bf

7 years agoapp_festival: Fix fd leak on connection failure.
Corey Farrell [Wed, 20 Dec 2017 06:53:17 +0000 (01:53 -0500)] 
app_festival: Fix fd leak on connection failure.

Change-Id: If5efaddcf735ff7d17e55c36cc1388946cee9e0f

7 years agobridge: Old channel video source not set to NULL after unref.
Corey Farrell [Wed, 20 Dec 2017 16:23:08 +0000 (11:23 -0500)] 
bridge: Old channel video source not set to NULL after unref.

The bridge holds onto the old channel video source after it's been
released.  This can lead to use after free errors.

ASTERISK-27229 #close

Change-Id: Ib2dab61677dd8a21f7ad53cdc9b8ca93297838b3

7 years agocore: Fix unused variable error in handle_show_sysinfo.
Corey Farrell [Wed, 20 Dec 2017 16:13:13 +0000 (11:13 -0500)] 
core: Fix unused variable error in handle_show_sysinfo.

Apparently in OSX it's possible for OSX to HAVE_SYSCTL but not
HAVE_SYSINFO or HAVE_SWAPCTL.  In this case freeswap caused an unused
variable error.

ASTERISK-26563 #close

Change-Id: I8ec5b1897b786cc1abaf62264aa75039eea05510

7 years agoMerge "CLI: Address multiple issues." into 13
Joshua Colp [Wed, 20 Dec 2017 14:34:37 +0000 (08:34 -0600)] 
Merge "CLI: Address multiple issues." into 13

7 years agoMerge "bridge: Stop music on hold on adding an arbitrary channel to a bridge" into 13
Jenkins2 [Wed, 20 Dec 2017 14:11:54 +0000 (08:11 -0600)] 
Merge "bridge: Stop music on hold on adding an arbitrary channel to a bridge" into 13

7 years agoMerge "res_rtp_asterisk: Avoid close the rtp/rtcp fd twice." into 13
Jenkins2 [Wed, 20 Dec 2017 13:47:22 +0000 (07:47 -0600)] 
Merge "res_rtp_asterisk:  Avoid close the rtp/rtcp fd twice." into 13

7 years agoMerge "core: Fix multiple trivial issues in the core." into 13
Joshua Colp [Wed, 20 Dec 2017 13:01:01 +0000 (07:01 -0600)] 
Merge "core: Fix multiple trivial issues in the core." into 13

7 years agoMerge "chan_sip: Fix memory leaks." into 13
Jenkins2 [Wed, 20 Dec 2017 01:20:39 +0000 (19:20 -0600)] 
Merge "chan_sip: Fix memory leaks." into 13

7 years agoMerge "Remove constant conditionals (dead-code)." into 13
Jenkins2 [Wed, 20 Dec 2017 01:13:20 +0000 (19:13 -0600)] 
Merge "Remove constant conditionals (dead-code)." into 13

7 years agoMerge "chan_console: Use correct parameter for 'set active'" into 13
George Joseph [Tue, 19 Dec 2017 22:14:03 +0000 (16:14 -0600)] 
Merge "chan_console: Use correct parameter for 'set active'" into 13

7 years agoCLI: Address multiple issues.
Corey Farrell [Tue, 19 Dec 2017 02:12:47 +0000 (21:12 -0500)] 
CLI: Address multiple issues.

* listen uses the variable `s` for the result from ast_poll() then
  overwrites it with the result of accept().  Create a separate variable
  poll_result to avoid confusion since ast_poll does not return a file
  descriptor.
* Resolve fd leak that would occur if setsockopt failed in listen.
* Reserve an extra byte while processing completion results from remote
  daemon.  This fixes a bug where completion processing used strstr() on
  a string that was not '\0' terminated.  This was no risk to the Asterisk
  daemon, the bug was only reachable the remote console process.
* Resolve leak in handle_showchan when the channel is not found.
* Multiple leaks and a deadlock in pbx_config CLI completion.
* Fix leaks in "manager show command".

Change-Id: I8f633ceb1714867ae30ef4e421858f77c14485a9

7 years agores_rtp_asterisk: Avoid close the rtp/rtcp fd twice.
Aaron An [Tue, 19 Dec 2017 20:15:29 +0000 (15:15 -0500)] 
res_rtp_asterisk:  Avoid close the rtp/rtcp fd twice.

When RTCP-MUX enabled. rtp->s is the same as rtcp->s, check this before
close the file descriptor. Close the FD twice will hangs the asterisk
under heavy load.

ASTERISK-27299 #close
Reported-by: Aaron An
Tested-by: AaronAn
Change-Id: I870a072d73fd207463ac116ef97100addbc0820a

7 years agoMerge "main/app: Fix leaks." into 13
Jenkins2 [Tue, 19 Dec 2017 20:10:02 +0000 (14:10 -0600)] 
Merge "main/app: Fix leaks." into 13

7 years agobridge: Stop music on hold on adding an arbitrary channel to a bridge
Ivan Poddubny [Sat, 16 Dec 2017 13:51:16 +0000 (14:51 +0100)] 
bridge: Stop music on hold on adding an arbitrary channel to a bridge

When a channel that is on hold gets added to a bridge by
the Bridge AMI action or the dialplan application of the same name,
music continues to play, causing "robotic sound".

This commit adds a call to ast_moh_stop to stop the music.
Also, it makes the AMI Park action use the right MOH class when the
channel gets parked.

Reported by: Zane Conkle

ASTERISK-25079 #close

Change-Id: I4b129c5a20c15e63968842460ac5a1a85903cf9f

7 years agochan_sip: Fix memory leaks.
Corey Farrell [Tue, 19 Dec 2017 00:59:57 +0000 (19:59 -0500)] 
chan_sip: Fix memory leaks.

In change_redirecting_information variables we use ast_strlen_zero to
see if a value should be saved.  In the case where the value is not NULL
but is a zero length string we leaked.

handle_response_subscribe leaked a reference to the ccss monitor
instance.

Change-Id: Ib11444de69c3d5b2360a88ba2feb54d2c2e9f05f

7 years agoMerge "func_callerid: Initialize app argument structures." into 13
Jenkins2 [Tue, 19 Dec 2017 17:34:08 +0000 (11:34 -0600)] 
Merge "func_callerid: Initialize app argument structures." into 13

7 years agoMerge "rtp_engine.c: Eliminate rtcp_report_to_json() RAII_VAR usage." into 13
Jenkins2 [Tue, 19 Dec 2017 17:04:03 +0000 (11:04 -0600)] 
Merge "rtp_engine.c: Eliminate rtcp_report_to_json() RAII_VAR usage." into 13

7 years agochan_console: Use correct parameter for 'set active'
Oron Peled [Tue, 19 Dec 2017 08:50:04 +0000 (10:50 +0200)] 
chan_console: Use correct parameter for 'set active'

chan_console supports multiple devices but the CLI only works on a
single device. 'console set active' selects this device.

Sadly that CLI picks the wrong command-line parameter and will only
work for a device called 'active'.

ASTERISK-27490 #close

Change-Id: I2f0e5fe63db19845bee862575b739360797dc73d

7 years agoMerge "ast_json_pack(): Use safer json ref mechanism." into 13
Jenkins2 [Tue, 19 Dec 2017 16:02:19 +0000 (10:02 -0600)] 
Merge "ast_json_pack(): Use safer json ref mechanism." into 13

7 years agoRemove constant conditionals (dead-code).
Corey Farrell [Mon, 18 Dec 2017 21:36:21 +0000 (16:36 -0500)] 
Remove constant conditionals (dead-code).

Some variables are set and never changed, making them constant.  This
means that code in the 'false' block of the conditional is unreachable.

In chan_skinny and res_config_ldap I used preprocessor directive `#if 0`
as I'm unsure if the unreachable code could be enabled in the future.

Change-Id: I62e2aac353d739fb3c983cf768933120f5fba059

7 years agocore: Fix multiple trivial issues in the core.
Corey Farrell [Tue, 19 Dec 2017 05:17:08 +0000 (00:17 -0500)] 
core: Fix multiple trivial issues in the core.

* Fix small leaks in from error condition in translate.c.
* Check new file descriptor is less than 0, not less than or equal.

Change-Id: Id7782775486175c739e0c4bf3ea5e17e3f452a99

7 years agomain/app: Fix leaks.
Corey Farrell [Tue, 19 Dec 2017 01:47:54 +0000 (20:47 -0500)] 
main/app: Fix leaks.

* ast_linear_stream would leak a file descriptor if it failed to allocate
  lin.
* ast_control_tone leaked zone and ts if ast_playtones_start failed.

Additionally added whitespace to ast_linear_stream, pulled assignments
out of conditionals for improved readability.

Change-Id: I6d1a10cf9161b1529d939b9b2d63ea36d395b657

7 years agofunc_callerid: Initialize app argument structures.
Corey Farrell [Tue, 19 Dec 2017 01:19:34 +0000 (20:19 -0500)] 
func_callerid: Initialize app argument structures.

This module uses AST_DEFINE_APP_ARGS_TYPE to define struct's instead of
directly using AST_DECLARE_APP_ARGS.  Initialize the variables declared
in this way.

Change-Id: If97fbdd8d63a204e2efd498a192effc14e90fb31

7 years agoapp_voicemail: Fix memory management issues.
Corey Farrell [Tue, 19 Dec 2017 00:04:56 +0000 (19:04 -0500)] 
app_voicemail: Fix memory management issues.

* mwi_sub_event_cb: mwist leaked on separate_mailbox failure.
* add_email_attachment: A reference to sox_gain_tmpdir was used
  after the storage was out of scope.

Change-Id: I6282c542ff7b82fa091177a912d11234a8b00a30