asterisk/asterisk.git
3 years agoMerge "autoconf: Remove use of m4_ifblank."
Jenkins2 [Mon, 4 Dec 2017 15:38:31 +0000 (09:38 -0600)]
Merge "autoconf: Remove use of m4_ifblank."

3 years agoMerge "config: Speed up config template lookup"
Joshua Colp [Mon, 4 Dec 2017 14:51:11 +0000 (08:51 -0600)]
Merge "config: Speed up config template lookup"

3 years agoMerge "config: Speed up ACO & sorcery initialization"
Joshua Colp [Mon, 4 Dec 2017 13:41:28 +0000 (07:41 -0600)]
Merge "config: Speed up ACO & sorcery initialization"

3 years agoMerge "res_http_post: Not all versions of gmime have GMIME_MAJOR_VERSION."
Joshua Colp [Mon, 4 Dec 2017 13:40:06 +0000 (07:40 -0600)]
Merge "res_http_post: Not all versions of gmime have GMIME_MAJOR_VERSION."

3 years agoautoconf: Remove use of m4_ifblank.
Corey Farrell [Sat, 2 Dec 2017 21:55:31 +0000 (16:55 -0500)]
autoconf: Remove use of m4_ifblank.

The m4_ifblank macro is not available on CentOS 6, reverse conditionals
to allow use of m4_ifval instead.  ./bootstrap.sh was run but this patch
does not result in any difference to the generated configure script.

Change-Id: I280785deb872ed8d3339d99cce63a2b54d5f1438

3 years agoAST-2017-013: chan_skinny: Call pthread_detach when sess threads end
George Joseph [Thu, 30 Nov 2017 20:38:50 +0000 (13:38 -0700)]
AST-2017-013: chan_skinny: Call pthread_detach when sess threads end

chan_skinny creates a new thread for each new session.  In trying
to be a good cleanup citizen, the threads are joinable and the
unload_module function does a pthread_cancel() and a pthread_join()
on any sessions that are active at that time.  This has an
unintended side effect though. Since you can call pthread_join on a
thread that's already terminated, pthreads keeps the thread's
storage around until you explicitly call pthread_join (or
pthread_detach()).   Since only the module_unload function was
calling pthread_join, and even then only on the ones active at the
tme, the storage for every thread/session ever created sticks
around until asterisk exits.

* A thread can detach itself so the session_destroy() function
  now calls pthread_detach() just before it frees the session
  memory allocation.  The module_unload function still takes care
  of the ones that are still active should the module be unloaded.

ASTERISK-27452
Reported by: Juan Sacco

Change-Id: I9af7268eba14bf76960566f891320f97b974e6dd
(cherry picked from commit 8f5dff543e457ee3450d21e741901609af0cd779)

3 years agoconfig: Speed up config template lookup
Sean Bright [Fri, 1 Dec 2017 16:01:01 +0000 (11:01 -0500)]
config: Speed up config template lookup

ast_category_get() has an (undocumented) implementation detail where it
tries to match the category name first by an explicit pointer comparison
and if that fails falls back to a normal match.

When initially building an ast_config during ast_config_load, this
pointer comparison can never succeed, but we will end up iterating all
categories twice. As the number of categories using a template
increases, this dual looping becomes quite expensive. So we pass a flag
to category_get_sep() indicating if a pointer match is even possible
before trying to do so, saving us a full pass over the list of current
categories.

In my tests, loading a file with 3 template categories and 12000
additional categories that use those 3 templates (this file configures
4000 PJSIP endpoints with AOR & Auth) takes 1.2 seconds. After this
change, that drops to 22ms.

Change-Id: I59b95f288e11eb6bb34f31ce4cc772136b275e4a

3 years agoconfig: Speed up ACO & sorcery initialization
Sean Bright [Fri, 1 Dec 2017 14:29:43 +0000 (09:29 -0500)]
config: Speed up ACO & sorcery initialization

When starting Asterisk in the foreground, there is a perceptible delay
when loading modules that use the ACO and sorcery config frameworks.
For example, a lightly configured res_pjsip took 853ms to load on my
VM.

I tracked down the slowness to the XPath queries used to associate the
relevant documentation with the config options. One improvement was
adding a call to xmlXPathOrderDocElems after loading an XML document.
From the libxml2 docs:

  Call this routine to speed up XPath computation on static documents.

The second change was to remove recursive descent and wildcard
operators from the XPath queries. After these changes, res_pjsip takes
85ms to load on my VM and there is no longer a perceptible delay when
starting Asterisk in the foreground.

Change-Id: I45d457f1580e26bf5a2b0dab16e8e9ae46dcbd82

3 years agores_http_post: Not all versions of gmime have GMIME_MAJOR_VERSION.
Joshua Colp [Fri, 1 Dec 2017 12:07:52 +0000 (08:07 -0400)]
res_http_post: Not all versions of gmime have GMIME_MAJOR_VERSION.

This change makes the presence of the GMIME_MAJOR_VERSION
definition optional, as not all versions of gmime actually
define it.

ASTERISK-27454

Change-Id: I01d99590045971ed6787899147170a5954077238

3 years agoMerge "translate: Transcode siren14, speex32, silk24, and silk12 via slin16."
Jenkins2 [Thu, 30 Nov 2017 16:16:17 +0000 (10:16 -0600)]
Merge "translate: Transcode siren14, speex32, silk24, and silk12 via slin16."

3 years agoMerge "autoconf: Use m4 conditionals where possible."
Jenkins2 [Thu, 30 Nov 2017 15:22:27 +0000 (09:22 -0600)]
Merge "autoconf: Use m4 conditionals where possible."

3 years agoMerge "autoconf: Fix call to AC_CONFIG_AUX_DIR."
Jenkins2 [Thu, 30 Nov 2017 14:42:24 +0000 (08:42 -0600)]
Merge "autoconf: Fix call to AC_CONFIG_AUX_DIR."

3 years agoMerge "CLI: Remove compatibility code."
Jenkins2 [Tue, 28 Nov 2017 18:50:28 +0000 (12:50 -0600)]
Merge "CLI: Remove compatibility code."

3 years agoMerge "translate: Show sample rate for silk, speex, and slin in translation table."
Joshua Colp [Tue, 28 Nov 2017 18:37:51 +0000 (12:37 -0600)]
Merge "translate: Show sample rate for silk, speex, and slin in translation table."

3 years agoautoconf: Use m4 conditionals where possible.
Corey Farrell [Fri, 17 Nov 2017 16:38:48 +0000 (11:38 -0500)]
autoconf: Use m4 conditionals where possible.

Change-Id: I530c0a72f965437acef6a9a4fbfe5c487f078b65

3 years agoautoconf: Fix call to AC_CONFIG_AUX_DIR.
Corey Farrell [Fri, 17 Nov 2017 15:15:17 +0000 (10:15 -0500)]
autoconf: Fix call to AC_CONFIG_AUX_DIR.

The `pwd` parameter to AC_CONFIG_AUX_DIR is unnecessary, the default
value is $srcdir.

Additionally remove the AC_REVISION call.  It only added a comment and
is pointless without SVN tag replacements.

Change-Id: I99299a3217f095bddcb2edefb3b9af0ab147bc29

3 years agoMerge "res_ari: Fix inverted test giving wrong error message."
Joshua Colp [Mon, 27 Nov 2017 23:24:24 +0000 (17:24 -0600)]
Merge "res_ari: Fix inverted test giving wrong error message."

3 years agoMerge "res_rtp_asterisk.c: Fix rtp source address learning for broken clients"
Jenkins2 [Mon, 27 Nov 2017 22:33:38 +0000 (16:33 -0600)]
Merge "res_rtp_asterisk.c: Fix rtp source address learning for broken clients"

3 years agoCLI: Remove compatibility code.
Corey Farrell [Mon, 20 Nov 2017 22:58:37 +0000 (17:58 -0500)]
CLI: Remove compatibility code.

Previous commits maintained compatibility with older remote console
clients as well as maintaining all API's.

Remove the following compatibility code:
* ast_cli_generatornummatches.
* Remote command "_command nummatches".
* Sorting / duplicate removal by remote console.

Change-Id: I59e6ce94fa57ae564888442049695f7e46746437

3 years agoMerge "features.conf.sample: Clarify ActivatedBy documentation wording."
Jenkins2 [Mon, 27 Nov 2017 21:57:05 +0000 (15:57 -0600)]
Merge "features.conf.sample: Clarify ActivatedBy documentation wording."

3 years agoMerge "CLI: Finish conversion of completion handling to vectors."
Jenkins2 [Mon, 27 Nov 2017 21:13:19 +0000 (15:13 -0600)]
Merge "CLI: Finish conversion of completion handling to vectors."

3 years agoMerge "CLI: Refactor cli_complete."
George Joseph [Mon, 27 Nov 2017 20:39:06 +0000 (14:39 -0600)]
Merge "CLI: Refactor cli_complete."

3 years agoMerge "CLI: Rewrite ast_el_strtoarr to use vector's internally."
Joshua Colp [Mon, 27 Nov 2017 20:17:20 +0000 (14:17 -0600)]
Merge "CLI: Rewrite ast_el_strtoarr to use vector's internally."

3 years agoMerge "CLI: Create ast_cli_completion_add function."
George Joseph [Mon, 27 Nov 2017 19:26:43 +0000 (13:26 -0600)]
Merge "CLI: Create ast_cli_completion_add function."

3 years agoMerge "CLI: Refactor ast_cli_display_match_list."
Jenkins2 [Mon, 27 Nov 2017 19:23:52 +0000 (13:23 -0600)]
Merge "CLI: Refactor ast_cli_display_match_list."

3 years agoMerge "CLI: Remove calls to ast_cli_generator."
George Joseph [Mon, 27 Nov 2017 18:11:18 +0000 (12:11 -0600)]
Merge "CLI: Remove calls to ast_cli_generator."

3 years agoMerge "add cmd connection creation on creation ooh323 call data structure"
Jenkins2 [Mon, 27 Nov 2017 17:17:50 +0000 (11:17 -0600)]
Merge "add cmd connection creation on creation ooh323 call data structure"

3 years agoMerge "pjsip: 183 without To tag does not negotiate media"
George Joseph [Mon, 27 Nov 2017 16:52:02 +0000 (10:52 -0600)]
Merge "pjsip: 183 without To tag does not negotiate media"

3 years agoMerge "Add defaultbranch to .gitreview."
Joshua Colp [Mon, 27 Nov 2017 15:23:22 +0000 (09:23 -0600)]
Merge "Add defaultbranch to .gitreview."

3 years agotranslate: Transcode siren14, speex32, silk24, and silk12 via slin16.
Alexander Traud [Sun, 26 Nov 2017 17:47:17 +0000 (18:47 +0100)]
translate: Transcode siren14, speex32, silk24, and silk12 via slin16.

When a format has no pre-recorded sound files, Asterisk has to transcode between
formats. For this, Asterisk has a fixed translation table. If the pre-recorded
sound files are not available in the same sample rate, Asterisk has not only to
transcode but also to resample.

Asterisk has pre-recorded files for SLN (8000 kHz) and SLN16 (16000 kHz).
However before this change, Asterisk did not take the sample rate into account,
because the translation paths to SLN and SLN16 got the same score/weight in the
table. Consequently, you might have got narrow-band audio with siren14, speex32,
silk24, and silk12 although those are (ultra) wide-band audio codecs.

With this change, the distance in sample-rates is taken into account. Now on the
Command-Line interface (CLI) 'core show channels', you should see:
(slin@16000)->(slin@32000)->(speex@32000).

ASTERISK-23735
Reported by: Richard Kenner

Change-Id: I9448295c1978be26f8633b6066395e7bbbe2e213

3 years agores_ari: Fix inverted test giving wrong error message.
Richard Mudgett [Sun, 26 Nov 2017 15:44:51 +0000 (09:44 -0600)]
res_ari: Fix inverted test giving wrong error message.

The patch for ASTERISK_24560 inverted a test checking if the bridge name
is being updated to a different name.

* Fix the test to return "Changing bridge name is not implemented" when
someone attempts to change the bridge name.

ASTERISK-27445

Change-Id: I4b70bf08b0e02e016108b077ff75b345dec12fc9

3 years agotranslate: Show sample rate for silk, speex, and slin in translation table.
Alexander Traud [Sat, 25 Nov 2017 10:09:08 +0000 (11:09 +0100)]
translate: Show sample rate for silk, speex, and slin in translation table.

ASTERISK-24662

Change-Id: I3822956984292c99c48bca8e97807e498ccc0e88

3 years agofeatures.conf.sample: Clarify ActivatedBy documentation wording.
Richard Mudgett [Thu, 23 Nov 2017 19:27:28 +0000 (13:27 -0600)]
features.conf.sample: Clarify ActivatedBy documentation wording.

Change-Id: Id2899331fe05d1909a862ea879742879d086bc64

3 years agoMerge "res_parking: Set load_pri more appropriately."
Joshua Colp [Thu, 23 Nov 2017 18:06:32 +0000 (12:06 -0600)]
Merge "res_parking: Set load_pri more appropriately."

3 years agoMerge "res_mwi_external_ami: Remove incorrect load priority."
Joshua Colp [Thu, 23 Nov 2017 18:02:00 +0000 (12:02 -0600)]
Merge "res_mwi_external_ami: Remove incorrect load priority."

3 years agoMerge "Loader: Remove unneeded load_pri declarations."
Joshua Colp [Thu, 23 Nov 2017 17:15:19 +0000 (11:15 -0600)]
Merge "Loader: Remove unneeded load_pri declarations."

3 years agoMerge "README: Convert to README.md."
Joshua Colp [Thu, 23 Nov 2017 16:30:11 +0000 (10:30 -0600)]
Merge "README: Convert to README.md."

3 years agoMerge "res_rtp_asterisk: ICE server-reflexive candidates (srflx) with Dual-Stack."
Joshua Colp [Thu, 23 Nov 2017 15:49:46 +0000 (09:49 -0600)]
Merge "res_rtp_asterisk: ICE server-reflexive candidates (srflx) with Dual-Stack."

3 years agoMerge "chan_sip: ICE contained square brackets around IPv6 addresses."
Joshua Colp [Thu, 23 Nov 2017 14:56:17 +0000 (08:56 -0600)]
Merge "chan_sip: ICE contained square brackets around IPv6 addresses."

3 years agoAdd defaultbranch to .gitreview.
Corey Farrell [Thu, 23 Nov 2017 00:37:44 +0000 (19:37 -0500)]
Add defaultbranch to .gitreview.

Although the default value of defaultbranch is master I'm adding it
anyways.  This way when new major branches are being created the value
can be updated instead of having to remember the name of the key.

Change-Id: I3db009217c5ae399fb84bee95076f4dbb7fa52d2

3 years agoadd cmd connection creation on creation ooh323 call data structure
Alexander Anikin [Thu, 23 Nov 2017 00:43:00 +0000 (03:43 +0300)]
add cmd connection creation on creation ooh323 call data structure

ASTERISK-27353 #close

Reported by: Marco Giordani

Change-Id: I455096bd7da016b871afe09af86067c2c7c9f33f

3 years agopjsip: 183 without To tag does not negotiate media
Kevin Harwell [Wed, 22 Nov 2017 16:42:48 +0000 (10:42 -0600)]
pjsip: 183 without To tag does not negotiate media

If a 183 with sdp response is receive without a To tag the sdp is not
negotiated. According to RFC 3261 section 12.1.2 while a To tag is required,
the client needs to still be able to handle the missing tag case for
backwards compatibility.

This patch, accepted by and applied to pjproject, makes it so if an incoming
180/183 with SDP comes in without a To tag it gets appropriately handled.

ASTERISK-27442 #close

Change-Id: Ic9d6b01e05e8f4874eebbd7adfe05d932025d203

3 years agores_rtp_asterisk: ICE server-reflexive candidates (srflx) with Dual-Stack.
Alexander Traud [Tue, 21 Nov 2017 12:39:34 +0000 (13:39 +0100)]
res_rtp_asterisk: ICE server-reflexive candidates (srflx) with Dual-Stack.

Previously, Asterisk sent srflx only when configured exclusively for IPv4. Now,
srflx is gathered and sent via SDP, even when Asterisk is enabled for
Dual Stack (IPv4+IPv6) and an IPv4 interface is available/used.

ASTERISK-27437

Change-Id: Ie07d8e2bfa7b6fe06fcdc73d390a7a9a4d8c0bc1

3 years agores_parking: Set load_pri more appropriately.
Corey Farrell [Mon, 20 Nov 2017 19:05:46 +0000 (14:05 -0500)]
res_parking: Set load_pri more appropriately.

res_parking had an inplicit load_pri of 0 meaning it was one of the very
first modules loaded after modules with global symbols.  Set it to
AST_MODPRI_DEVSTATE_PROVIDER as it provides device state for parking
lots.

Change-Id: I297b6fb3ff6993ec004e667b22a74f5925906259

3 years agoMerge "aoc: Remove silly usage of RAII_VAR."
Joshua Colp [Tue, 21 Nov 2017 17:46:49 +0000 (11:46 -0600)]
Merge "aoc: Remove silly usage of RAII_VAR."

3 years agoMerge "abstract_jb: Remove silly usage of RAII_VAR."
Joshua Colp [Tue, 21 Nov 2017 17:04:47 +0000 (11:04 -0600)]
Merge "abstract_jb: Remove silly usage of RAII_VAR."

3 years agoMerge "BuildSystem: pjsip_evsub_set_uas_timeout was not used."
Joshua Colp [Tue, 21 Nov 2017 16:33:28 +0000 (10:33 -0600)]
Merge "BuildSystem: pjsip_evsub_set_uas_timeout was not used."

3 years agoMerge "app: Remove silly usage of RAII_VAR."
Joshua Colp [Tue, 21 Nov 2017 15:42:11 +0000 (09:42 -0600)]
Merge "app: Remove silly usage of RAII_VAR."

3 years agoMerge "ccss: Remove silly usage of RAII_VAR."
Joshua Colp [Tue, 21 Nov 2017 15:27:20 +0000 (09:27 -0600)]
Merge "ccss: Remove silly usage of RAII_VAR."

3 years agoREADME: Convert to README.md.
Corey Farrell [Sat, 18 Nov 2017 03:33:04 +0000 (22:33 -0500)]
README: Convert to README.md.

Convert the README file to markdown format, remove the old README.  This
causes websites like github to display the README in a much nicer
format with live links.  The raw file is still very readable from
plain text editors and terminals.

Change-Id: I7d13131764a9a9026e5f8a6ddb245a01bbd788e7

3 years agoCLI: Finish conversion of completion handling to vectors.
Corey Farrell [Mon, 20 Nov 2017 22:48:22 +0000 (17:48 -0500)]
CLI: Finish conversion of completion handling to vectors.

Change-Id: Ib81318f4ee52a5e73b003316e13fe9be1dd897a1

3 years agoCLI: Refactor cli_complete.
Corey Farrell [Tue, 7 Nov 2017 21:34:40 +0000 (16:34 -0500)]
CLI: Refactor cli_complete.

* Stop using "_COMMAND NUMMATCHES" on remote consoles.  Using this
  command had doubled the amount of work needed from the Asterisk
  daemon for each completion request.
* Fix code formatting.
* Remove static buffer used to send the command, use the same buffer
  that will receive the results.
* Move sort from ast_cli_display_match_list.

Change-Id: Ie2211b519a3d4bec45bf46e0095bdd01d384cb69

3 years agoCLI: Rewrite ast_el_strtoarr to use vector's internally.
Corey Farrell [Tue, 7 Nov 2017 20:13:57 +0000 (15:13 -0500)]
CLI: Rewrite ast_el_strtoarr to use vector's internally.

This rewrites ast_el_strtoarr to use vector's internally, but still
return the original NULL terminated array of strings.

Change-Id: Ibfe776cbe14f750effa9ca360930acaccc02e957

3 years agoCLI: Refactor ast_cli_display_match_list.
Corey Farrell [Tue, 7 Nov 2017 20:47:51 +0000 (15:47 -0500)]
CLI: Refactor ast_cli_display_match_list.

* Stop estimating line count, just print until we run out of matches.
* Stop freeing entries, the caller does that anyways.
* Stop calculating / returning numoutput, it was ignored.

Change-Id: I7f92afa8bea92241a95227587367424c8c32a5cb

3 years agoCLI: Create ast_cli_completion_add function.
Corey Farrell [Thu, 9 Nov 2017 05:42:10 +0000 (00:42 -0500)]
CLI: Create ast_cli_completion_add function.

Some completion generators are very inefficent due to the way CLI
requests matches one at a time.  ast_cli_completion_add can be called
multiple times during one invokation of a CLI generator to add all
results without having to reinitialize the search state for each match.

Change-Id: I73d26d270bbbe1e3e6390799cfc1b639e39cceec

3 years agoCLI: Remove calls to ast_cli_generator.
Corey Farrell [Thu, 9 Nov 2017 06:39:13 +0000 (01:39 -0500)]
CLI: Remove calls to ast_cli_generator.

The ability to add to localized storage cannot be supported by
ast_cli_generator.  The only calls to ast_cli_generator should be by
functions that need to proxy the CLI generator, for example 'cli check
permissions' or 'core show help'.

* ast_cli_generatornummatches now retrieves the vector of matches and
  reports the number of elements (not including 'best' match).
* test_substitution retrieves and iterates the vector.

Change-Id: I8cd6b93905363cf7a33a2d2b0e2a8f8446d9f248

3 years agoMerge "cli: Remove silly usage of RAII_VAR."
Joshua Colp [Tue, 21 Nov 2017 13:54:59 +0000 (07:54 -0600)]
Merge "cli: Remove silly usage of RAII_VAR."

3 years agoMerge "loader: Fix comments in struct ast_module."
Joshua Colp [Tue, 21 Nov 2017 12:54:25 +0000 (06:54 -0600)]
Merge "loader: Fix comments in struct ast_module."

3 years agoMerge "menuselect: Remove ineffective weak attribute detection."
Joshua Colp [Tue, 21 Nov 2017 12:50:55 +0000 (06:50 -0600)]
Merge "menuselect: Remove ineffective weak attribute detection."

3 years agoMerge "CLI: Create ast_cli_completion_vector."
Joshua Colp [Tue, 21 Nov 2017 11:24:07 +0000 (05:24 -0600)]
Merge "CLI: Create ast_cli_completion_vector."

3 years agoMerge "README: Send people to secure websites where available."
Joshua Colp [Tue, 21 Nov 2017 11:23:47 +0000 (05:23 -0600)]
Merge "README: Send people to secure websites where available."

3 years agoMerge "Build: Fix issues building without SSL."
Joshua Colp [Tue, 21 Nov 2017 11:23:24 +0000 (05:23 -0600)]
Merge "Build: Fix issues building without SSL."

3 years agoMerge "Build: Fix OSX build issues."
Joshua Colp [Tue, 21 Nov 2017 11:22:39 +0000 (05:22 -0600)]
Merge "Build: Fix OSX build issues."

3 years agochan_sip: ICE contained square brackets around IPv6 addresses.
Alexander Traud [Mon, 20 Nov 2017 15:13:39 +0000 (16:13 +0100)]
chan_sip: ICE contained square brackets around IPv6 addresses.

ASTERISK-27434

Change-Id: Iaeed89b4fa05d94c5f0ec2d3b7cd6e93d2d5a8f7

3 years agoloader: Fix comments in struct ast_module.
Corey Farrell [Mon, 20 Nov 2017 03:23:44 +0000 (22:23 -0500)]
loader: Fix comments in struct ast_module.

Make the comments follow doxygen format, move comments to the line
before each field they describe.

Change-Id: Ic445468398b5e88f13910f7c2f70bd15aad33a27

3 years agoMerge "res_pjsip: Use sorcery prefix operation for contact lookup"
Joshua Colp [Mon, 20 Nov 2017 22:48:23 +0000 (16:48 -0600)]
Merge "res_pjsip: Use sorcery prefix operation for contact lookup"

3 years agoMerge "acl: Fix allocation related issues."
Joshua Colp [Mon, 20 Nov 2017 22:47:56 +0000 (16:47 -0600)]
Merge "acl: Fix allocation related issues."

3 years agoMerge "bridge_basic: Ignore answer from transfer target when they've timed out."
Joshua Colp [Mon, 20 Nov 2017 20:54:48 +0000 (14:54 -0600)]
Merge "bridge_basic: Ignore answer from transfer target when they've timed out."

3 years agocli: Remove silly usage of RAII_VAR.
Corey Farrell [Thu, 16 Nov 2017 23:25:04 +0000 (18:25 -0500)]
cli: Remove silly usage of RAII_VAR.

Change-Id: I81aacfee7cd26e4fc5eef07bca582700c2975bd7

3 years agoMerge "doxygen: Remove obsolete contents."
Joshua Colp [Mon, 20 Nov 2017 20:29:40 +0000 (14:29 -0600)]
Merge "doxygen: Remove obsolete contents."

3 years agoccss: Remove silly usage of RAII_VAR.
Corey Farrell [Thu, 16 Nov 2017 19:19:19 +0000 (14:19 -0500)]
ccss: Remove silly usage of RAII_VAR.

Change-Id: I5ce40035e0a940e4e56f6322c1dcd47fbd509b98

3 years agoapp: Remove silly usage of RAII_VAR.
Corey Farrell [Thu, 16 Nov 2017 18:51:37 +0000 (13:51 -0500)]
app: Remove silly usage of RAII_VAR.

Change-Id: Ideb594f7aae134974fb78d5477ba0853b97b8625

3 years agoaoc: Remove silly usage of RAII_VAR.
Corey Farrell [Thu, 16 Nov 2017 18:19:43 +0000 (13:19 -0500)]
aoc: Remove silly usage of RAII_VAR.

Change-Id: I07907f833b81aeb0128bc9442a2abb52679c7511

3 years agoabstract_jb: Remove silly usage of RAII_VAR.
Corey Farrell [Thu, 16 Nov 2017 18:55:14 +0000 (13:55 -0500)]
abstract_jb: Remove silly usage of RAII_VAR.

Change-Id: I9d56175369363d1dc735504cf78a3a5577069f49

3 years agoMerge "res_fax: Remove checks for unsigned values being >= 0."
Joshua Colp [Mon, 20 Nov 2017 19:33:35 +0000 (13:33 -0600)]
Merge "res_fax: Remove checks for unsigned values being >= 0."

3 years agores_mwi_external_ami: Remove incorrect load priority.
Corey Farrell [Mon, 20 Nov 2017 19:08:57 +0000 (14:08 -0500)]
res_mwi_external_ami: Remove incorrect load priority.

res_mwi_external_ami specified AST_MODFLAG_LOAD_ORDER but didn't set
load_pri, resulting in an actual load priority of 0.  This module only
provides AMI actions so it has no reason to load early.

Change-Id: I82987fcf10d3ea42716b2f9df915b16687fd5839

3 years agoLoader: Remove unneeded load_pri declarations.
Corey Farrell [Mon, 20 Nov 2017 18:54:38 +0000 (13:54 -0500)]
Loader: Remove unneeded load_pri declarations.

Instead of specifying AST_MODFLAG_LOAD_ORDER with load_pri
AST_MODPRI_DEFAULT just use AST_MODFLAG_DEFAULT.

Change-Id: I0123258eafce324249433a69df15a85cc16e509f

3 years agoMerge "res_snmp: Declare RONLY if net-snmp headers do not."
Joshua Colp [Mon, 20 Nov 2017 18:13:01 +0000 (12:13 -0600)]
Merge "res_snmp: Declare RONLY if net-snmp headers do not."

3 years agoMerge "iostream: Fix ast_iostream_printf declaration."
Joshua Colp [Mon, 20 Nov 2017 17:54:06 +0000 (11:54 -0600)]
Merge "iostream: Fix ast_iostream_printf declaration."

3 years agoMerge "tests: Fix warnings found on Mac."
Joshua Colp [Mon, 20 Nov 2017 17:32:51 +0000 (11:32 -0600)]
Merge "tests: Fix warnings found on Mac."

3 years agoMerge "app_minivm: Fix possible uninitialized return value."
Joshua Colp [Mon, 20 Nov 2017 16:39:16 +0000 (10:39 -0600)]
Merge "app_minivm: Fix possible uninitialized return value."

3 years agoBuildSystem: pjsip_evsub_set_uas_timeout was not used.
Alexander Traud [Mon, 20 Nov 2017 15:49:04 +0000 (16:49 +0100)]
BuildSystem: pjsip_evsub_set_uas_timeout was not used.

ASTERISK-27435

Change-Id: Id318a7ae6d7d69b53f911d30bf3eece64852f15c

3 years agoMerge "res_pjsip: Fix warning by deferring implicit type cast."
Joshua Colp [Mon, 20 Nov 2017 15:44:12 +0000 (09:44 -0600)]
Merge "res_pjsip: Fix warning by deferring implicit type cast."

3 years agoBuild: Fix OSX build issues.
Corey Farrell [Sun, 19 Nov 2017 15:57:28 +0000 (10:57 -0500)]
Build: Fix OSX build issues.

OSX does not support 'readlink -f' or 'sed -r'.  Replace readlink with
the GNU make macro 'realpath'.  Replace sed with grep in one place, cut
in the other.

ASTERISK-27332

Change-Id: I5d34ecca905384decb22ead45c913ae5e8aff748

3 years agoBuild: Fix issues building without SSL.
Corey Farrell [Sun, 19 Nov 2017 19:52:59 +0000 (14:52 -0500)]
Build: Fix issues building without SSL.

* Fix conditional in libasteriskssl.
* Use variables produced by configure to link the SSL and uuid libraries
  into libasteriskpj.so instead of hard-coding them.

ASTERISK-27431

Change-Id: I3977931fd3ef8c4e4376349ccddb354eb839b58d

3 years agores_pjsip: Fix warning by deferring implicit type cast.
Corey Farrell [Sun, 19 Nov 2017 19:28:41 +0000 (14:28 -0500)]
res_pjsip: Fix warning by deferring implicit type cast.

Mac doesn't like the comparison of -1 to an enum, so store the result of
ast_sip_str_to_dtmf to an int so we can check for the negative return
value.  ast_sip_str_to_dtmf returns an int so this is only delaying the
implicit type cast.

Change-Id: I0c262c1719ee951aae1f437d733a301cf5f8ad29

3 years agotests: Fix warnings found on Mac.
Corey Farrell [Sun, 19 Nov 2017 03:13:32 +0000 (22:13 -0500)]
tests: Fix warnings found on Mac.

test_pbx used raise without explicitly including signal.h.  On Mac for
some reason nothing else includes it.

test_logger checked if an unsigned int was negative.  Switch the
variable to 'int' so that error check can be effective.

Change-Id: Ie1db5dd1818ac25cc2ae41b644f848b5865b1362

3 years agores_snmp: Declare RONLY if net-snmp headers do not.
Corey Farrell [Sun, 19 Nov 2017 02:25:50 +0000 (21:25 -0500)]
res_snmp: Declare RONLY if net-snmp headers do not.

Some net-snmp builds do not provide the RONLY declare, only
NETSNMP_OLDAPI_RONLY.  Map RONLY to NETSNMP_OLDAPI_RONLY to get around
this error.

Change-Id: Ida5c7ad9406515825485c4d3b4a34fd6ad0da577

3 years agores_fax: Remove checks for unsigned values being >= 0.
Corey Farrell [Sun, 19 Nov 2017 02:02:17 +0000 (21:02 -0500)]
res_fax: Remove checks for unsigned values being >= 0.

It's impossible for gwtimeout or fdtimeout to be less than 0 because
they are unsigned int's.  Remove checks and unreachable branches.

Change-Id: Ib2286960621e6ee245e40013c84986143302bc78

3 years agoiostream: Fix ast_iostream_printf declaration.
Corey Farrell [Sun, 19 Nov 2017 01:50:48 +0000 (20:50 -0500)]
iostream: Fix ast_iostream_printf declaration.

This adds the printf attribute and changes 'fmt' from 'const void *' to
'const char *'.  This resolves a warning from some compiler for
vsnprintf needing a literal string for format.

Change-Id: I71c33a8262590042ee451e1146760c10bb22fb78

3 years agoapp_minivm: Fix possible uninitialized return value.
Corey Farrell [Sun, 19 Nov 2017 01:29:16 +0000 (20:29 -0500)]
app_minivm: Fix possible uninitialized return value.

Declare 'res' initialized to -1 to deal with earlier error paths that
could cause 'res' to be returned uninitialized.

Change-Id: I8ac2a5755bf4174d89ef893e924c940f702b104e

3 years agores_rtp_asterisk.c: Fix rtp source address learning for broken clients
Pirmin Walthert [Thu, 16 Nov 2017 08:47:39 +0000 (09:47 +0100)]
res_rtp_asterisk.c: Fix rtp source address learning for broken clients

Some clients do not send rtp packets every ptime ms. This can lead to
situations in which the rtp source learning algorithm will never learn
the address of the client. This has been discovered on a Mac mini with
a pjsip based softphone after updating to Sierra: as soon as USB
headsets are involved, the softphone will send the second packet 30ms
after the first, the third 30ms after the second and the fourth 1ms
after the third. So in the old implmentation the rtp source learning
algorithm was repeatedly reset on the fourth packet.

The patch changes the algorithm in a way that doesn't take the arrival
time between two consecutive packets into account but the time between
the first and the last packet of a learning sequence.

The patch also fixes a second problem: when a user was using a wrong
value for the probation setting there was a LOG_WARNING output stating
that the value had been set to the default value instead. However
the code for setting the value back to defaults was missing.

ASTERISK-27421 #close

Change-Id: If778fe07678a6fd2041eaca7cd78267d0ef4fc6c

3 years agoREADME: Send people to secure websites where available.
Corey Farrell [Sat, 18 Nov 2017 01:36:40 +0000 (20:36 -0500)]
README: Send people to secure websites where available.

We should be sending people to secure web URL's where available.
Update README's and docs.

Change-Id: Id5b1e049b0b18b49a784f1254605aefa244ce19a

3 years agodoxygen: Remove obsolete contents.
Corey Farrell [Sat, 18 Nov 2017 01:54:33 +0000 (20:54 -0500)]
doxygen: Remove obsolete contents.

Remove doxygen contents that have nothing to do with the current state
of Asterisk.

Change-Id: Ic072cc8641f9533a202990ccf275ce87e3efd95c

3 years agores_pjsip: Use reasonable buffer lengths for endpoint identification
Sean Bright [Fri, 17 Nov 2017 15:57:54 +0000 (10:57 -0500)]
res_pjsip: Use reasonable buffer lengths for endpoint identification

Domains themselves can be up to 255 characters long (per RFC 1035), so
our current buffer sizes are wholly inadequate for many use cases.

Change-Id: If3f30a68307f1365a1fe06bc4b854c62842c9292

3 years agomenuselect: Remove ineffective weak attribute detection.
Corey Farrell [Sat, 11 Nov 2017 16:09:29 +0000 (11:09 -0500)]
menuselect: Remove ineffective weak attribute detection.

menuselect detects compiler support for multiple styles of weak
functions.  This is a remnant from 2013 when OPTIONAL_API required weak
functions.  It is no longer correct for menuselect to switch
dependencies from optional to required based on lack of weak function
support.

Note an issue remains - dependencies should switch from optional to
required based on OPTIONAL_API being enabled or disabled.  I don't think
this is possible.  menuselect needs to know at startup if OPTIONAL_API
is enabled or disabled, so the only way to fix this is to remove
OPTIONAL_API from menuselect and create a configure option.  I've left
the code that switches in place but it's preprocessed out.

Additionally removed:
- WEAKREF variable from Asterisk makeopts.in.
- Related disabled code from test_utils.
- Pointless AC_REVISION call from menuselect/configure.ac.

Change-Id: Ifa702e5f98eb45f338b2f131a93354632a8fb389

3 years agoMerge "DEBUG_FD_LEAKS: Add missing FD creators."
Joshua Colp [Fri, 17 Nov 2017 15:26:48 +0000 (09:26 -0600)]
Merge "DEBUG_FD_LEAKS: Add missing FD creators."

3 years agoMerge "Build: Make function constructor/destructor attributes mandatory."
Joshua Colp [Fri, 17 Nov 2017 15:26:33 +0000 (09:26 -0600)]
Merge "Build: Make function constructor/destructor attributes mandatory."

3 years agoacl: Fix allocation related issues.
Corey Farrell [Thu, 16 Nov 2017 15:48:36 +0000 (10:48 -0500)]
acl: Fix allocation related issues.

Add checks for allocation errors, cleanup and report failure when they
occur.

* ast_duplicate_acl_list: Replace log warnings with errors, add missing
  line-feed.
* ast_append_acl: Add missing line-feed to logger message.
* ast_append_ha: Avoid ast_strdupa in loop by moving debug message to
  separate function.
* ast_ha_join: Use two separate calls to ast_str_append to avoid using
  ast_strdupa in a loop.

Change-Id: Ia19eaaeb0b139ff7ce7b971c7550e85c8b78ab76

3 years agoMerge "aoc: Fix memory management issues."
Jenkins2 [Fri, 17 Nov 2017 12:43:17 +0000 (06:43 -0600)]
Merge "aoc: Fix memory management issues."