18 months agoMerge "manager.c: Fix lseek() parameter order."
Jenkins2 [Thu, 22 Feb 2018 00:42:18 +0000 (18:42 -0600)]
Merge "manager.c: Fix lseek() parameter order."

18 months agoMerge "AST-2018-006: Properly handle WebSocket frames with 0 length payload."
Kevin Harwell [Wed, 21 Feb 2018 20:11:50 +0000 (14:11 -0600)]
Merge "AST-2018-006: Properly handle WebSocket frames with 0 length payload."

18 months agoMerge "AST-2018-003: Crash with an invalid SDP fmtp attribute"
Kevin Harwell [Wed, 21 Feb 2018 20:11:39 +0000 (14:11 -0600)]
Merge "AST-2018-003: Crash with an invalid SDP fmtp attribute"

18 months agoMerge "AST-2018-002: Crash with an invalid SDP media format description"
Kevin Harwell [Wed, 21 Feb 2018 20:11:29 +0000 (14:11 -0600)]
Merge "AST-2018-002: Crash with an invalid SDP media format description"

18 months agomanager.c: Fix lseek() parameter order.
Richard Mudgett [Wed, 21 Feb 2018 18:52:39 +0000 (12:52 -0600)]
manager.c: Fix lseek() parameter order.


Change-Id: I04a2705d2cb7df250769967bc59e2b397a49b797

18 months agoMerge "AST-2018-005: res_pjsip_transport_management: Move to core"
George Joseph [Wed, 21 Feb 2018 16:42:28 +0000 (10:42 -0600)]
Merge "AST-2018-005: res_pjsip_transport_management:  Move to core"

18 months agoMerge "AST-2018-005: Fix tdata leaks when calling pjsip_endpt_send_response(2)"
George Joseph [Wed, 21 Feb 2018 16:42:19 +0000 (10:42 -0600)]
Merge "AST-2018-005: Fix tdata leaks when calling pjsip_endpt_send_response(2)"

18 months agoMerge "AST-2018-005: Add a check for NULL tdata in ast_sip_failover_request"
George Joseph [Wed, 21 Feb 2018 16:42:07 +0000 (10:42 -0600)]
Merge "AST-2018-005: Add a check for NULL tdata in ast_sip_failover_request"

18 months agoMerge "AST-2018-001: rtp / channel: Don't allow an unnegotiated format to be passed...
Joshua Colp [Wed, 21 Feb 2018 16:38:49 +0000 (10:38 -0600)]
Merge "AST-2018-001: rtp / channel: Don't allow an unnegotiated format to be passed up."

18 months agoAST-2018-006: Properly handle WebSocket frames with 0 length payload.
Sean Bright [Mon, 5 Feb 2018 22:46:26 +0000 (17:46 -0500)]
AST-2018-006: Properly handle WebSocket frames with 0 length payload.

In ast_websocket_read() we were not adequately checking that the
payload_len was non-zero before passing it to ws_safe_read(). Calling
ws_safe_read with a len argument of 0 will result in a busy loop until
the underlying socket is closed.

ASTERISK-27658 #close

Change-Id: I9d59f83bc563f711df1a6197c57de473f6b0663a

18 months agoAST-2018-003: Crash with an invalid SDP fmtp attribute
Kevin Harwell [Wed, 31 Jan 2018 19:37:54 +0000 (13:37 -0600)]
AST-2018-003: Crash with an invalid SDP fmtp attribute

pjproject's fmtp retrieval function failed to catch invalid fmtp attributes.
Because of this Asterisk would crash if given an SDP with an invalid fmtp

When retrieving the format this patch now makes sure the fmtp attribute is
available. If not available it now returns an error status.

ASTERISK-27583 #close

Change-Id: I5cebe000ce2d846cae3af33b6d72c416e51caf2f

18 months agoAST-2018-002: Crash with an invalid SDP media format description
Kevin Harwell [Wed, 31 Jan 2018 19:33:16 +0000 (13:33 -0600)]
AST-2018-002: Crash with an invalid SDP media format description

pjproject's media format parsing algorithm failed to catch invalid values.
Because of this Asterisk would crash if given an SDP with a invalid media
format description.

When parsing the media format description this patch now properly parses the
value and returns an error status if it can't successfully parse/convert the

ASTERISK-27582 #close

Change-Id: I883b3a4ef85b6972397f7b56bf46c5779c55fdd6

18 months agoAST-2018-005: res_pjsip_transport_management: Move to core
George Joseph [Tue, 6 Feb 2018 18:07:18 +0000 (11:07 -0700)]
AST-2018-005: res_pjsip_transport_management:  Move to core

Since res_pjsip_transport_management provides several attack
mitigation features, its functionality moved to res_pjsip and
this module has been removed.  This way the features will always
be available if res_pjsip is loaded.

Reported By: Sandro Gauci

Change-Id: I21a2d33d9dda001452ea040d350d7a075f9acf0d

18 months agoAST-2018-005: Fix tdata leaks when calling pjsip_endpt_send_response(2)
George Joseph [Tue, 6 Feb 2018 17:28:49 +0000 (10:28 -0700)]
AST-2018-005: Fix tdata leaks when calling pjsip_endpt_send_response(2)

   authenticate() creates a tdata and uses it to send a challenge or
   failure response.  When pjsip_endpt_send_response2() succeeds, it
   automatically decrements the tdata ref count but when it fails, it
   doesn't.  Since we weren't checking for a return status, we weren't
   decrementing the count ourselves on error and were therefore leaking

   session_reinvite_on_rx_request wasn't decrementing the ref count
   if an error happened while sending a 491 response.
   pre_session_setup wasn't decrementing the ref count if
   while sending an error after a pjsip_inv_verify_request failure.

   ast_sip_send_response wasn't decrementing the ref count on error.

Reported By: Sandro Gauci

Change-Id: Iab33a6c7b6fba96148ed465b690ba8534ac961bf

18 months agoAST-2018-005: Add a check for NULL tdata in ast_sip_failover_request
George Joseph [Tue, 6 Feb 2018 17:21:32 +0000 (10:21 -0700)]
AST-2018-005: Add a check for NULL tdata in ast_sip_failover_request

It was discovered that there are some corner cases where a pjsip tsx
might have no last_tx so calling ast_sip_failover_request with
a NULL last_tx as its tdata would cause a crash.

Reported By:  Sandro Gauci

Change-Id: Ic2b63f6d4ae617c4c19dcdec2a7a6156b54fd15b

18 months agoAST-2018-004: Restrict the number of Accept headers in a SUBSCRIBE.
Joshua Colp [Wed, 7 Feb 2018 14:09:14 +0000 (14:09 +0000)]
AST-2018-004: Restrict the number of Accept headers in a SUBSCRIBE.

When receiving a SUBSCRIBE request the Accept headers from it are
stored locally. This operation has a fixed limit of 32 Accept headers
but this limit was not enforced. As a result it was possible for
memory outside of the allocated space to get written to resulting
in a crash.

This change enforces the limit so only 32 Accept headers are

Reported By: Sandro Gauci

Change-Id: I99a814b10b554b13a6021ccf41111e5bc95e7301

18 months agoAST-2018-001: rtp / channel: Don't allow an unnegotiated format to be passed up.
Joshua Colp [Sat, 13 Jan 2018 14:04:33 +0000 (14:04 +0000)]
AST-2018-001: rtp / channel: Don't allow an unnegotiated format to be passed up.

When an RTP packet is received by an RTP engine it has to map the
payload into the Asterisk format. The code was incorrectly checking
our own static list for ALL payloads if it couldn't find a negotiated one.
This included dynamic payloads. If the payload mapped to a format
of a different type (for example receiving a video packet on an audio
RTP instance) then the core stream code could cause a crash if a legacy
channel driver was in use as no stream would be present.

To provide further protection the core stream code will no longer assume
that a video or audio frame will always have a stream for legacy channel
drivers. If no stream is present the frame is dropped.


Change-Id: I022556f524ad8379ee73f14037040af17ea3316a

18 months agoMerge "channel.c: Fix typo."
Jenkins2 [Wed, 21 Feb 2018 12:47:33 +0000 (06:47 -0600)]
Merge "channel.c: Fix typo."

18 months agoMerge "res_http_websocket: Don't leak memory on read failure"
Jenkins2 [Tue, 20 Feb 2018 19:55:58 +0000 (13:55 -0600)]
Merge "res_http_websocket: Don't leak memory on read failure"

18 months agochannel.c: Fix typo.
Richard Mudgett [Tue, 20 Feb 2018 19:11:11 +0000 (13:11 -0600)]
channel.c: Fix typo.

Change-Id: I4eeedf89085697e81c354eb92d546686c67b0b5b

18 months agoMerge "doc/lang/language-criteria.txt: Link to wiki."
Jenkins2 [Tue, 20 Feb 2018 16:34:37 +0000 (10:34 -0600)]
Merge "doc/lang/language-criteria.txt: Link to wiki."

18 months agoMerge "core: Rename sounds_index.c to sounds.c."
Jenkins2 [Tue, 20 Feb 2018 13:05:55 +0000 (07:05 -0600)]
Merge "core: Rename sounds_index.c to sounds.c."

18 months agoMerge "BuildSystem: Allow newer autotools on OpenBSD."
Joshua Colp [Tue, 20 Feb 2018 12:20:52 +0000 (06:20 -0600)]
Merge "BuildSystem: Allow newer autotools on OpenBSD."

18 months agoMerge "config: Fix locking for extconfig reload."
Jenkins2 [Tue, 20 Feb 2018 12:14:08 +0000 (06:14 -0600)]
Merge "config: Fix locking for extconfig reload."

18 months agoMerge "BuildSystem: Use single for Asterisk and menuselect."
Joshua Colp [Tue, 20 Feb 2018 11:11:29 +0000 (05:11 -0600)]
Merge "BuildSystem: Use single for Asterisk and menuselect."

18 months agoMerge "BuildSystem: Fix a typo related to ./configure --prefix=<path> on OpenBSD."
Joshua Colp [Tue, 20 Feb 2018 11:11:14 +0000 (05:11 -0600)]
Merge "BuildSystem: Fix a typo related to ./configure --prefix=<path> on OpenBSD."

18 months agodoc/lang/language-criteria.txt: Link to wiki.
Corey Farrell [Tue, 20 Feb 2018 10:31:26 +0000 (05:31 -0500)]
doc/lang/language-criteria.txt: Link to wiki.

This document is out of date and is superseded by content on the
Asterisk wiki.

ASTERISK-24386 #close

Change-Id: Idbf95b27b096c205251e1bbb560c79224ba81822

18 months agoMerge "optional_api: Refactor to use vector's and standard allocators."
Jenkins2 [Tue, 20 Feb 2018 02:40:20 +0000 (20:40 -0600)]
Merge "optional_api: Refactor to use vector's and standard allocators."

18 months agoMerge "rtp_engine: Load format name / mime type in uppercase again."
Jenkins2 [Tue, 20 Feb 2018 02:00:24 +0000 (20:00 -0600)]
Merge "rtp_engine: Load format name / mime type in uppercase again."

18 months agoMerge "install_prereq: Update OpenBSD libraries."
Jenkins2 [Tue, 20 Feb 2018 01:19:32 +0000 (19:19 -0600)]
Merge "install_prereq: Update OpenBSD libraries."

18 months agoMerge "BuildSystem: Enable IMAP storage on OpenBSD."
Jenkins2 [Tue, 20 Feb 2018 00:09:11 +0000 (18:09 -0600)]
Merge "BuildSystem: Enable IMAP storage on OpenBSD."

18 months agoMerge "res_pjsip_header_funcs: Various cleanups"
Jenkins2 [Tue, 20 Feb 2018 00:02:32 +0000 (18:02 -0600)]
Merge "res_pjsip_header_funcs: Various cleanups"

18 months agoMerge "res_pjsip: Use pjsip_sip_uri.user_param instead of other_param"
Jenkins2 [Mon, 19 Feb 2018 14:54:56 +0000 (08:54 -0600)]
Merge "res_pjsip: Use pjsip_sip_uri.user_param instead of other_param"

18 months agores_http_websocket: Don't leak memory on read failure
Sean Bright [Sun, 18 Feb 2018 16:27:38 +0000 (11:27 -0500)]
res_http_websocket: Don't leak memory on read failure

Change-Id: Ic449ea832bc81a1671c0e910c5fbe8c683e3da89

18 months agoMerge "Deprecate legacy modules."
Jenkins2 [Mon, 19 Feb 2018 12:59:00 +0000 (06:59 -0600)]
Merge "Deprecate legacy modules."

18 months agoMerge "manager: Add AMI event Load/Unload"
Jenkins2 [Mon, 19 Feb 2018 12:43:27 +0000 (06:43 -0600)]
Merge "manager: Add AMI event Load/Unload"

18 months agoMerge "contrib/script/sip_to_pjsip: add support for realtime"
Jenkins2 [Mon, 19 Feb 2018 12:33:24 +0000 (06:33 -0600)]
Merge "contrib/script/sip_to_pjsip: add support for realtime"

18 months agoMerge "res_pjsip: Endpoint destruction does not free DTLS configuration"
Jenkins2 [Mon, 19 Feb 2018 12:23:35 +0000 (06:23 -0600)]
Merge "res_pjsip: Endpoint destruction does not free DTLS configuration"

18 months agocore: Rename sounds_index.c to sounds.c.
Corey Farrell [Mon, 19 Feb 2018 09:57:45 +0000 (04:57 -0500)]
core: Rename sounds_index.c to sounds.c.

This will make the source filename match the 'module reload sounds'
command.  This will allow conversion to a built-in module in Asterisk 16
without needing to redefine AST_MODULE.

Change-Id: Ifb8e489575b27eb33d8c0b6a531f266670557f6e

18 months agoconfig: Fix locking for extconfig reload.
Corey Farrell [Mon, 19 Feb 2018 08:49:45 +0000 (03:49 -0500)]
config: Fix locking for extconfig reload.

Expand locking to include full reload process for extconfig to ensure
nothing can read the config mappings between clearing and reloading.

Change-Id: I378316bad04f1b599ea82d0fef62b8978a644b92

18 months agores_pjsip_header_funcs: Various cleanups
Sean Bright [Thu, 15 Feb 2018 20:09:33 +0000 (15:09 -0500)]
res_pjsip_header_funcs: Various cleanups

 * Prefer strcasecmp() over stricmp()
 * Use a list with no lock since we never actually lock
 * Minor cleanups to error messages

Change-Id: I8446f44795ee8f3072e1c1f9193c6912dfc0c42b

19 months agortp_engine: Load format name / mime type in uppercase again.
Alexander Traud [Sat, 17 Feb 2018 14:49:15 +0000 (15:49 +0100)]
rtp_engine: Load format name / mime type in uppercase again.

This reverts a previous change partly.


Change-Id: Ia3d2f282db6995be8c1c253b5d52f6038761e8af

19 months agoBuildSystem: Use single for Asterisk and menuselect.
Corey Farrell [Fri, 16 Feb 2018 23:58:35 +0000 (18:58 -0500)]
BuildSystem: Use single for Asterisk and menuselect.

This causes the root script to generate configure scripts
for both Asterisk and menuselect.  This ensures that both configure
scripts are generated with the same version of autotools and avoids
situations where shared autoconf macros get modified without
regenerating the menuselect script.

Change-Id: I2bfd8537bbb63b3d46b11efabbb15eaaf9ef731a

19 months agoMerge "bridge_roles: Use a non-locking linked list where appropriate"
Jenkins2 [Fri, 16 Feb 2018 23:48:54 +0000 (17:48 -0600)]
Merge "bridge_roles: Use a non-locking linked list where appropriate"

19 months agores_pjsip: Endpoint destruction does not free DTLS configuration
Sean Bright [Fri, 16 Feb 2018 19:33:06 +0000 (14:33 -0500)]
res_pjsip: Endpoint destruction does not free DTLS configuration

ASTERISK-27679 #close
Reported by: Mak Dee

Change-Id: I89a2783a11be0763bf123d1619ed176b6225cf42

19 months agoinstall_prereq: Update OpenBSD libraries.
Alexander Traud [Fri, 16 Feb 2018 18:42:01 +0000 (19:42 +0100)]
install_prereq: Update OpenBSD libraries.

 jack sqlite

 freetds-0.63p1-msdblib to freetds
 mysql-client to mariadb-client

 bison bzip2 c-client doxygen e2fsprogs graphviz gsm libical jansson libltdl
 lua neon net-snmp libsrtp portaudio-svn postgresql-client python speexdsp
 subversion uriparser xmlstarlet
 fftw3 libsndfile


Change-Id: I26bdcb0a1d0e484a8dad1052da97f194aefd3370

19 months agoBuildSystem: Allow newer autotools on OpenBSD.
Alexander Traud [Fri, 16 Feb 2018 18:30:45 +0000 (19:30 +0100)]
BuildSystem: Allow newer autotools on OpenBSD.


Change-Id: I5ec9dafbb0c16b6f2740c641980bc2eaaf995624

19 months agoMerge "res_calendar: Specialized calendars depend on symbols of general calendar."
Jenkins2 [Fri, 16 Feb 2018 16:40:31 +0000 (10:40 -0600)]
Merge "res_calendar: Specialized calendars depend on symbols of general calendar."

19 months agocontrib/script/sip_to_pjsip: add support for realtime
Torrey Searle [Mon, 16 Oct 2017 12:36:50 +0000 (14:36 +0200)]
contrib/script/sip_to_pjsip: add support for realtime

Add a new script that can read from legacy realtime peers & generate
an sql file for populating pjsip endpoints, identify, and aor records.

ASTERISK-27348 #close

Change-Id: Idd3d7968a3c9c3ee7936d21acbdaf001b429bf65

19 months agoMerge "BuildSystem: Invoke ldconfig with previous path."
Jenkins2 [Fri, 16 Feb 2018 14:46:12 +0000 (08:46 -0600)]
Merge "BuildSystem: Invoke ldconfig with previous path."

19 months agoMerge "BuildSystem: Enable system provided libedit on OpenBSD."
Jenkins2 [Fri, 16 Feb 2018 14:02:30 +0000 (08:02 -0600)]
Merge "BuildSystem: Enable system provided libedit on OpenBSD."

19 months agoBuildSystem: Fix a typo related to ./configure --prefix=<path> on OpenBSD.
Alexander Traud [Fri, 16 Feb 2018 13:52:36 +0000 (14:52 +0100)]
BuildSystem: Fix a typo related to ./configure --prefix=<path> on OpenBSD.

Reported by: Stuart Henderson

Change-Id: Ieae8624f48b6ae78cf29930b9a45a3c842c7a764

19 months agoMerge "BuildSystem: Remove chan_h323 leftovers."
Jenkins2 [Fri, 16 Feb 2018 13:37:23 +0000 (07:37 -0600)]
Merge "BuildSystem: Remove chan_h323 leftovers."

19 months agores_calendar: Specialized calendars depend on symbols of general calendar.
Alexander Traud [Fri, 16 Feb 2018 11:58:17 +0000 (12:58 +0100)]
res_calendar: Specialized calendars depend on symbols of general calendar.


Change-Id: Ifb77912e424fe3710a025c18526fada673ec0b79

19 months agoBuildSystem: Enable IMAP storage on OpenBSD.
Alexander Traud [Fri, 16 Feb 2018 12:41:35 +0000 (13:41 +0100)]
BuildSystem: Enable IMAP storage on OpenBSD.

Reported by: Stuart Henderson

Change-Id: Ifb6b614acb251b695b9417d76510e73eb335b679

19 months agoBuildSystem: Enable system provided libedit on OpenBSD.
Alexander Traud [Fri, 16 Feb 2018 10:50:54 +0000 (11:50 +0100)]
BuildSystem: Enable system provided libedit on OpenBSD.


Change-Id: I0854e3616d1361ae9b6907d3d3444a02784ac62b

19 months agobridge_roles: Use a non-locking linked list where appropriate
Sean Bright [Thu, 15 Feb 2018 20:30:35 +0000 (15:30 -0500)]
bridge_roles: Use a non-locking linked list where appropriate

Also explicitly initialize with the AST_LIST_HEAD_NOLOCK_INIT macro for

Change-Id: I4bc39ec33bc3ff77e1a971a01ace87deb965be3f

19 months agores_pjsip: Use pjsip_sip_uri.user_param instead of other_param
Sean Bright [Thu, 15 Feb 2018 19:29:23 +0000 (14:29 -0500)]
res_pjsip: Use pjsip_sip_uri.user_param instead of other_param

There is a dedicated slot in the pjsip_sip_uri for the 'user'
parameter, so use that instead of adding to the list of generic URI

Change-Id: I0a0ce8a60ecee27489735bf56fd707719d8c2ed6

19 months agoMerge "BuildSystem: Do not warn when bash is not installed."
Joshua Colp [Thu, 15 Feb 2018 12:17:47 +0000 (06:17 -0600)]
Merge "BuildSystem: Do not warn when bash is not installed."

19 months agoMerge "main/asterisk.c: Remove silly usage of RAII_VAR."
Jenkins2 [Wed, 14 Feb 2018 18:55:18 +0000 (12:55 -0600)]
Merge "main/asterisk.c: Remove silly usage of RAII_VAR."

19 months agoBuildSystem: Remove chan_h323 leftovers.
Alexander Traud [Mon, 12 Feb 2018 13:37:41 +0000 (14:37 +0100)]
BuildSystem: Remove chan_h323 leftovers.


Change-Id: I07a8ef8bbd6001e25711fa1bff152eb6c9efa729

19 months agoBuildSystem: Invoke ldconfig with previous path.
Alexander Traud [Wed, 17 Jan 2018 14:17:38 +0000 (15:17 +0100)]
BuildSystem: Invoke ldconfig with previous path.

On OpenBSD, gmake uninstall{-all} registered only libraries from /usr/lib and
lost those from /usr/local/lib. Instead, invoke ldconfig on a path.


Change-Id: I4aa2c0b5e07119d1a556f8ff6349eaf09e986888

19 months agoDeprecate legacy modules.
Corey Farrell [Fri, 22 Dec 2017 21:27:52 +0000 (16:27 -0500)]
Deprecate legacy modules.

* app_fax (replaced by res_fax).
* res_config_sqlite (replaced by res_config_sqlite3).
* res_monitor (replaced by app_mixmonitor).

This is related to ASTERISK~23657 but does not resolve that ticket.
Resolving that ticket would require complete removal of res_monitor.

ASTERISK-27671 #close

Change-Id: I16a3edd61fc1abd4a7b2e9357693ed663f62dd49

19 months agoBuildSystem: Do not warn when bash is not installed.
Alexander Traud [Sun, 28 Jan 2018 09:02:41 +0000 (10:02 +0100)]
BuildSystem: Do not warn when bash is not installed.


Change-Id: Iefdf268b0b98c3e7d8089ba87cf78136ac1d785b

19 months agoMerge "core: Remove embedded editline."
Jenkins2 [Tue, 13 Feb 2018 14:22:28 +0000 (08:22 -0600)]
Merge "core: Remove embedded editline."

19 months agoMerge "chan_sip.c: Fix crash processing CANCEL."
Jenkins2 [Tue, 13 Feb 2018 13:59:48 +0000 (07:59 -0600)]
Merge "chan_sip.c: Fix crash processing CANCEL."

19 months agoMerge "json: Add conditionals to avoid locking if Jansson is thread safe."
Joshua Colp [Tue, 13 Feb 2018 13:30:35 +0000 (07:30 -0600)]
Merge "json: Add conditionals to avoid locking if Jansson is thread safe."

19 months agoMerge "BuildSystem: Enable autotools in FreeBSD."
Jenkins2 [Tue, 13 Feb 2018 13:07:59 +0000 (07:07 -0600)]
Merge "BuildSystem: Enable autotools in FreeBSD."

19 months agoMerge "pjproject_bundled: Disable G.729 from Belledonne Communications."
Joshua Colp [Tue, 13 Feb 2018 13:05:36 +0000 (07:05 -0600)]
Merge "pjproject_bundled: Disable G.729 from Belledonne Communications."

19 months agoMerge "codecs: Add support for WebRTC iLBC 2.0."
Joshua Colp [Tue, 13 Feb 2018 12:37:35 +0000 (06:37 -0600)]
Merge "codecs: Add support for WebRTC iLBC 2.0."

19 months agomain/asterisk.c: Remove silly usage of RAII_VAR.
Corey Farrell [Tue, 13 Feb 2018 04:15:41 +0000 (23:15 -0500)]
main/asterisk.c: Remove silly usage of RAII_VAR.

Change-Id: I7e2996397fbd3c3a6a69dd805c38448ddfc34ae9

19 months agooptional_api: Refactor to use vector's and standard allocators.
Corey Farrell [Tue, 26 Dec 2017 01:32:53 +0000 (20:32 -0500)]
optional_api: Refactor to use vector's and standard allocators.

* Replace ad-hoc array management with macro's from vector.h.
* Remove redundent logger messages.
* Use normal Asterisk allocators instead of directly using libc
* Free memory when an API has no implementation or users.

Change-Id: Ic6ecb31798d4a78e7df39ece86a68b60eac05bf5

19 months agochan_sip.c: Fix crash processing CANCEL.
Richard Mudgett [Sun, 11 Feb 2018 21:27:49 +0000 (15:27 -0600)]
chan_sip.c: Fix crash processing CANCEL.

Check if initreq data string exists before using it when processing a
CANCEL request.


Change-Id: Id1d0f0fa4ec94e81b332b2973d93e5a14bb4cc97

19 months agoMerge "cdr.c: Fix runtime leak of CDR records."
Jenkins2 [Mon, 12 Feb 2018 22:03:46 +0000 (16:03 -0600)]
Merge "cdr.c: Fix runtime leak of CDR records."

19 months agomanager: Add AMI event Load/Unload
Sungtae Kim [Tue, 6 Feb 2018 20:27:55 +0000 (21:27 +0100)]
manager: Add AMI event Load/Unload

Add an AMI events Load and Unload for notify when the
module has been loaded and unloaded.


Change-Id: Ib916c41eddd63651952998f2f49c57c42ef87a64

19 months agojson: Add conditionals to avoid locking if Jansson is thread safe.
Corey Farrell [Wed, 31 Jan 2018 02:31:51 +0000 (21:31 -0500)]
json: Add conditionals to avoid locking if Jansson is thread safe.

Jansson is thread safe for all read-only functions and reference
counting starting v2.11.  This allows simplification of our code and
removal of locking around reference counting and dumping.

Change-Id: Id985cb3ffa6681f9ac765642e20fcd187bd4aeee

19 months agoMerge "install_prereq: Update Debian/Ubuntu libraries."
Jenkins2 [Mon, 12 Feb 2018 16:09:27 +0000 (10:09 -0600)]
Merge "install_prereq: Update Debian/Ubuntu libraries."

19 months agopjproject_bundled: Disable G.729 from Belledonne Communications.
Alexander Traud [Mon, 12 Feb 2018 12:16:00 +0000 (13:16 +0100)]
pjproject_bundled: Disable G.729 from Belledonne Communications.

When <> is installed, PJProject
tries to link that. Support for this bcg729 was added with PJProject 2.7. The
issue happens, because Teluu enabled that new feature on default.

Reported by: Stuart Henderson

Change-Id: I88b6b18ad777bcfe2d8201187b4b90eec0a172a6

19 months agocodecs: Add support for WebRTC iLBC 2.0.
Alexander Traud [Mon, 12 Feb 2018 11:38:21 +0000 (12:38 +0100)]
codecs: Add support for WebRTC iLBC 2.0.

When the latest version of that library was installed, Asterisk did not build.

Reported by: Николай Михо

Change-Id: I27e09bb875fdd56423bd9fae1be85fddb428eb96

19 months agocore: Remove embedded editline.
Corey Farrell [Mon, 12 Feb 2018 07:26:56 +0000 (02:26 -0500)]
core: Remove embedded editline.

This removes the embedded copy of editline from the Asterisk source
tree, making a system copy of libedit mandatory in Asterisk 16+.

ASTERISK-27634 #close

Change-Id: Iedb64ad92acb78419f3caefedaa2bb7cd2a1a33f

19 months agobacktrace: Avoid potential spurious output.
Alexander Traud [Tue, 30 Jan 2018 15:58:30 +0000 (16:58 +0100)]
backtrace: Avoid potential spurious output.

clang 4.0 found this via -Wlogical-not-parentheses.


Change-Id: I9ec3e144d425a976c02811bd23cd0c533d2eca4e

19 months agoinstall_prereq: Update Debian/Ubuntu libraries.
Alexander Traud [Sat, 10 Feb 2018 11:39:45 +0000 (12:39 +0100)]
install_prereq: Update Debian/Ubuntu libraries.


Change-Id: Idc36e91db30c0163c560d04c5a82bca5d6ce92a8

19 months agocdr.c: Fix runtime leak of CDR records.
Richard Mudgett [Fri, 9 Feb 2018 18:06:08 +0000 (12:06 -0600)]
cdr.c: Fix runtime leak of CDR records.

Need to remove all CDR's listed by a CDR object from the active_cdrs_all
container including the root/master record.


Change-Id: I48b4970663fea98baa262593d2204ef304aaf80e

19 months agoMerge "chan_console: don't read and write at the same time"
Jenkins2 [Fri, 9 Feb 2018 15:31:16 +0000 (09:31 -0600)]
Merge "chan_console: don't read and write at the same time"

19 months agoMerge "app_confbridge: ConfbridgeList event has standard channel shapshot headers."
Jenkins2 [Wed, 7 Feb 2018 12:42:20 +0000 (06:42 -0600)]
Merge "app_confbridge: ConfbridgeList event has standard channel shapshot headers."

19 months agoMerge "app_confbridge: Add the Muted header to ConfbridgeJoin AMI event."
Jenkins2 [Wed, 7 Feb 2018 12:04:05 +0000 (06:04 -0600)]
Merge "app_confbridge: Add the Muted header to ConfbridgeJoin AMI event."

19 months agoMerge "endpoint identifiers: Some code cleanup."
Jenkins2 [Tue, 6 Feb 2018 11:40:14 +0000 (05:40 -0600)]
Merge "endpoint identifiers: Some code cleanup."

19 months agoMerge "res_pjsip/config_domain_aliases.c: Add check for missing domain."
Jenkins2 [Mon, 5 Feb 2018 22:11:20 +0000 (16:11 -0600)]
Merge "res_pjsip/config_domain_aliases.c: Add check for missing domain."

19 months agoapp_confbridge: ConfbridgeList event has standard channel shapshot headers.
Richard Mudgett [Wed, 31 Jan 2018 23:48:46 +0000 (17:48 -0600)]
app_confbridge: ConfbridgeList event has standard channel shapshot headers.

* Made the AMI ConfbridgeList action's ConfbridgeList events output all
the standard channel snapshot headers instead of a few hand-coded channel
snapshot headers.  The benefit is that the CallerIDName gets disruptive
characters like CR, LF, Tab, and a few others escaped.  However, an empty
CallerIDName is now output as "<unknown>" instead of "<no name>".


Change-Id: Iaf7d54a9d40194c2db060bc9b4979fab6720d977

19 months agoapp_confbridge: Add the Muted header to ConfbridgeJoin AMI event.
Richard Mudgett [Wed, 31 Jan 2018 21:45:42 +0000 (15:45 -0600)]
app_confbridge: Add the Muted header to ConfbridgeJoin AMI event.


Change-Id: Idef2ca54d242d1b894efd3fc7b360bc6fd5bdc34

19 months agoMerge "res_sorcery_realtime.c: Fix ref leak if object failed to apply."
Jenkins2 [Mon, 5 Feb 2018 19:05:40 +0000 (13:05 -0600)]
Merge "res_sorcery_realtime.c: Fix ref leak if object failed to apply."

19 months agoMerge "manager.c: Fixed "(null):" header in AMI AsyncAGIEnd event"
Jenkins2 [Mon, 5 Feb 2018 18:23:19 +0000 (12:23 -0600)]
Merge "manager.c: Fixed "(null):" header in AMI AsyncAGIEnd event"

19 months agoMerge "res_pjsip.c: Fix documentation typos."
Jenkins2 [Sat, 3 Feb 2018 16:52:58 +0000 (10:52 -0600)]
Merge "res_pjsip.c: Fix documentation typos."

19 months agoMerge "manager_channels.c: Reordered ast_manager_build_channel_state_string_prefix()"
Jenkins2 [Sat, 3 Feb 2018 16:26:55 +0000 (10:26 -0600)]
Merge "manager_channels.c: Reordered ast_manager_build_channel_state_string_prefix()"

19 months agoMerge "res_pjsip_mwi.c: Fix null pointer crash"
Jenkins2 [Sat, 3 Feb 2018 16:06:32 +0000 (10:06 -0600)]
Merge "res_pjsip_mwi.c: Fix null pointer crash"

19 months agoMerge "manager.c: Fix potential memory leak and corruption."
Jenkins2 [Sat, 3 Feb 2018 15:41:42 +0000 (09:41 -0600)]
Merge "manager.c: Fix potential memory leak and corruption."

19 months agochan_console: don't read and write at the same time
Oron Peled [Tue, 19 Dec 2017 08:52:54 +0000 (10:52 +0200)]
chan_console: don't read and write at the same time

It seems that the ALSA backend of PortAudio doesn't know how to both
read and write at the same time by adding a per-device mutex.

FIXME: currently only a draft version. Need to either auto-detect
we work with the ALSA backend or add an extra configuration option
to use this mutex.

ASTERISK-27426 #close

Change-Id: I635eacee45f5413faa18f5a3b606af03b926dacb

19 months agoendpoint identifiers: Some code cleanup.
Richard Mudgett [Fri, 2 Feb 2018 23:35:20 +0000 (17:35 -0600)]
endpoint identifiers: Some code cleanup.

* Fix copy/paste error in find_endpoint().  We were using a constant
"anonymous" string instead of the passed in endpoint_name when checking
the transport domain for an endpoint match.
* Eliminate RAII_VAR in find_endpoint().
* Remove always true check in find_transport_state_in_use().
* Remove useless CMD_STOP in find_transport_state_in_use().

* Eliminate RAII_VAR in anonymous_identify().
* Remove always true check in find_transport_state_in_use().
* Remove useless CMD_STOP in find_transport_state_in_use().

Change-Id: I86924c31db5bd225ca0c1219c761b668c6f91189

19 months agores_pjsip/config_domain_aliases.c: Add check for missing domain.
Richard Mudgett [Fri, 2 Feb 2018 23:20:55 +0000 (17:20 -0600)]
res_pjsip/config_domain_aliases.c: Add check for missing domain.

What is the point of defining an alias and not saying what is being

Change-Id: I98a892016ed61dcf5efeb6619fd748925103f0be

19 months agores_pjsip.c: Fix documentation typos.
Richard Mudgett [Fri, 2 Feb 2018 21:11:27 +0000 (15:11 -0600)]
res_pjsip.c: Fix documentation typos.

Change-Id: I82ae0b92bfa2ece84a5c684efd9eefdc83ebd068