Commit Graph

29662 Commits

Author SHA1 Message Date
Alexander Traud
817622296d 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
2018-01-09 10:46:26 -06:00
Kevin Harwell
19f4c11523 Update for 13.19.0-rc2 13.19.0-rc2 2018-01-04 11:54:20 -05:00
Kevin Harwell
13f74973c8 Update for 13.19.0-rc2 2018-01-04 11:41:42 -05:00
Corey Farrell
e302e07567 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
(cherry picked from commit 92fb393cab)
2017-12-27 20:14:19 -06:00
Kevin Harwell
a474f24b42 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
(cherry picked from commit 53799318bc)
2017-12-22 16:06:49 -06:00
Richard Mudgett
f1f1d002ce Update for 13.19.0-rc1 13.19.0-rc1 2017-12-20 14:05:45 -05:00
Richard Mudgett
4f45748f52 manager.h: Bump AMI version
Change-Id: I62e6ddeb261ef012687e1fb6734c554e2499b6bf
2017-12-20 11:30:54 -06:00
Joshua Colp
616659d620 Merge "CLI: Address multiple issues." into 13 2017-12-20 08:34:37 -06:00
Jenkins2
b100233801 Merge "bridge: Stop music on hold on adding an arbitrary channel to a bridge" into 13 2017-12-20 08:11:54 -06:00
Jenkins2
2072057657 Merge "res_rtp_asterisk: Avoid close the rtp/rtcp fd twice." into 13 2017-12-20 07:47:22 -06:00
Joshua Colp
f1d50c0fb0 Merge "core: Fix multiple trivial issues in the core." into 13 2017-12-20 07:01:01 -06:00
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
Corey Farrell
9adffca9c7 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:32 -05:00
Aaron An
c38b750810 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
2017-12-19 15:16:02 -05:00
Jenkins2
dba037d422 Merge "main/app: Fix leaks." into 13 2017-12-19 14:10:02 -06:00
Ivan Poddubny
fef23297b7 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 20:52:09 +01: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
381ed4f1cc 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
2017-12-19 09:19:46 -05: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