Commit Graph

29647 Commits

Author SHA1 Message Date
Jenkins2
eda4f59656 Merge "chan_sip: Fix memory leaks." into 13 2017-12-19 19:20:39 -06:00
Jenkins2
b539ea2a38 Merge "Remove constant conditionals (dead-code)." into 13 2017-12-19 19:13:20 -06:00
George Joseph
ee62652e2d Merge "chan_console: Use correct parameter for 'set active'" into 13 2017-12-19 16:14:03 -06:00
Jenkins2
dba037d422 Merge "main/app: Fix leaks." into 13 2017-12-19 14:10:02 -06:00
Corey Farrell
0e5d8ad09b 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
2017-12-19 13:48:39 -06:00
Jenkins2
909f41a2e0 Merge "func_callerid: Initialize app argument structures." into 13 2017-12-19 11:34:08 -06:00
Jenkins2
bde7c0420a Merge "rtp_engine.c: Eliminate rtcp_report_to_json() RAII_VAR usage." into 13 2017-12-19 11:04:03 -06:00
Oron Peled
fc86e58a5a 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
2017-12-19 10:58:37 -06:00
Jenkins2
c7bdffb281 Merge "ast_json_pack(): Use safer json ref mechanism." into 13 2017-12-19 10:02:19 -06:00
Corey Farrell
d6b2f457d9 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 08:52:33 -06:00
Corey Farrell
67b5a4e616 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 20:36:32 -06:00
Corey Farrell
3782230e00 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
2017-12-18 19:35:26 -06:00
Corey Farrell
1d636f4afa 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
2017-12-18 18:12:31 -06:00
Richard Mudgett
5801917a75 ast_json_pack(): Use safer json ref mechanism.
Change-Id: I49204db2e57ae96eee43909c18ed007c09ac817e
2017-12-18 18:05:32 -06:00
Richard Mudgett
46ed7afdd9 rtp_engine.c: Eliminate rtcp_report_to_json() RAII_VAR usage.
Change-Id: I58a22c2ca82e91d7537409b7b3af2d735827a54d
2017-12-18 18:02:51 -06:00
Joshua Colp
b14d165927 Merge "CLI: Fix 'core set debug channel' completion bug." into 13 2017-12-18 15:58:34 -06:00
Jenkins2
cbb71df228 Merge "CLI: Remove special handling of 'core set verbose' from rasterisk." into 13 2017-12-18 13:41:07 -06:00
Jenkins2
56a931f64c Merge "aco: Minimize use of regex." into 13 2017-12-18 13:32:31 -06:00
Jenkins2
b6d03c086b Merge "aco: Create ways to minimize use of regex." into 13 2017-12-18 13:14:07 -06:00
Corey Farrell
5cdc65cf1e CLI: Fix 'core set debug channel' completion bug.
The completion generator is missing a return so typing "core set debug
all off <tab>" causes the command to actually execute.

Change-Id: Ibf6462088a74eee66967732b50445783ebefc20b
2017-12-18 12:36:03 -06:00
Joshua Colp
9867219329 Merge "confbridge: Clarify mute sound documentation." into 13 2017-12-18 12:15:38 -06:00
George Joseph
43903f1e83 Merge "loader: Use vector to build apha sorted module lists." into 13 2017-12-18 10:24:49 -06:00
George Joseph
d6ea23d60e Merge "loader: Replace priority heap with vector." into 13 2017-12-18 10:24:43 -06:00
Jenkins2
232a61006c Merge "chan_pjsip.c: Improve ast_request() diagnostic msgs." into 13 2017-12-18 09:20:02 -06:00
Jenkins2
0fc61f23c6 Merge "chan_sip: Add security event for calls to invalid extension." into 13 2017-12-18 08:59:26 -06:00
Jenkins2
d1a68d90b0 Merge "cdr: Minor optimizations." into 13 2017-12-18 08:36:07 -06:00
George Joseph
1b50eb2d9f Merge "loader: Rework of load_dynamic_module." into 13 2017-12-18 08:29:36 -06:00
Joshua Colp
7f2df9e277 confbridge: Clarify mute sound documentation.
The mute/unmute sounds are only played when the
action is initiated using the DTMF menu.

ASTERISK-24756

Change-Id: I55b3dd5bc166096bf5e2f547ddd0ce355f36e3dc
2017-12-18 10:27:47 -04:00
Jenkins2
b270d5b5a2 Merge "loader: Minor fix to module registration." into 13 2017-12-18 07:48:17 -06:00
Joshua Colp
4cda942ebd app_transfer: Remove LOCAL from documentation.
The Local channel has never supported app_transfer
from what I can see so remove it from the documentation.

ASTERISK-25649

Change-Id: Icbcfe297f6f866285a26b3e9fd5c6d00fa22e0e9
2017-12-18 08:36:36 -04:00
Richard Mudgett
a368ad9229 chan_pjsip.c: Improve ast_request() diagnostic msgs.
Attempting to dial PJSIP/endpoint when the endpoint doesn't exist and
disable_multi_domain=no results in a misleading empty endpoint name
message.  The message should say the endpoint was not found.

* Added missing endpoint not found message.

* Added more information to the empty endpoint name msgs if available.

* Eliminated RAII_VAR in request().

Change-Id: I21da85ebd62dcc32115b2ffcb5157416ebae51e4
2017-12-15 19:01:02 -06:00
Jenkins2
e31e3b581b Merge "res_smdi: Fix shutdown ref." into 13 2017-12-15 12:31:47 -06:00
Jenkins2
ccb563d357 Merge "res_rtp_asterisk.c: Disable packet flood detection for video streams." into 13 2017-12-15 11:59:53 -06:00
Jenkins2
7d230e690c Merge "res_hep: hepv3_is_loaded() should check if we are enabled" into 13 2017-12-15 11:36:25 -06:00
Jenkins2
2ea359f738 Merge "res_clialiases: Fix completion pass-through." into 13 2017-12-15 11:24:17 -06:00
Jenkins2
1865b3d230 Merge "coverity: Fix warnings in res_smdi" into 13 2017-12-15 10:50:16 -06:00
Corey Farrell
b3b7367e6b cdr: Minor optimizations.
* bridge_candidate_process: remove SCOPED_AO2LOCK and return value.
* handle_standard_bridge_enter_message: replace recursive call with goto
  statement.

ASTERISK-24297

Change-Id: Id2eaa0822fb8dc799f63422bb3aa89de9d4ee2a2
2017-12-15 11:29:25 -05:00
Jenkins2
ab8ae8fa92 Merge "res_musiconhold: Start playlist after initial announcement" into 13 2017-12-15 10:12:30 -06:00
Jenkins2
7ad305bfef Merge "app_queue: Fix extension state subscriptions removed on dialplan reload" into 13 2017-12-15 09:49:07 -06:00
Corey Farrell
8921b2581d loader: Use vector to build apha sorted module lists.
Change-Id: I9c519f4dec3cda98b2f34d314255a31d49a6a467
2017-12-15 10:45:06 -05:00
Corey Farrell
d5a7a98528 loader: Replace priority heap with vector.
This is needed for future changes which will require being able to
process the load priority out of order.

Change-Id: Ia23421197f09789940510b03ebbbf3bf24d51bea
2017-12-15 10:45:01 -05:00
Corey Farrell
5e9d70ae5d loader: Rework of load_dynamic_module.
* Split off load_dlopen to perform actual dlopen, check results and log
  warnings when needed.
* Use flags which minimize number of calls to dlopen required.  First
  attempt always uses RTLD_GLOBAL when global_symbols_only is enabled,
  RTLD_LOCAL when it is not.

This patch significantly reduces the number of dlopen's performed.  With
299 modules my system ran dlopen 857 times before this patch, 655 times
after this patch.

Change-Id: Ib2c9903cfddcc01aed3e01c1e7fe4a3fb9af0f8b
2017-12-15 10:44:55 -05:00
Corey Farrell
4de95d4bf0 loader: Minor fix to module registration.
This protects the module loader itself against crashing if dlopen is
called on a module from outside loader.c.

* Expand scope of lock inside ast_module_register to include reading of
  resource_being_loaded.
* NULL check resource_being_loaded.
* Set resource_being_loaded NULL as soon as dlopen returns.  This fixes
  some error paths where it was not NULL'ed.
* Create module_destroy function to deduplicate code from
  ast_module_unregister and modules_shutdown.
* Resolve leak that occured if a module did not successfully register.
* Simplify checking for successful registration.

Change-Id: I40f07a315e55b92df4fc7faf525ed6d4f396e7d2
2017-12-15 10:44:26 -05:00
Corey Farrell
e3bd95f55c chan_sip: Add security event for calls to invalid extension.
Log a message to security events when an INVITE is received to an
invalid extension.

ASTERISK-25869 #close

Change-Id: I0da40cd7c2206c825c2f0d4e172275df331fcc8f
2017-12-15 10:32:12 -05:00
Corey Farrell
501f4dcdd8 aco: Minimize use of regex.
Remove nearly all use of regex from ACO users.  Still remaining:
* app_confbridge has a legitamate use of option name regex.
* ast_sorcery_object_fields_register is implemented with regex, all
  callers use simple prefix based regex.  I haven't decided the best
  way to fix this in both 13/15 and master.

Change-Id: Ib5ed478218d8a661ace4d2eaaea98b59a897974b
2017-12-15 10:20:51 -05:00
Corey Farrell
7413bcbeb5 aco: Create ways to minimize use of regex.
ACO uses regex in many situations where it is completely unneeded.  In
some cases this doubles the total processing performed by
aco_process_config.

* Create ACO_IGNORE category type for use in place of skip_category
  regex source string.
* Create additional aco_category_op values to allow specifying category
  filter using either a single plain string or a NULL terminated array
  of plain strings.
* Create ACO_PREFIX to allow matching option names to case insensitive
  prefixes.

Change-Id: I66a920dcd8e2b0301f73f968016440a985e72821
2017-12-15 10:19:41 -05:00
Corey Farrell
8165115faa res_smdi: Fix shutdown ref.
When adding shutdown refs for OPTIONAL_API components I accidentally
added it to the unload_module function in res_smdi.  Move it to
load_module.

Change-Id: I2b9da38fbc11ef78ea23dbb2df92b684be7f647c
2017-12-15 09:03:27 -05:00
Sean Bright
8338f3ec14 res_hep: hepv3_is_loaded() should check if we are enabled
res_hep_pjsip.so and res_hep_rtcp.so will still load and do a lot of
unnecessary work even if 'enabled' is set to 'no' in hep.conf.

Change-Id: I3eddfeea09c6b5bc7c641952ee0ae487fd09b64b
2017-12-14 19:55:28 -05:00
Jenkins2
7377927b18 Merge "pjsip: Ignore state changes from old transactions." into 13 2017-12-14 18:20:52 -06:00
Corey Farrell
85dec2ae4f res_clialiases: Fix completion pass-through.
Never ignore contents of line when generating completion options.

Change-Id: I74389efdfea154019d3b56a9f381610614c044c8
2017-12-14 15:31:48 -06:00