asterisk/asterisk.git
18 months agoMerge "pjproject: Add cache_pools debugging option."
Jenkins2 [Mon, 5 Mar 2018 14:09:11 +0000 (08:09 -0600)]
Merge "pjproject: Add cache_pools debugging option."

18 months agoMerge "gitreview: Reorder and add padding."
Jenkins2 [Thu, 1 Mar 2018 15:08:55 +0000 (09:08 -0600)]
Merge "gitreview: Reorder and add padding."

18 months agoMerge "res_pjsip_refer.c: Fix attended transfer race condition crash."
Jenkins2 [Thu, 1 Mar 2018 14:44:21 +0000 (08:44 -0600)]
Merge "res_pjsip_refer.c: Fix attended transfer race condition crash."

18 months agopjproject: Add cache_pools debugging option.
Richard Mudgett [Tue, 27 Feb 2018 21:40:18 +0000 (15:40 -0600)]
pjproject: Add cache_pools debugging option.

The pool cache gets in the way of finding use after free errors of memory
pool contents.  Tools like valgrind and MALLOC_DEBUG don't know when a
pool is released because it gets put into the cache instead of being
freed.

* Added the "cache_pools" option to pjproject.conf.  Disabling the option
helps track down pool content mismanagement when using valgrind or
MALLOC_DEBUG.  The cache gets in the way of determining if the pool
contents are used after free and who freed it.

To disable the pool caching simply disable the cache_pools option in
pjproject.conf and restart Asterisk.

Sample pjproject.conf setting:
[startup]
cache_pools=no

* Made current users of the caching pool factory initialization and
destruction calls call common routines to create and destroy cached pools.

ASTERISK-27704

Change-Id: I64d5befbaeed2532f93aa027a51eb52347d2b828

18 months agoMerge "Add extended properties to rtp_engine for RTP retransmission support."
Jenkins2 [Mon, 26 Feb 2018 01:19:53 +0000 (19:19 -0600)]
Merge "Add extended properties to rtp_engine for RTP retransmission support."

18 months agogitreview: Reorder and add padding.
Corey Farrell [Wed, 31 Jan 2018 17:48:08 +0000 (12:48 -0500)]
gitreview: Reorder and add padding.

Change-Id: I459dc320a8c9452a01eed6f403d786741587c890

18 months agoast_coredumper: Minor fixes
George Joseph [Fri, 23 Feb 2018 20:58:54 +0000 (13:58 -0700)]
ast_coredumper:  Minor fixes

* Fix --tarball-config so the option doesn't cause an error.

* Allow for missing /etc/os-release.

* Add a sleep between tarballing the coredump and removing the
  output directory to allow the filesystem to settle.

Change-Id: I73e03b13087978bcc7f6bc9f45753990f82d9d77

18 months agoAdd extended properties to rtp_engine for RTP retransmission support.
Ben Ford [Thu, 22 Feb 2018 20:27:26 +0000 (14:27 -0600)]
Add extended properties to rtp_engine for RTP retransmission support.

A couple of additional properties are needed in rtp_engine to enable
support for packet retransmission: AST_RTP_PROPERTY_RETRANS_RECV and
AST_RTP_PROPERTY_RETRANS_SEND. These will both be enabled automatically
if an endpoint has the webrtc option enabled. While this adds no
functionality currently, it will serve as a building block for future
changes for RTP retransmission support.

For more information, refer to the wiki page:
https://wiki.asterisk.org/wiki/display/AST/WebRTC+User+Experience+Improvements

Change-Id: Ic598acd042a045f9d10e5bdccb66f4efc9e587cc

18 months agoMerge "install_prereq: Update FreeBSD libraries."
Jenkins2 [Fri, 23 Feb 2018 15:19:06 +0000 (09:19 -0600)]
Merge "install_prereq: Update FreeBSD libraries."

18 months agoMerge "func_audiohookinherit: Remove deprecated module."
Joshua Colp [Fri, 23 Feb 2018 15:02:08 +0000 (09:02 -0600)]
Merge "func_audiohookinherit: Remove deprecated module."

18 months agoMerge "res_rtp_asterisk: Fix ICE candidate nomination"
George Joseph [Fri, 23 Feb 2018 14:26:50 +0000 (08:26 -0600)]
Merge "res_rtp_asterisk: Fix ICE candidate nomination"

18 months agores_pjsip_refer.c: Fix attended transfer race condition crash.
Richard Mudgett [Thu, 22 Feb 2018 19:53:20 +0000 (13:53 -0600)]
res_pjsip_refer.c: Fix attended transfer race condition crash.

The transferrer's session channel was destroyed by the transferrer's
serializer thread in a race condition with the transfer target's
serializer thread during an attended transfer.  The transfer target's
serializer was attempting to clean up a deferred end status on behalf of
the transferrer's channel when it should have passed the action to the
transferrer's serializer.  When the transfer target's serializer lost the
race then both threads wind up trying to end the transferrer's session.

* Push the ast_sip_session_end_if_deferred() call onto the transferrer's
serializer to avoid a race condition that results in a crash.  The
session_end() function that could be called by
ast_sip_session_end_if_deferred() really must be executed by the
transferrer's serializer to avoid this kind of crash.

ASTERISK-27568

Change-Id: Iacda724e7cb24d7520e49b2fd7e504aa398d7238

18 months agoMerge "bridge_simple.c: Fix stream topology handling."
Jenkins2 [Thu, 22 Feb 2018 19:34:41 +0000 (13:34 -0600)]
Merge "bridge_simple.c: Fix stream topology handling."

18 months agoinstall_prereq: Update FreeBSD libraries.
Alexander Traud [Sat, 17 Feb 2018 09:28:46 +0000 (10:28 +0100)]
install_prereq: Update FreeBSD libraries.

deleted
 autoconf gcc libsamplerate sqlite

changed
 binutils to libbfd
 freetds-devel to freetds
 gmime2 to gmime26
 mysql55-client to mysql57-client

added
 alsa-lib bison bzip2 cclient corosync doxygen libedit flex graphviz
 libhoard libical libilbc libltdl lua neon newt net-snmp
 openldap-client openssl patch pkgconf portaudio postgresql10-client
 python radcli speexdsp subversion uriparser xmlstarlet libzip

ASTERISK-27686

Change-Id: Ibe88c9b26e59c30d26cdb313a3ef01c9f37ac80d

18 months agofunc_audiohookinherit: Remove deprecated module.
Sean Bright [Thu, 22 Feb 2018 16:54:33 +0000 (11:54 -0500)]
func_audiohookinherit: Remove deprecated module.

Change-Id: Id52f719078a65c4b2eee7ab99d761eba6b6aed94

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.

ASTERISK-27659

Change-Id: I04a2705d2cb7df250769967bc59e2b397a49b797

18 months agobridge_simple.c: Fix stream topology handling.
Richard Mudgett [Tue, 20 Feb 2018 19:11:23 +0000 (13:11 -0600)]
bridge_simple.c: Fix stream topology handling.

The handling of stream topologies was not protected by channel locks in
simple_bridge_request_stream_topology_change().

* Fixed topology handling to be protected by channel locks where needed in
simple_bridge_request_stream_topology_change().

ASTERISK-27692

Change-Id: Ica5d78a6c7ecf4f0b95fb16de28d3889b32c4776

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
attribute.

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
value.

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.

ASTERISK-27618
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)

pjsip_distributor:
   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
   tdatas.

res_pjsip_session:
   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.

res_pjsip:
   ast_sip_send_response wasn't decrementing the ref count on error.

ASTERISK-27618
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.

ASTERISK-27618
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
processed.

ASTERISK-27640
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.

ASTERISK-27488

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 bootstrap.sh for Asterisk and menuselect."
Joshua Colp [Tue, 20 Feb 2018 11:11:29 +0000 (05:11 -0600)]
Merge "BuildSystem: Use single bootstrap.sh 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_rtp_asterisk: Fix ICE candidate nomination
Thomas Guebels [Mon, 19 Feb 2018 10:21:30 +0000 (11:21 +0100)]
res_rtp_asterisk: Fix ICE candidate nomination

If the ICE role is not set right away, we might have a role conflict
that stays undetected and ICE finishing with successful tests and no
candidate nominated. This was introduced by ASTERISK-27088.

To avoid this, we set the role as soon as before but only if the ICE
state permits it: still checking and not yet nominating candidates or
completed.

ASTERISK-27646

Change-Id: I5dbc69ad63cacbb067922850fbb113d479bd729c

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

19 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.

ASTERISK-27689

Change-Id: Ia3d2f282db6995be8c1c253b5d52f6038761e8af

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

This causes the root bootstrap.sh 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.

deleted
 jack sqlite

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

added
 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

ASTERISK-27684

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.

ASTERISK-27683

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.

ASTERISK-27680

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.

ASTERISK-27681
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.

ASTERISK-27677

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
clarity.

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
parameters.

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.

ASTERISK-27670

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.

ASTERISK-27595

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.

ASTERISK-27631

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
  allocators.
* 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.

ASTERISK-27666

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.

ASTERISK-27661

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 <http://github.com/BelledonneCommunications/bcg729> 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.

ASTERISK-27584
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.

ASTERISK-27669
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.

ASTERISK-27642

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.

ASTERISK-27555

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.

ASTERISK-27656

Change-Id: I48b4970663fea98baa262593d2204ef304aaf80e