20 months 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."

20 months 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."

20 months 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."

20 months 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."

20 months 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.


Change-Id: I9f105f46d72553994e820679bfde3478a551b281

20 months 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.


Change-Id: Ifbf9d51e7374ca2e8b27ec568f6770050fc1a854

20 months 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.


Change-Id: I39ff66031e3373e895e2bc47b23a5e860ea4e012

20 months 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.


Change-Id: I48f05698c235f709225b92bec5aa260fb57d69d1

20 months 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

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

20 months 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."

20 months 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."

20 months 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."

20 months 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."

20 months 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.


Change-Id: Iaa0e75da99c696e38000f1a41e340abbd7a88f56

20 months 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

20 months 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

20 months 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

20 months agoMerge "loader: Create ast_module_running_ref."
Joshua Colp [Thu, 4 Jan 2018 13:12:43 +0000 (07:12 -0600)]
Merge "loader: Create ast_module_running_ref."

20 months agoMerge "res_pjsip_session: Check if sequence header is missing"
Joshua Colp [Thu, 4 Jan 2018 13:01:04 +0000 (07:01 -0600)]
Merge "res_pjsip_session: Check if sequence header is missing"

20 months agoMerge "datastore: Add automatic module references."
Joshua Colp [Thu, 4 Jan 2018 12:53:28 +0000 (06:53 -0600)]
Merge "datastore: Add automatic module references."

20 months 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

20 months agoloader: Create ast_module_running_ref.
Corey Farrell [Sat, 30 Dec 2017 00:24:02 +0000 (19:24 -0500)]
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

20 months agoMerge "res_pjsip: Add AMI action 'PJSIPShowAors'"
Jenkins2 [Wed, 3 Jan 2018 21:29:36 +0000 (15:29 -0600)]
Merge "res_pjsip: Add AMI action 'PJSIPShowAors'"

20 months 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

Change-Id: I19af23aeeded65be016be92360e8cb7ffe51fad2

20 months agoMerge "core: Use macros to generate ao2_container callbacks where possible."
Jenkins2 [Wed, 3 Jan 2018 13:50:36 +0000 (07:50 -0600)]
Merge "core: Use macros to generate ao2_container callbacks where possible."

20 months agoMerge "astobj2: Create case-insensitive variants of container function macros."
Jenkins2 [Wed, 3 Jan 2018 13:32:15 +0000 (07:32 -0600)]
Merge "astobj2: Create case-insensitive variants of container function macros."

20 months agoMerge "aco: Add missing aco_option_type_string for OPT_TIMELEN_T."
Joshua Colp [Wed, 3 Jan 2018 13:09:38 +0000 (07:09 -0600)]
Merge "aco: Add missing aco_option_type_string for OPT_TIMELEN_T."

20 months agoMerge "cdr: submit: fix logic of test for batch mode"
Jenkins2 [Wed, 3 Jan 2018 12:43:47 +0000 (06:43 -0600)]
Merge "cdr: submit: fix logic of test for batch mode"

20 months agoMerge "cdr_mysql: Make sure connection charset is always set"
Joshua Colp [Tue, 2 Jan 2018 13:48:24 +0000 (07:48 -0600)]
Merge "cdr_mysql: Make sure connection charset is always set"

20 months agoMerge "stasis_channels.c: Misc cleanup."
Jenkins2 [Tue, 2 Jan 2018 13:38:44 +0000 (07:38 -0600)]
Merge "stasis_channels.c: Misc cleanup."

20 months 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

20 months agores_pjsip: Add AMI action 'PJSIPShowAors'
Sungtae Kim [Sat, 30 Dec 2017 05:14:00 +0000 (06:14 +0100)]
res_pjsip: Add AMI action 'PJSIPShowAors'

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


Change-Id: If8b990a00909e5b6c0f04a3b8dccd9903dc445eb

20 months 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.


Change-Id: I8f6c34bb30830be9f7a40823723eb4dcaaa91c61

20 months 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

20 months 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.


Change-Id: I11af8c6a0c43380a42732553f519c667abb842cf

20 months 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.

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

20 months agodatastore: Add automatic module references.
Corey Farrell [Fri, 29 Dec 2017 20:50:12 +0000 (15:50 -0500)]
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

20 months agoMerge "func_channel.c: Update MASTER_CHANNEL documentation"
Jenkins2 [Fri, 29 Dec 2017 19:40:31 +0000 (13:40 -0600)]
Merge "func_channel.c: Update MASTER_CHANNEL documentation"

20 months 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

20 months agoMerge "manager.c: Update AMI Status event documentation"
Jenkins2 [Thu, 28 Dec 2017 19:46:22 +0000 (13:46 -0600)]
Merge "manager.c: Update AMI Status event documentation"

20 months agoMerge "menuselect: Fix check for running configure."
Richard Mudgett [Thu, 28 Dec 2017 17:51:21 +0000 (11:51 -0600)]
Merge "menuselect: Fix check for running configure."

20 months agoMerge "astobj.h: Remove from Asterisk core."
Jenkins2 [Thu, 28 Dec 2017 17:15:11 +0000 (11:15 -0600)]
Merge "astobj.h: Remove from Asterisk core."

20 months agoMerge "cdr: Missing NULL check and unlock."
Jenkins2 [Thu, 28 Dec 2017 16:42:17 +0000 (10:42 -0600)]
Merge "cdr: Missing NULL check and unlock."

20 months 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

* 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

20 months 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

Change-Id: I004c4c4f9e7b40ef55035c831702721bec82496c

20 months 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 assignment outside of the channel lock.  It did not
need the lock's protection.  It probably was giving a false sense of

The testsuite
test caught this with MALLOC_DEBUG and DO_CRASH enabled.

Change-Id: If9e35b97d19209b0f984941c1d8eb5f7c55eea91

20 months 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


Change-Id: I453bcaf4b99404a5a3e345dbf093ac6c1afcfc72

20 months 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 so doesn't re-add the
extra trailing line-feed.

Change-Id: Ief1f831d6717007f9cebb668c14e92782cd2b794

20 months agocdr: Missing NULL check and unlock.
Corey Farrell [Fri, 22 Dec 2017 05:56:44 +0000 (00:56 -0500)]
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

20 months 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

20 months 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

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

20 months agoastobj.h: Remove from Asterisk core.
Corey Farrell [Fri, 22 Dec 2017 20:00:14 +0000 (15:00 -0500)]
astobj.h: Remove from Asterisk core.

This is the old ASTOBJ macro's which are no longer used except by the
deprecated netsock.c.  Move it to the chan_iax2 include folder so it
does not get used elsewhere.

Change-Id: I7e4ae96678b36b9f41d3cae14b167f110eb5d349

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

Change-Id: I873c1c6d00f447269bd841494459efccdd2c19c0

20 months agoMerge "Fix some invalid Unicode characters"
Jenkins2 [Fri, 22 Dec 2017 13:36:07 +0000 (07:36 -0600)]
Merge "Fix some invalid Unicode characters"

20 months agoMerge "app_voicemail: Fix file copy error handling."
Jenkins2 [Fri, 22 Dec 2017 13:32:58 +0000 (07:32 -0600)]
Merge "app_voicemail: Fix file copy error handling."

20 months 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

20 months agoMerge "Fix Common Typo's."
Jenkins2 [Thu, 21 Dec 2017 14:40:22 +0000 (08:40 -0600)]
Merge "Fix Common Typo's."

20 months agoMerge "docs: Remove old API changes documentation"
Joshua Colp [Thu, 21 Dec 2017 13:06:26 +0000 (07:06 -0600)]
Merge "docs: Remove old API changes documentation"

20 months agoMerge "app_festival: Fix fd leak on connection failure."
Jenkins2 [Thu, 21 Dec 2017 12:35:06 +0000 (06:35 -0600)]
Merge "app_festival: Fix fd leak on connection failure."

20 months agoMerge "bridge: Old channel video source not set to NULL after unref."
Joshua Colp [Thu, 21 Dec 2017 12:15:44 +0000 (06:15 -0600)]
Merge "bridge: Old channel video source not set to NULL after unref."

20 months agoMerge "core: Fix unused variable error in handle_show_sysinfo."
Jenkins2 [Thu, 21 Dec 2017 11:51:26 +0000 (05:51 -0600)]
Merge "core: Fix unused variable error in handle_show_sysinfo."

20 months 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

Change-Id: Iba5140b60cb7de79e3d5d92be3c256947aa99da9

20 months 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

20 months 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

20 months 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

20 months 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

20 months 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

20 months agoMerge "CLI: Address multiple issues."
Jenkins2 [Wed, 20 Dec 2017 14:54:58 +0000 (08:54 -0600)]
Merge "CLI: Address multiple issues."

20 months agoMerge "bridge: Stop music on hold on adding an arbitrary channel to a bridge"
Jenkins2 [Wed, 20 Dec 2017 14:34:51 +0000 (08:34 -0600)]
Merge "bridge: Stop music on hold on adding an arbitrary channel to a bridge"

20 months agoMerge "dns_core: Protect against array index violation."
Jenkins2 [Wed, 20 Dec 2017 14:00:29 +0000 (08:00 -0600)]
Merge "dns_core: Protect against array index violation."

20 months agoMerge "res_rtp_asterisk: Avoid close the rtp/rtcp fd twice."
Jenkins2 [Wed, 20 Dec 2017 13:55:33 +0000 (07:55 -0600)]
Merge "res_rtp_asterisk:  Avoid close the rtp/rtcp fd twice."

20 months 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

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

20 months agoMerge "Remove constant conditionals (dead-code)."
Jenkins2 [Wed, 20 Dec 2017 01:17:25 +0000 (19:17 -0600)]
Merge "Remove constant conditionals (dead-code)."

20 months 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
* 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

20 months agoMerge "core: Fix multiple trivial issues in the core."
Jenkins2 [Tue, 19 Dec 2017 20:46:02 +0000 (14:46 -0600)]
Merge "core: Fix multiple trivial issues in the core."

20 months agoMerge "chan_console: Use correct parameter for 'set active'"
George Joseph [Tue, 19 Dec 2017 20:20:19 +0000 (14:20 -0600)]
Merge "chan_console: Use correct parameter for 'set active'"

20 months agoMerge "main/app: Fix leaks."
George Joseph [Tue, 19 Dec 2017 20:19:42 +0000 (14:19 -0600)]
Merge "main/app: Fix leaks."

20 months agoMerge "app_queue: Add feature to set wrapuptime on the queue member"
George Joseph [Tue, 19 Dec 2017 20:15:48 +0000 (14:15 -0600)]
Merge "app_queue: Add feature to set wrapuptime on the queue member"

20 months agodns_core: Protect against array index violation.
Corey Farrell [Tue, 19 Dec 2017 04:48:52 +0000 (23:48 -0500)]
dns_core: Protect against array index violation.

Add a check to allocate_dns_record to prevent calling a pointer
retrieved from beyond dns_alloc_table.

ASTERISK-27495 #close

Change-Id: Ie2f6e4991cea46baa12e837bd64cc22b44d322bb

20 months 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

Change-Id: Ib11444de69c3d5b2360a88ba2feb54d2c2e9f05f

20 months agoMerge "func_callerid: Initialize app argument structures."
Jenkins2 [Tue, 19 Dec 2017 17:49:51 +0000 (11:49 -0600)]
Merge "func_callerid: Initialize app argument structures."

20 months 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

20 months agoMerge "bridge_softmix.c: Don't match dead streams."
Jenkins2 [Tue, 19 Dec 2017 17:12:22 +0000 (11:12 -0600)]
Merge "bridge_softmix.c: Don't match dead streams."

20 months agoMerge "rtp_engine.c: Eliminate rtcp_report_to_json() RAII_VAR usage."
Jenkins2 [Tue, 19 Dec 2017 16:51:07 +0000 (10:51 -0600)]
Merge "rtp_engine.c: Eliminate rtcp_report_to_json() RAII_VAR usage."

20 months agoMerge "bridge_softmix.c: Change remove_destination_streams() return meaning."
Jenkins2 [Tue, 19 Dec 2017 16:37:53 +0000 (10:37 -0600)]
Merge "bridge_softmix.c: Change remove_destination_streams() return meaning."

20 months agoMerge "ast_json_pack(): Use safer json ref mechanism."
Jenkins2 [Tue, 19 Dec 2017 16:23:41 +0000 (10:23 -0600)]
Merge "ast_json_pack(): Use safer json ref mechanism."

20 months agoMerge "app_voicemail: Fix memory management issues."
Jenkins2 [Tue, 19 Dec 2017 16:08:18 +0000 (10:08 -0600)]
Merge "app_voicemail: Fix memory management issues."

20 months agoMerge "bridge_softmix: Fix memory leaks."
George Joseph [Tue, 19 Dec 2017 15:51:25 +0000 (09:51 -0600)]
Merge "bridge_softmix: Fix memory leaks."

20 months 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

20 months 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

20 months 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 conditions in sdp.c and translate.c.
* Check new file descriptor is less than 0, not less than or equal.

Change-Id: Id7782775486175c739e0c4bf3ea5e17e3f452a99

21 months agores_rtp_asterisk: Avoid close the rtp/rtcp fd twice.
Aaron An [Mon, 18 Dec 2017 12:14:11 +0000 (20:14 +0800)]
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

21 months 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
* 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

21 months 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

21 months agobridge_softmix.c: Change remove_destination_streams() return meaning.
Richard Mudgett [Fri, 11 Aug 2017 22:02:07 +0000 (17:02 -0500)]
bridge_softmix.c: Change remove_destination_streams() return meaning.

The return value of remove_destination_streams() now means we removed a
stream from the topology by making it a dead stream.  Now we won't try to
request a topology change if we didn't remove any streams.

Change-Id: Icd91571d856a1d04299a24c411e325c1d9d5c61d

21 months agobridge_softmix.c: Don't match dead streams.
Richard Mudgett [Fri, 11 Aug 2017 21:57:33 +0000 (16:57 -0500)]
bridge_softmix.c: Don't match dead streams.

* Made is_video_source() and is_video_dest() not match dead streams.

* Optimized is_video_dest() to reduce duplicated code.

Change-Id: I4e7ab762c7ee98395e78e6516399f57a2609b9a1

21 months agobridge_softmix: Fix memory leaks.
Corey Farrell [Tue, 19 Dec 2017 00:40:08 +0000 (19:40 -0500)]
bridge_softmix: Fix memory leaks.

Change-Id: Ifaf3e93b398595d21d07f535330fef77ff15a80c

21 months agoast_json_pack(): Use safer json ref mechanism.
Richard Mudgett [Wed, 11 Nov 2015 23:20:38 +0000 (17:20 -0600)]
ast_json_pack(): Use safer json ref mechanism.

Change-Id: I49204db2e57ae96eee43909c18ed007c09ac817e