]> git.ipfire.org Git - thirdparty/asterisk.git/log
thirdparty/asterisk.git
7 years agopjsip: Add patch to allow all transports to be destroyed.
Joshua Colp [Fri, 10 Nov 2017 13:06:38 +0000 (13:06 +0000)] 
pjsip: Add patch to allow all transports to be destroyed.

If a transport is created with the same transport type, source
IP address, and source port as one that already exists the old
transport is moved into a linked list called "tp_list".

If this old transport is later shutdown it will not be destroyed
as the process checks whether the transport is valid or not. This
check does not look at the "tp_list" when making the determination
causing the transport to not be destroyed.

This change updates the logic to query not just the main storage
method for transports but also the "tp_list".

Upstream issue https://trac.pjsip.org/repos/ticket/2061

ASTERISK-27411

Change-Id: Ic5c2bb60226df0ef1c8851359ed8d4cd64469429

7 years agoMerge "stasis_bridges.c: Fix off-nominal json memory leaks." into 13
Jenkins2 [Thu, 9 Nov 2017 23:44:16 +0000 (17:44 -0600)] 
Merge "stasis_bridges.c: Fix off-nominal json memory leaks." into 13

7 years agoMerge "res_pjsip_registrar.c: Fix named AOR and pjproject group deadlock." into 13
Kevin Harwell [Thu, 9 Nov 2017 17:48:49 +0000 (11:48 -0600)] 
Merge "res_pjsip_registrar.c: Fix named AOR and pjproject group deadlock." into 13

7 years agoMerge "res_pjsip_history: Fix multiple leaks on vector append failure." into 13
Joshua Colp [Thu, 9 Nov 2017 09:44:21 +0000 (03:44 -0600)] 
Merge "res_pjsip_history: Fix multiple leaks on vector append failure." into 13

7 years agoMerge "res_pjsip_pubsub: Fix multiple leaks on failure to append vectors." into 13
Jenkins2 [Thu, 9 Nov 2017 02:56:26 +0000 (20:56 -0600)] 
Merge "res_pjsip_pubsub: Fix multiple leaks on failure to append vectors." into 13

7 years agoMerge "AST-2017-009: pjproject: Add validation of numeric header values" into 13
George Joseph [Wed, 8 Nov 2017 15:52:22 +0000 (09:52 -0600)] 
Merge "AST-2017-009: pjproject: Add validation of numeric header values" into 13

7 years agoMerge "AST-2017-011 - res_pjsip_session: session leak when a call is rejected" into 13
George Joseph [Wed, 8 Nov 2017 15:44:40 +0000 (09:44 -0600)] 
Merge "AST-2017-011 - res_pjsip_session: session leak when a call is rejected" into 13

7 years agoMerge "AST-2017-010: Fix cdr_object_update_party_b_userfield_cb() buf overrun" into 13
George Joseph [Wed, 8 Nov 2017 14:26:10 +0000 (08:26 -0600)] 
Merge "AST-2017-010: Fix cdr_object_update_party_b_userfield_cb() buf overrun" into 13

7 years agoMerge "res_pjproject.c: Fix ast_strdup() alloc failure." into 13
Jenkins2 [Wed, 8 Nov 2017 13:06:15 +0000 (07:06 -0600)] 
Merge "res_pjproject.c: Fix ast_strdup() alloc failure." into 13

7 years agoMerge "res_pjsip_outbound_registration: Fix leak on vector add failure." into 13
Jenkins2 [Wed, 8 Nov 2017 13:03:37 +0000 (07:03 -0600)] 
Merge "res_pjsip_outbound_registration: Fix leak on vector add failure." into 13

7 years agoAST-2017-011 - res_pjsip_session: session leak when a call is rejected
Kevin Harwell [Thu, 19 Oct 2017 18:35:16 +0000 (13:35 -0500)] 
AST-2017-011 - res_pjsip_session: session leak when a call is rejected

A previous commit made it so when an invite session transitioned into a
disconnected state destruction of the Asterisk pjsip session object was
postponed until either a transport error occurred or the event timer
expired. However, if a call was rejected (for instance a 488) before the
session was fully established the event timer may not have been initiated,
or it was canceled without triggering either of the session finalizing states
mentioned above.

Really the only time destruction of the session should be delayed is when a
BYE is being transacted. This is because it's possible in some cases for the
session to be disconnected, but the BYE is still transacting.

This patch makes it so the session object always gets released (no more
memory leak) when the pjsip session is in a disconnected state. Except when
the method is a BYE. Then it waits until a transport error occurs or an event
timeout.

ASTERISK-27345 #close

Reported by: Corey Farrell

Change-Id: I1e724737b758c20ac76d19d3611e3d2876ae10ed

7 years agoAST-2017-010: Fix cdr_object_update_party_b_userfield_cb() buf overrun
Richard Mudgett [Tue, 3 Oct 2017 21:19:52 +0000 (16:19 -0500)] 
AST-2017-010: Fix cdr_object_update_party_b_userfield_cb() buf overrun

cdr_object_update_party_b_userfield_cb() could overrun the fixed buffer if
the supplied string is too long.  The long string could be supplied by
external means using the CDR(userfield) function.

This may seem reminiscent to AST-2017-001 (ASTERISK_26897) and it is.  The
earlier patch fixed the buffer overrun for Party A's userfield while this
patch fixes the same thing for Party B's userfield.

ASTERISK-27337

Change-Id: I0fa767f65ecec7e676ca465306ff9e0edbf3b652

7 years agoAST-2017-009: pjproject: Add validation of numeric header values
George Joseph [Thu, 19 Oct 2017 18:53:32 +0000 (12:53 -0600)] 
AST-2017-009: pjproject: Add validation of numeric header values

Parsing the numeric header fields like cseq, ttl, port, etc. all
had the potential to overflow, either causing unintended values to
be captured or, if the values were subsequently converted back to
strings, a buffer overrun.  To address this, new "strto" functions
have been created that do range checking and those functions are
used wherever possible in the parser.

 * Created pjlib/include/limits.h and pjlib/include/compat/limits.h
   to either include the system limits.h or define common numeric
   limits if there is no system limits.h.

 * Created strto*_validate functions in sip_parser that take bounds
   and on failure call the on_str_parse_error function which prints
   an error message and calls PJ_THROW.

 * Updated sip_parser to validate the numeric fields.

 * Fixed an issue in sip_transport that prevented error messages
   from being properly displayed.

 * Added "volatile" to some variables referenced in PJ_CATCH blocks
   as the optimizer was sometimes optimizing them away.

 * Fixed length calculation in sip_transaction/create_tsx_key_2543
   to account for signed ints being 11 characters, not 9.

ASTERISK-27319
Reported by: Youngsung Kim at LINE Corporation

Change-Id: I48de2e4ccf196990906304e8d7061f4ffdd772ff

7 years agoMerge "res_stasis: Fix multiple leaks." into 13
Joshua Colp [Wed, 8 Nov 2017 10:59:15 +0000 (04:59 -0600)] 
Merge "res_stasis: Fix multiple leaks." into 13

7 years agoMerge "res_pjsip_config_wizard: Fix leaks and add check for malloc failure." into 13
Jenkins2 [Wed, 8 Nov 2017 04:48:08 +0000 (22:48 -0600)] 
Merge "res_pjsip_config_wizard: Fix leaks and add check for malloc failure." into 13

7 years agores_pjsip_pubsub: Fix multiple leaks on failure to append vectors.
Corey Farrell [Mon, 6 Nov 2017 23:58:40 +0000 (18:58 -0500)] 
res_pjsip_pubsub: Fix multiple leaks on failure to append vectors.

Change-Id: I68ece0073ea79667ca41eb10405f516f1d30d482

7 years agores_pjsip_history: Fix multiple leaks on vector append failure.
Corey Farrell [Tue, 7 Nov 2017 00:12:13 +0000 (19:12 -0500)] 
res_pjsip_history: Fix multiple leaks on vector append failure.

Change-Id: I41e8d5183ace284095cc721f3b1fb32ade3f940f

7 years agoMerge "res_pjsip: Fix leak on error in ast_sip_auth_vector_init." into 13
Jenkins2 [Tue, 7 Nov 2017 23:38:38 +0000 (17:38 -0600)] 
Merge "res_pjsip: Fix leak on error in ast_sip_auth_vector_init." into 13

7 years agoMerge "test_sorcery_memory_cache_thrash: Handle error from vector append." into 13
Jenkins2 [Tue, 7 Nov 2017 22:48:42 +0000 (16:48 -0600)] 
Merge "test_sorcery_memory_cache_thrash: Handle error from vector append." into 13

7 years agoMerge "stasis: Release object if vector append fails." into 13
Jenkins2 [Tue, 7 Nov 2017 22:11:13 +0000 (16:11 -0600)] 
Merge "stasis: Release object if vector append fails." into 13

7 years agoMerge "format_cap: Fix leak on AST_VECTOR_APPEND error." into 13
Joshua Colp [Tue, 7 Nov 2017 20:32:15 +0000 (14:32 -0600)] 
Merge "format_cap: Fix leak on AST_VECTOR_APPEND error." into 13

7 years agoMerge "Messaging: Report error on failure to register tech or handler." into 13
Joshua Colp [Tue, 7 Nov 2017 20:31:59 +0000 (14:31 -0600)] 
Merge "Messaging: Report error on failure to register tech or handler." into 13

7 years agoMerge "CLI: Remove unused internal command." into 13
Jenkins2 [Tue, 7 Nov 2017 18:47:42 +0000 (12:47 -0600)] 
Merge "CLI: Remove unused internal command." into 13

7 years agoMerge "res_pjsip: Avoid crash when contact uri is empty string" into 13
Joshua Colp [Tue, 7 Nov 2017 18:04:41 +0000 (12:04 -0600)] 
Merge "res_pjsip:  Avoid crash when contact uri is empty string" into 13

7 years agores_pjsip_registrar.c: Fix named AOR and pjproject group deadlock.
Richard Mudgett [Mon, 6 Nov 2017 22:37:49 +0000 (16:37 -0600)] 
res_pjsip_registrar.c: Fix named AOR and pjproject group deadlock.

One of the patches for ASTERISK_27147 introduced a deadlock regression.
When the connection oriented transport shut down, the code attempted to
remove the associated contact.  However, that same transport had just
requested a registration that we hadn't responded to yet.  Depending
upon timing we could deadlock.

* Made send the REGISTER response after we completed processing the
request contacts and released the named AOR lock to avoid the deadlock.

ASTERISK-27391

Change-Id: I89a90f87cb7a02facbafb44c75d8845f93417364

7 years agoMerge "res_pjsip: Ignore empty TLS configuration" into 13
Jenkins2 [Tue, 7 Nov 2017 16:29:42 +0000 (10:29 -0600)] 
Merge "res_pjsip: Ignore empty TLS configuration" into 13

7 years agores_stasis: Fix multiple leaks.
Corey Farrell [Mon, 6 Nov 2017 23:21:53 +0000 (18:21 -0500)] 
res_stasis: Fix multiple leaks.

* res/stasis/app.c JSON passed to app_send needs to be released.
* res/stasis_message.c: objects leak if vector append fails.

Change-Id: I8dd5385b9f50a5cadf2b1d16efecffd6ddb4db4a

7 years agoMerge "tcptls: Print notice when TLS is enabled but not configured." into 13
Joshua Colp [Tue, 7 Nov 2017 15:42:34 +0000 (09:42 -0600)] 
Merge "tcptls: Print notice when TLS is enabled but not configured." into 13

7 years agores_pjsip: Avoid crash when contact uri is empty string
Aaron An [Mon, 6 Nov 2017 04:06:15 +0000 (12:06 +0800)] 
res_pjsip:  Avoid crash when contact uri is empty string

Asterisk will crash if contact uri is invalid, so contact_apply_handler
should check if the uri is NULL or empty.

ASTERISK-27393 #close
Reported-by: Aaron An
Tested-by: AaronAn
Change-Id: Ia0309bdc6b697c73c9c736e1caec910b77ca69f5

7 years agoMerge "stasis: Remove silly use of RAII_VAR in stasis_forward_all." into 13
Joshua Colp [Tue, 7 Nov 2017 14:52:39 +0000 (08:52 -0600)] 
Merge "stasis: Remove silly use of RAII_VAR in stasis_forward_all." into 13

7 years agoMerge "stasis_channels.c: Remove a very silly RAII_VAR()." into 13
Jenkins2 [Tue, 7 Nov 2017 14:09:07 +0000 (08:09 -0600)] 
Merge "stasis_channels.c: Remove a very silly RAII_VAR()." into 13

7 years agoMerge "stasis/app.c: Optimize stasis_app_get_debug_by_name()" into 13
Jenkins2 [Tue, 7 Nov 2017 13:32:58 +0000 (07:32 -0600)] 
Merge "stasis/app.c: Optimize stasis_app_get_debug_by_name()" into 13

7 years agores_pjproject.c: Fix ast_strdup() alloc failure.
Richard Mudgett [Tue, 7 Nov 2017 12:56:08 +0000 (06:56 -0600)] 
res_pjproject.c: Fix ast_strdup() alloc failure.

Change-Id: I74688038e7afe3a279359cce53aadb28ade51ead

7 years agoMerge "Fix ast_(v)asprintf() malloc failure usage conditions." into 13
Jenkins2 [Tue, 7 Nov 2017 12:41:50 +0000 (06:41 -0600)] 
Merge "Fix ast_(v)asprintf() malloc failure usage conditions." into 13

7 years agoMerge "RTP Engine: Deal with errors returned from AST_VECTOR_REPLACE." into 13
Jenkins2 [Tue, 7 Nov 2017 12:06:01 +0000 (06:06 -0600)] 
Merge "RTP Engine: Deal with errors returned from AST_VECTOR_REPLACE." into 13

7 years agores_pjsip_outbound_registration: Fix leak on vector add failure.
Corey Farrell [Mon, 6 Nov 2017 23:55:00 +0000 (18:55 -0500)] 
res_pjsip_outbound_registration: Fix leak on vector add failure.

Change-Id: I774b88b3c9da41edd4dc8d78f095481f52f2bd46

7 years agores_pjsip_config_wizard: Fix leaks and add check for malloc failure.
Corey Farrell [Mon, 6 Nov 2017 23:44:01 +0000 (18:44 -0500)] 
res_pjsip_config_wizard: Fix leaks and add check for malloc failure.

wizard_apply_handler():
- Free host if we fail to add it to the vector.

wizard_mapped_observer():
- Check for otw allocation failure.
- Free otw if we fail to add it to the vector.

Change-Id: Ib5d3bcabbd9c24dd8a3c9cc692a794a5f60243ad

7 years agotest_sorcery_memory_cache_thrash: Handle error from vector append.
Corey Farrell [Mon, 6 Nov 2017 23:33:13 +0000 (18:33 -0500)] 
test_sorcery_memory_cache_thrash: Handle error from vector append.

Cleanup resources when we fail to append the vector and report test
failure.

Change-Id: I6eb41586fd11dee8c0dfe35e91cb465a4cab7298

7 years agores_pjsip: Fix leak on error in ast_sip_auth_vector_init.
Corey Farrell [Mon, 6 Nov 2017 23:28:35 +0000 (18:28 -0500)] 
res_pjsip: Fix leak on error in ast_sip_auth_vector_init.

Change-Id: Ib0fc7a18f3135ca8990c3984c9e15f6d26e556e8

7 years agores_pjproject: Handle error from adding to the buildopts vector.
Corey Farrell [Mon, 6 Nov 2017 23:17:13 +0000 (18:17 -0500)] 
res_pjproject: Handle error from adding to the buildopts vector.

Change-Id: I076c7bd207c7989a23005395ce1735392657be65

7 years agostasis: Release object if vector append fails.
Corey Farrell [Mon, 6 Nov 2017 21:33:00 +0000 (16:33 -0500)] 
stasis: Release object if vector append fails.

Change-Id: I3e5cc669169aab6175ddfaf7486edeaeb4fdcfb1

7 years agoRTP Engine: Deal with errors returned from AST_VECTOR_REPLACE.
Corey Farrell [Mon, 6 Nov 2017 21:30:10 +0000 (16:30 -0500)] 
RTP Engine: Deal with errors returned from AST_VECTOR_REPLACE.

Check for errors from AST_VECTOR_REPLACE and clean memory if needed.

Change-Id: I124d15cc1d645f85a72a1279f623c1993b304b0b

7 years agoMessaging: Report error on failure to register tech or handler.
Corey Farrell [Mon, 6 Nov 2017 21:10:56 +0000 (16:10 -0500)] 
Messaging: Report error on failure to register tech or handler.

Message tech and handler registrations use a vector which could fail to
expand.  If it does log and error and return error.

Change-Id: I593a8de81a07fb0452e9b0efd5d4018b77bca6f4

7 years agoformat_cap: Fix leak on AST_VECTOR_APPEND error.
Corey Farrell [Mon, 6 Nov 2017 21:07:01 +0000 (16:07 -0500)] 
format_cap: Fix leak on AST_VECTOR_APPEND error.

format_cap_framed_init can fail on AST_VECTOR_APPEND.  This should
report failure to the caller and clean the newly allocated frame.

Change-Id: Ica0661235bf09497bf23d844ceb01f21b41a55b0

7 years agostasis: Remove silly use of RAII_VAR in stasis_forward_all.
Corey Farrell [Mon, 6 Nov 2017 20:23:46 +0000 (15:23 -0500)] 
stasis: Remove silly use of RAII_VAR in stasis_forward_all.

Change-Id: I46de4c968d40144d5b049966304ff66c1469fb65

7 years agoCLI: Remove unused internal command.
Corey Farrell [Mon, 6 Nov 2017 18:51:32 +0000 (13:51 -0500)] 
CLI: Remove unused internal command.

The internal CLI command "_command complete" was last used by Asterisk
0.2.0.  Since then we've been using "_command nummatches" and "_command
matchesarray".

Change-Id: I682fe1e21a24a3bb5bd04146e639f1c5866bcfce

7 years agostasis_bridges.c: Fix off-nominal json memory leaks.
Richard Mudgett [Fri, 3 Nov 2017 23:08:37 +0000 (18:08 -0500)] 
stasis_bridges.c: Fix off-nominal json memory leaks.

Change-Id: Ib1181a36b317c86bff1ef2e44a17a0b1c73cfdc8

7 years agostasis_channels.c: Remove a very silly RAII_VAR().
Richard Mudgett [Fri, 3 Nov 2017 22:43:18 +0000 (17:43 -0500)] 
stasis_channels.c: Remove a very silly RAII_VAR().

Change-Id: I28b458b3c1a442c4ef0be7b4986a95ea4149e14f

7 years agostasis/app.c: Optimize stasis_app_get_debug_by_name()
Richard Mudgett [Fri, 3 Nov 2017 21:14:15 +0000 (16:14 -0500)] 
stasis/app.c: Optimize stasis_app_get_debug_by_name()

* Eliminate RAII_VAR()
* Short circuit application name lookup if global debug enabled.

Change-Id: I5f78b7bd6ca7fd2c3b07cbbe036c6a93b4681123

7 years agoFix ast_(v)asprintf() malloc failure usage conditions.
Richard Mudgett [Thu, 2 Nov 2017 23:40:20 +0000 (18:40 -0500)] 
Fix ast_(v)asprintf() malloc failure usage conditions.

When (v)asprintf() fails, the state of the allocated buffer is undefined.
The library had better not leave an allocated buffer as a result or no one
will know to free it.  The most likely way it can return failure is for an
allocation failure.  If the printf conversion fails then you actually have
a threading problem which is much worse because another thread modified
the parameter values.

* Made __ast_asprintf()/__ast_vasprintf() set the returned buffer to NULL
on failure.  That is much more useful than either an uninitialized pointer
or a pointer that has already been freed.  Many uses won't have to check
for failure to ensure that the buffer won't be double freed or prevent an
attempt to free an uninitialized pointer.

* stasis.c: Fixed memory leak in multi_object_blob_to_ami() allocated by
ast_asprintf().

* ari/resource_bridges.c:ari_bridges_play_helper(): Remove assignment to
the wrong thing which is now not needed even if assigning to the right
thing.

Change-Id: Ib5252fb8850ecf0f78ed0ee2ca0796bda7e91c23

7 years agoMerge "install_prereq: Checkout of libSRTP 2.x." into 13
Jenkins2 [Mon, 6 Nov 2017 17:29:23 +0000 (11:29 -0600)] 
Merge "install_prereq: Checkout of libSRTP 2.x." into 13

7 years agoMerge "configure: Add autoconf check for libopusfile." into 13
Jenkins2 [Mon, 6 Nov 2017 17:05:55 +0000 (11:05 -0600)] 
Merge "configure: Add autoconf check for libopusfile." into 13

7 years agoMerge "Prevent unload of modules which implement an Optional API." into 13
Jenkins2 [Mon, 6 Nov 2017 15:41:29 +0000 (09:41 -0600)] 
Merge "Prevent unload of modules which implement an Optional API." into 13

7 years agoMerge "Add missing menuselect dependencies." into 13
Jenkins2 [Mon, 6 Nov 2017 14:46:22 +0000 (08:46 -0600)] 
Merge "Add missing menuselect dependencies." into 13

7 years agoMerge "Stasis/ARI: Fix off-nominal path json memory leaks." into 13
Joshua Colp [Mon, 6 Nov 2017 14:39:20 +0000 (08:39 -0600)] 
Merge "Stasis/ARI: Fix off-nominal path json memory leaks." into 13

7 years agores_pjsip: Ignore empty TLS configuration
Sean Bright [Mon, 6 Nov 2017 14:05:56 +0000 (09:05 -0500)] 
res_pjsip: Ignore empty TLS configuration

When using realtime, fields that are not explicitly set by an
administrator are still presented to sorcery as empty strings. Handle
this case explicitly.

In this particular case, if any of these fields are required for TLS
support, their existence should be validated in the 'apply' handler once
we have a complete transport definition.

ASTERISK-27032 #close
Reported by: seanchann.zhou

Change-Id: Ie3b5fb421977ccdb33e415d4ec52c3fd192601b7

7 years agoMerge "AOC: Fix AOC-S json memory leak." into 13
Jenkins2 [Mon, 6 Nov 2017 13:19:41 +0000 (07:19 -0600)] 
Merge "AOC: Fix AOC-S json memory leak." into 13

7 years agoMerge "res_stasis_mailbox.c: Fix leak of mailbox container." into 13
Jenkins2 [Mon, 6 Nov 2017 12:27:29 +0000 (06:27 -0600)] 
Merge "res_stasis_mailbox.c: Fix leak of mailbox container." into 13

7 years agoMerge "Build System: Fix build failure caused by recent CLI improvements." into 13
Jenkins2 [Mon, 6 Nov 2017 11:58:51 +0000 (05:58 -0600)] 
Merge "Build System: Fix build failure caused by recent CLI improvements." into 13

7 years agotcptls: Print notice when TLS is enabled but not configured.
Alexander Traud [Mon, 6 Nov 2017 09:18:24 +0000 (10:18 +0100)] 
tcptls: Print notice when TLS is enabled but not configured.

Asterisk can be compiled without a SSL/TLS library, without the Development
Headers of OpenSSL. However, if TLS (SIP) or Secure-WebSockets (WebRTC) was
enabled in a configuration file, Asterisk did not notice the user. Asterisk
failed silently, only the corresponding TCP ports were not open.

ASTERISK-27394
Reported-by: mossley74
Change-Id: Ib8b7539a5b2af8154c22e5f7a40fc68f95d95b93

7 years agoconfigure: Add autoconf check for libopusfile.
Corey Farrell [Mon, 6 Nov 2017 09:21:12 +0000 (04:21 -0500)] 
configure: Add autoconf check for libopusfile.

This check is being added to make it easier for end-users of third party
open source Opus modules.  This was removed by ASTERISK-26426 but only
the module needed to be removed.

Change-Id: I62b9cd0c4fa8a77596ab0e042948a643a1152677

7 years agoinstall_prereq: Checkout of libSRTP 2.x.
Alexander Traud [Sat, 4 Nov 2017 11:05:36 +0000 (12:05 +0100)] 
install_prereq: Checkout of libSRTP 2.x.

Since Asterisk 13.17, libSRTP 2.x is supported. Therefore, its latest version
is installed again via the script install_prereq.

ASTERISK-27356

Change-Id: I13125839a79052356469e41edacbebff0a937d39

7 years agoStasis/ARI: Fix off-nominal path json memory leaks.
Richard Mudgett [Wed, 1 Nov 2017 22:47:57 +0000 (17:47 -0500)] 
Stasis/ARI: Fix off-nominal path json memory leaks.

Change-Id: Id569c624c426e3b22a99936473c730592d8b83fb

7 years agoAOC: Fix AOC-S json memory leak.
Richard Mudgett [Thu, 2 Nov 2017 16:38:23 +0000 (11:38 -0500)] 
AOC: Fix AOC-S json memory leak.

Change-Id: I3a1d40a41a8a7d00fa4a187de6a343a79155d3ef

7 years agores_stasis_device_state.c: Optimize stasis_app_device_states_to_json()
Richard Mudgett [Wed, 1 Nov 2017 23:04:31 +0000 (18:04 -0500)] 
res_stasis_device_state.c: Optimize stasis_app_device_states_to_json()

* Eliminate RAII_VAR()
* Replace looped alloca with a char[] since that is how it is used anyway.

Change-Id: Ia27e64a884afa0f50b9ffdb1cf23da6bfa51ffdf

7 years agores_stasis_mailbox.c: Fix leak of mailbox container.
Richard Mudgett [Wed, 1 Nov 2017 23:58:08 +0000 (18:58 -0500)] 
res_stasis_mailbox.c: Fix leak of mailbox container.

Change-Id: I7d33c1635713047e7d1597c9d882f7dc006d94b4

7 years agoBuild System: Fix build failure caused by recent CLI improvements.
Corey Farrell [Fri, 3 Nov 2017 15:35:34 +0000 (11:35 -0400)] 
Build System: Fix build failure caused by recent CLI improvements.

We use the editline library to help with filename completion in our CLI
interface.  Some systems failed to find the header when included from
loader.c.  This is fixed by setting the proper CFLAGS for the build of
loader.o.

ASTERISK-27378

Change-Id: Ib7fd496f1d7ed48141a2eadd5dd61cab2f2308be

7 years agoMerge "res_pjsip: Add to list of valid characters for from_user." into 13
Joshua Colp [Fri, 3 Nov 2017 13:11:59 +0000 (08:11 -0500)] 
Merge "res_pjsip: Add to list of valid characters for from_user." into 13

7 years agoMerge "Modules: Additional improvements to CLI completion." into 13
Jenkins2 [Fri, 3 Nov 2017 12:46:19 +0000 (07:46 -0500)] 
Merge "Modules: Additional improvements to CLI completion." into 13

7 years agores_pjsip: Add to list of valid characters for from_user.
Ben Ford [Wed, 1 Nov 2017 16:12:45 +0000 (11:12 -0500)] 
res_pjsip: Add to list of valid characters for from_user.

Fixes a regression where some characters were unable to be used in
the from_user field of an endpoint. Additionally, the backtick was
removed from the list of valid characters, since it is not valid,
and it was replaced with a single quote, which is a valid character.

ASTERISK-27387

Change-Id: Id80c10a644508365c87b3182e99ea49da11b0281

7 years agoModules: Additional improvements to CLI completion.
Corey Farrell [Mon, 30 Oct 2017 22:30:18 +0000 (18:30 -0400)] 
Modules: Additional improvements to CLI completion.

Replace 'needsreload' argument with a 'type' argument to specify which
type of modules you want completion.  This provides more accurate CLI
completion for load and unload commands.

* 'module unload' now excludes modules that have active references or are
  not running.
* 'module load' now excludes modules that are already running.
* 'core set debug [atleast] <level> [module]' shows running modules only.

ASTERISK-27378

Change-Id: Iea3e00054461484196c46f688f02635cc886bad1

7 years agoAdd missing menuselect dependencies.
Corey Farrell [Thu, 2 Nov 2017 07:11:32 +0000 (03:11 -0400)] 
Add missing menuselect dependencies.

This adds menuselect dependencies for modules that use symbols of other
modules.

ASTERISK-27390

Change-Id: Ia2d2849f5b87a72af7324a82edc3f283eafb5385

7 years agoPrevent unload of modules which implement an Optional API.
Corey Farrell [Thu, 2 Nov 2017 00:46:11 +0000 (20:46 -0400)] 
Prevent unload of modules which implement an Optional API.

Once an Optional API module is loaded it should stay loaded.  Unloading
an optional API module runs the risk of a crash if something else is
using it.  This patch causes all optional API providers to tell the
module loader not to unload except at shutdown.

ASTERISK-27389

Change-Id: Ia07786fe655681aec49cc8d3d96e06483b11f5e6

7 years agopjsip_message_filter: Only do interface lookup for wildcard addresses.
Sean Bright [Wed, 1 Nov 2017 18:58:32 +0000 (14:58 -0400)] 
pjsip_message_filter: Only do interface lookup for wildcard addresses.

Change-Id: Ie083987e69dc43b6861671c218cacacc11b2072f

7 years agofeatures: Bridge application's BRIDGERESULT not appropriately set
Kevin Harwell [Tue, 31 Oct 2017 20:08:38 +0000 (15:08 -0500)] 
features: Bridge application's BRIDGERESULT not appropriately set

The dialplan application "Bridge" was not setting the BRIDGERESULT to failure
when a failure did occur. Even worse if it did fail to join the bridge it would
still report success.

This patch now sets the BRIDGERESULT variable to an appropriate value for a
given condition state. Also, removed the value INCOMPATIBLE as a valid result
type since it is no longer used.

ASTERISK-27369 #close

Change-Id: I22588e7125a765edf35cff28c98ca143e9927554

7 years agoMerge "ast_coredumper: allow setting asterisk binary explicitly" into 13
Jenkins2 [Tue, 31 Oct 2017 12:00:50 +0000 (07:00 -0500)] 
Merge "ast_coredumper: allow setting asterisk binary explicitly" into 13

7 years agoMerge "Build System: Fix --disable-xmldoc option." into 13
Jenkins2 [Tue, 31 Oct 2017 11:17:48 +0000 (06:17 -0500)] 
Merge "Build System: Fix --disable-xmldoc option." into 13

7 years agoMerge "Modules: Fix issues with CLI completion." into 13
Jenkins2 [Mon, 30 Oct 2017 22:04:04 +0000 (17:04 -0500)] 
Merge "Modules: Fix issues with CLI completion." into 13

7 years agoMerge "app_agent_spool: Fix typo in dtmf features usage desctiption" into 13
Jenkins2 [Mon, 30 Oct 2017 16:25:35 +0000 (11:25 -0500)] 
Merge "app_agent_spool: Fix typo in dtmf features usage desctiption" into 13

7 years agoMerge "ast_coredumper: Add gzipping of binaries and display of signal info" into 13
Jenkins2 [Mon, 30 Oct 2017 15:19:55 +0000 (10:19 -0500)] 
Merge "ast_coredumper:  Add gzipping of binaries and display of signal info" into 13

7 years agoast_coredumper: allow setting asterisk binary explicitly
Tzafrir Cohen [Mon, 30 Oct 2017 14:20:18 +0000 (16:20 +0200)] 
ast_coredumper: allow setting asterisk binary explicitly

Adds an extra option, --asterisk-bin=<path> to ast_coredumper. If
provided, the binary given to gdb will be the parameter, rather than
asterisk from the PATH.

ASTERISK-27380 #close

Change-Id: I25f5b91eb75059b0fb2f142e468c26b283b0a9f3

7 years agoModules: Fix issues with CLI completion.
Corey Farrell [Mon, 30 Oct 2017 05:32:32 +0000 (01:32 -0400)] 
Modules: Fix issues with CLI completion.

* Stop using ast_module_helper to check if a module is loaded, use
  ast_module_check instead (app_confbridge and app_meetme).
* Stop ast_module_helper from listing reload classes when needsreload
  was not requested.

ASTERISK-27378

Change-Id: Iaed8c1e4fcbeb242921dbac7929a0fe75ff4b239

7 years agoapp_agent_spool: Fix typo in dtmf features usage desctiption
Igor Goncharovskiy [Sun, 29 Oct 2017 00:18:21 +0000 (06:18 +0600)] 
app_agent_spool: Fix typo in dtmf features usage desctiption

Fix typo, that specify usage wrong option 'dtmf-features' for CHANNEL() function
instead of correct 'dtmf_features'

ASTERISK-27377 #close

Change-Id: I15ecc829c1035b359584673e12cdb5c9291ac930

7 years agores_pjsip_pubsub: Resolve potential crash in allocate_subscription.
Corey Farrell [Fri, 27 Oct 2017 18:41:15 +0000 (14:41 -0400)] 
res_pjsip_pubsub: Resolve potential crash in allocate_subscription.

When allocate_subscription fails to initialize fields of the new sub it
calls destroy_subscription.

Change-Id: I5b79c915ec216dc00c13c1e4172137864a4bec85

7 years agoMerge "codec.c: Defensively check the returned samples." into 13
Joshua Colp [Fri, 27 Oct 2017 14:05:53 +0000 (09:05 -0500)] 
Merge "codec.c: Defensively check the returned samples." into 13

7 years agoMerge "app_voicemail.c: Fix compiler warning with IMAP build." into 13
Jenkins2 [Fri, 27 Oct 2017 13:28:43 +0000 (08:28 -0500)] 
Merge "app_voicemail.c: Fix compiler warning with IMAP build." into 13

7 years agoMerge "res_pjsip: Add 'ip' as a valid option to 'identify_by' on endpoint." into 13
Joshua Colp [Thu, 26 Oct 2017 23:28:13 +0000 (18:28 -0500)] 
Merge "res_pjsip: Add 'ip' as a valid option to 'identify_by' on endpoint." into 13

7 years agoapp_voicemail.c: Fix compiler warning with IMAP build.
Richard Mudgett [Thu, 26 Oct 2017 17:18:00 +0000 (12:18 -0500)] 
app_voicemail.c: Fix compiler warning with IMAP build.

ASTERISK-27181

Change-Id: Ic4468b49860bd7f67e922baf4c9e96828c184d17

7 years agocodec.c: Defensively check the returned samples.
Richard Mudgett [Wed, 25 Oct 2017 19:38:19 +0000 (14:38 -0500)] 
codec.c: Defensively check the returned samples.

Earlier versions of the codec_opus samples_count callback can return
negative error values on undecodable frames.  This resulted in a divide by
zero exception.

* Added a defensive check in ast_codec_samples_count() for a "negative"
samples count return value.  Log the event and set the count to zero.

ASTERISK-27194

Change-Id: Icf69350307ecbbc80a3d74de46af9bd80ea17819

7 years agores_pjsip: Add 'ip' as a valid option to 'identify_by' on endpoint.
Joshua Colp [Tue, 24 Oct 2017 15:33:57 +0000 (15:33 +0000)] 
res_pjsip: Add 'ip' as a valid option to 'identify_by' on endpoint.

When the identify_by option on an endpoint is set to ip it will
only be identified using the res_pjsip_endpoint_identifier_ip module.
This ensures that it is not mistakenly matched using the username of
the From header. To ensure behavior has not changed the default has
been changed to "username,ip" for the identify_by option.

ASTERISK-27206

Change-Id: I2170b86a7f7e221b4f00bf14aa1ef1ac5b050bbd

7 years agoMerge "http.c: Fix http header send content." into 13
Joshua Colp [Wed, 25 Oct 2017 17:42:09 +0000 (12:42 -0500)] 
Merge "http.c: Fix http header send content." into 13

7 years agoast_coredumper: Add gzipping of binaries and display of signal info
George Joseph [Wed, 25 Oct 2017 17:26:06 +0000 (11:26 -0600)] 
ast_coredumper:  Add gzipping of binaries and display of signal info

The --tarball-coredump option now creates a gzipped tarball of
coredumps processed, their results txt files and copies of
/etc/os-release, /usr/sbin/asterisk, /usr/lib(64)/libasterisk* and
/usr/lib(64)/asterisk as those files are needed to properly examine
the coredump.  The file will be named
/tmp/asterisk.<timestamp>.coredumps.tar.gz or
/tmp/asterisk-<uniqueid>.coredumps.tar.gz if --tarball-uniqueid was
specified.

Added dumps of *_siginfo to the top of the txt files so you can
tell what signal was invoked.

Change-Id: Ib9ee6d83592d4b1bc90cb3419a05376a88d1ded9

7 years agoBuild System: Fix --disable-xmldoc option.
Corey Farrell [Thu, 30 Mar 2017 14:51:14 +0000 (10:51 -0400)] 
Build System: Fix --disable-xmldoc option.

The configure option to disable XML documentation does not currently
work.  This patch makes it effective, but also causes an ABI change by
removing the ast_xmldoc_* symbols.  Disabling xmldoc also prevents docs
from being automatically generated, but they can still be manually
generated with 'make doc/core-en_US.xml'.

ASTERISK-26639

Change-Id: Ifac562340c09f80c83e0203de098fcac93bf8c44

7 years agohttp.c: Fix http header send content.
Ben Ford [Mon, 23 Oct 2017 18:42:27 +0000 (13:42 -0500)] 
http.c: Fix http header send content.

Currently ast_http_send barricades a portion of the content that
needs to be sent in order to establish a connection for things
like the ARI client. The conditional and contents have been changed
to ensure that everything that needs to be sent, will be sent.

ASTERISK-27372

Change-Id: I8816d2d8f80f4fefc6dcae4b5fdfc97f1e46496d

7 years agoMerge "chan_sip: Fix SUBSCRIBE with missing "Expires" header." into 13
Joshua Colp [Wed, 25 Oct 2017 12:44:17 +0000 (07:44 -0500)] 
Merge "chan_sip: Fix SUBSCRIBE with missing "Expires" header." into 13

7 years agoMerge "hashtab: Use ast_free." into 13
Jenkins2 [Wed, 25 Oct 2017 12:10:14 +0000 (07:10 -0500)] 
Merge "hashtab: Use ast_free." into 13

7 years agoMerge "res_pjsip_sdp_rtp: Fix setting of address type for rtp_ipv6" into 13
Jenkins2 [Wed, 25 Oct 2017 11:26:27 +0000 (06:26 -0500)] 
Merge "res_pjsip_sdp_rtp:  Fix setting of address type for rtp_ipv6" into 13

7 years agohashtab: Use ast_free.
Corey Farrell [Sat, 7 Oct 2017 17:14:08 +0000 (13:14 -0400)] 
hashtab: Use ast_free.

A few places in hashtab use free instead of ast_free.

Change-Id: I2ff089bad71640c03c3ce97f1b00fc962ef79427

7 years agoMerge "main/Makefile: Remove rule for non-existant testexpr2." into 13
Jenkins2 [Tue, 24 Oct 2017 20:55:05 +0000 (15:55 -0500)] 
Merge "main/Makefile: Remove rule for non-existant testexpr2." into 13

7 years agoMerge "res_xmpp: Ensure the connection filter is available." into 13
Jenkins2 [Tue, 24 Oct 2017 19:59:56 +0000 (14:59 -0500)] 
Merge "res_xmpp: Ensure the connection filter is available." into 13