Commit Graph

6371 Commits

Author SHA1 Message Date
Jenkins2 4b326eb289 Merge "editline: Avoid comparison between pointer and zero character constant." 2018-01-08 06:13:32 -06:00
Alexander Traud ad3252ccef editline: Avoid comparison between pointer and zero character constant.
gcc 7.2 warned about this.

ASTERISK-27559

Change-Id: I48960dda9cf0a11b6a9426f775e632363f8caa74
2018-01-06 13:45:28 +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
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 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 307abc4cad Merge "datastore: Add automatic module references." 2018-01-04 06:53:28 -06: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 84d0871380 Merge "core: Use macros to generate ao2_container callbacks where possible." 2018-01-03 07:50:36 -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
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
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 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
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
Jenkins2 50cf373be5 Merge "cdr: Missing NULL check and unlock." 2017-12-28 10:42:17 -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
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
Corey Farrell 23aa20bf20 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
2017-12-23 23:44:12 -06:00
Sean Bright fd0ca1c3f9 Remove as much trailing whitespace as possible.
Change-Id: I873c1c6d00f447269bd841494459efccdd2c19c0
2017-12-22 09:23:22 -05:00
Jenkins2 0100c9267e Merge "Fix Common Typo's." 2017-12-21 08:40:22 -06:00
Joshua Colp c7a0ad8b99 Merge "bridge: Old channel video source not set to NULL after unref." 2017-12-21 06:15:44 -06:00
Corey Farrell 1b80ffa495 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
2017-12-20 12:40:01 -05:00
Corey Farrell aaa3884d4a 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
2017-12-20 11:23:08 -05:00
Corey Farrell c2850bfebc 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
2017-12-20 11:13:13 -05:00
Jenkins2 4815be9aeb Merge "CLI: Address multiple issues." 2017-12-20 08:54:58 -06:00
Jenkins2 0b9396720a Merge "bridge: Stop music on hold on adding an arbitrary channel to a bridge" 2017-12-20 08:34:51 -06:00
Jenkins2 a711ac25f1 Merge "dns_core: Protect against array index violation." 2017-12-20 08:00:29 -06:00
Jenkins2 262eda7801 Merge "Remove constant conditionals (dead-code)." 2017-12-19 19:17:25 -06:00
Corey Farrell d51837a1b9 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
2017-12-19 16:43:49 -05:00
Jenkins2 204dd027dd Merge "core: Fix multiple trivial issues in the core." 2017-12-19 14:46:02 -06:00
George Joseph 88f7f4ebb6 Merge "main/app: Fix leaks." 2017-12-19 14:19:42 -06:00
Corey Farrell b8f54f742f 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
2017-12-19 14:50:11 -05:00
Ivan Poddubny 3b99a0332c 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
2017-12-19 18:17:52 +01:00
Jenkins2 6bd25cad86 Merge "rtp_engine.c: Eliminate rtcp_report_to_json() RAII_VAR usage." 2017-12-19 10:51:07 -06:00
Corey Farrell b3e839debd 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
2017-12-19 09:42:19 -05:00
Corey Farrell bf33a09c37 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
2017-12-19 00:36:24 -05:00
Corey Farrell 8dfc973d64 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
2017-12-18 21:04:31 -05:00
Richard Mudgett f6393b59af ast_json_pack(): Use safer json ref mechanism.
Change-Id: I49204db2e57ae96eee43909c18ed007c09ac817e
2017-12-18 18:05:29 -06:00
Richard Mudgett 7054fb8756 rtp_engine.c: Eliminate rtcp_report_to_json() RAII_VAR usage.
Change-Id: I58a22c2ca82e91d7537409b7b3af2d735827a54d
2017-12-18 18:02:09 -06:00
Jenkins2 11a1e07ad2 Merge "netsock: Remove from Asterisk core." 2017-12-18 17:40:22 -06:00
Jenkins2 7b127e2d20 Merge "CLI: Fix 'core set debug channel' completion bug." 2017-12-18 16:01:11 -06:00
George Joseph 08440fd1d9 Merge "CLI: Remove special handling of 'core set verbose' from rasterisk." 2017-12-18 14:42:39 -06:00