Commit Graph

30499 Commits

Author SHA1 Message Date
Jenkins2
341a258b34 Merge "pbx: Prevent execution of NULL pointer." 2018-01-08 05:53:29 -06:00
Jenkins2
634d30fb9e Merge "General: Silence modules on (un)load." 2018-01-07 16:46:49 -06:00
Jenkins2
26e5edd043 Merge "chan_ooh323: Limit outgoinglimit to positive values as intended." 2018-01-06 20:56:24 -06:00
Jenkins2
bcc2931d22 Merge "BuildSystem: Avoid obsolete warning with HELP_STRING on autoconf." 2018-01-06 20:31:04 -06:00
Alexander Traud
7e9781c25e 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
2018-01-06 20:13:07 -06:00
Alexander Traud
f0c8f04c73 chan_ooh323: Limit outgoinglimit to positive values as intended.
ASTERISK-27552

Change-Id: Ifbf9d51e7374ca2e8b27ec568f6770050fc1a854
2018-01-05 08:02:21 -06:00
Alexander Traud
09f339bda5 ooh323cDriver: Fix typo in header guard.
ASTERISK-27551

Change-Id: I39ff66031e3373e895e2bc47b23a5e860ea4e012
2018-01-05 13:19:36 +01:00
Alexander Traud
bc1b4f4d43 BuildSystem: Avoid obsolete warning with HELP_STRING on autoconf.
ASTERISK-26046

Change-Id: I48f05698c235f709225b92bec5aa260fb57d69d1
2018-01-05 10:36:49 +01:00
Corey Farrell
cfb88f3ac1 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
2018-01-04 16:50:04 -05:00
Jenkins2
4eccf697e1 Merge "rtp_engine: Add missing unlock." 2018-01-04 15:02:15 -06:00
Joshua Colp
5cab877093 Merge "translators: Don't use ast_module_running_ref." 2018-01-04 14:49:06 -06:00
Jenkins2
a79a8d1526 Merge "res_pjsip_history: Add missing unlock to CLI command." 2018-01-04 14:24:25 -06:00
Jenkins2
f33ed0d247 Merge "aco: Fix NULL dereference in error path." 2018-01-04 14:00:43 -06:00
Jenkins2
8187bde9bf Merge "func_odbc: Add missing unlock's to acf_odbc_read." 2018-01-04 13:53:20 -06:00
Corey Farrell
82cf585fb5 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
2018-01-04 12:01:56 -05:00
Corey Farrell
da365affbd rtp_engine: Add missing unlock.
Change-Id: I380c31a255e060309f4916da11176e0d00813215
2018-01-04 10:39:59 -05:00
Corey Farrell
73bf5035b8 res_pjsip_history: Add missing unlock to CLI command.
Change-Id: I872060a30543776a176a316309602d924a23eb29
2018-01-04 10:30:48 -05:00
Corey Farrell
aaed0b8b3a aco: Fix NULL dereference in error path.
Change-Id: Id505167cf0f9414a3c144fa2c1e181a2cf288694
2018-01-04 10:27:44 -05:00
Joshua Colp
2fac32a37a Merge "loader: Create ast_module_running_ref." 2018-01-04 07:12:43 -06:00
Joshua Colp
25399f74aa Merge "res_pjsip_session: Check if sequence header is missing" 2018-01-04 07:01:04 -06:00
Joshua Colp
307abc4cad Merge "datastore: Add automatic module references." 2018-01-04 06:53:28 -06:00
Corey Farrell
e3c9314a2e func_odbc: Add missing unlock's to acf_odbc_read.
Change-Id: I828329ecbd252ae8f27a369a046d2b03102b07c6
2018-01-03 20:31:40 -05:00
Corey Farrell
55f1d69c43 loader: Create ast_module_running_ref.
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-03 17:23:36 -05:00
Jenkins2
7f4facc5e4 Merge "res_pjsip: Add AMI action 'PJSIPShowAors'" 2018-01-03 15:29:36 -06:00
Kevin Harwell
62f862e2cd 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
2018-01-03 10:46:25 -06:00
Jenkins2
84d0871380 Merge "core: Use macros to generate ao2_container callbacks where possible." 2018-01-03 07:50:36 -06:00
Jenkins2
9efcaf5eb0 Merge "astobj2: Create case-insensitive variants of container function macros." 2018-01-03 07:32:15 -06:00
Joshua Colp
f77ca95418 Merge "aco: Add missing aco_option_type_string for OPT_TIMELEN_T." 2018-01-03 07:09:38 -06:00
Jenkins2
5a1525345e Merge "cdr: submit: fix logic of test for batch mode" 2018-01-03 06:43:47 -06:00
Joshua Colp
72e77539ee Merge "cdr_mysql: Make sure connection charset is always set" 2018-01-02 07:48:24 -06:00
Jenkins2
6480777005 Merge "stasis_channels.c: Misc cleanup." 2018-01-02 07:38:44 -06:00
Tzafrir Cohen
9b5d1454b4 cdr: submit: fix logic of test for batch mode
ASTERISK-27539 #close

Change-Id: I33cdf329d2bb4486dcae975c450f6aae94c515f7
2018-01-02 15:36:04 +02:00
Sungtae Kim
ffbf5be116 res_pjsip: Add AMI action 'PJSIPShowAors'
Add an AMI action which provides information on all
configured AORs.

ASTERISK-27537

Change-Id: If8b990a00909e5b6c0f04a3b8dccd9903dc445eb
2018-01-02 12:24:38 +00:00
Corey Farrell
f298178583 aco: Add missing aco_option_type_string for OPT_TIMELEN_T.
ASTERISK-27117

Change-Id: I8f6c34bb30830be9f7a40823723eb4dcaaa91c61
2018-01-02 01:26:10 -05:00
Sean Bright
15f8b9b8bf 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
2017-12-31 11:34:41 -05:00
Corey Farrell
b32d6d5e2d 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
2017-12-30 13:39:24 -05:00
Corey Farrell
bc73337e07 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)
* ast_bucket_file (media_cache.c)
* named_acl

Change-Id: Ide4c1449a894bce70dea1fef664dade9b57578f1
2017-12-30 13:20:16 -05:00
Corey Farrell
0fe7df641a datastore: Add automatic module references.
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-29 16:16:11 -05:00
Jenkins2
80e6b2eff5 Merge "func_channel.c: Update MASTER_CHANNEL documentation" 2017-12-29 13:40:31 -06:00
Richard Mudgett
2dde5bef47 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
2017-12-28 13:53:27 -06:00
Jenkins2
0d9968e001 Merge "manager.c: Update AMI Status event documentation" 2017-12-28 13:46:22 -06:00
Richard Mudgett
9931976130 Merge "menuselect: Fix check for running configure." 2017-12-28 11:51:21 -06:00
Jenkins2
43e70525de Merge "astobj.h: Remove from Asterisk core." 2017-12-28 11:15:11 -06:00
Jenkins2
50cf373be5 Merge "cdr: Missing NULL check and unlock." 2017-12-28 10:42:17 -06:00
Sean Bright
898b3b080a 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
2017-12-28 09:38:37 -06:00
Richard Mudgett
d69b7c6c6d 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.

Change-Id: I004c4c4f9e7b40ef55035c831702721bec82496c
2017-12-28 09:21:36 -06:00
Richard Mudgett
fa36f9c01b 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
2017-12-27 23:17:01 -06:00
Richard Mudgett
1d3dc9aea2 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
2017-12-27 21:15:16 -06:00
Corey Farrell
6338a03ce9 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
2017-12-27 20:17:15 -06:00
Corey Farrell
94eb12ca56 cdr: Missing NULL check and unlock.
* handle_dial_message: Missing a check for NULL peer.
* cdr_generic_register: Missing unlock on allocation failure.

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

Change-Id: I5799b99270d1a7a716a555c31ac85f4b00ce8686
2017-12-25 21:34:32 -05:00