Commit Graph

29584 Commits

Author SHA1 Message Date
Corey Farrell
e9ba6a6b88 CLI: Finish conversion of completion handling to vectors.
Change-Id: Ib81318f4ee52a5e73b003316e13fe9be1dd897a1
2017-11-21 09:56:31 -05:00
Corey Farrell
26a400c67a 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
2017-11-21 09:56:29 -05:00
Corey Farrell
e723331f4f 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
2017-11-21 09:56:26 -05:00
Corey Farrell
e07d94111d 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
2017-11-21 09:56:23 -05:00
Corey Farrell
8a63f4e709 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
2017-11-21 09:47:40 -05:00
Corey Farrell
115f53a0fb 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
2017-11-21 09:47:38 -05:00
Joshua Colp
0fd8db7ec2 Merge "ccss: Remove silly usage of RAII_VAR." into 13 2017-11-21 08:17:23 -06:00
Joshua Colp
a8ac9a551d Merge "cli: Remove silly usage of RAII_VAR." into 13 2017-11-21 07:55:03 -06:00
Joshua Colp
090ce0cd1b Merge "loader: Fix comments in struct ast_module." into 13 2017-11-21 07:14:32 -06:00
Joshua Colp
4e6a0d5683 Merge "menuselect: Remove ineffective weak attribute detection." into 13 2017-11-21 06:50:53 -06:00
Joshua Colp
29bf57ff2f Merge "CLI: Create ast_cli_completion_vector." into 13 2017-11-21 05:23:58 -06:00
Joshua Colp
4045cb4df9 Merge "README: Send people to secure websites where available." into 13 2017-11-21 05:23:50 -06:00
Joshua Colp
3ce96d2e03 Merge "Build: Fix issues building without SSL." into 13 2017-11-21 05:23:28 -06:00
Joshua Colp
1aba7dd229 Merge "Build: Fix OSX build issues." into 13 2017-11-21 05:23:18 -06:00
Alexander Traud
41498dcb5d chan_sip: ICE contained square brackets around IPv6 addresses.
ASTERISK-27434

Change-Id: Iaeed89b4fa05d94c5f0ec2d3b7cd6e93d2d5a8f7
2017-11-21 03:53:52 -06:00
Corey Farrell
84fd41729e 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
2017-11-20 19:25:02 -05:00
Joshua Colp
1e68c8e738 Merge "res_pjsip: Use sorcery prefix operation for contact lookup" into 13 2017-11-20 16:53:25 -06:00
Joshua Colp
9b34aaddd9 Merge changes from topic 'alloc-check-acl' into 13
* changes:
  acl: Fix allocation related issues.
  acl: Update logger message to match 15+.
2017-11-20 16:48:15 -06:00
Corey Farrell
df6161b70e cli: Remove silly usage of RAII_VAR.
Change-Id: I81aacfee7cd26e4fc5eef07bca582700c2975bd7
2017-11-20 15:32:29 -05:00
Joshua Colp
da89afc2e2 Merge "bridge_basic: Ignore answer from transfer target when they've timed out." into 13 2017-11-20 14:30:05 -06:00
Corey Farrell
1e2b38adf5 ccss: Remove silly usage of RAII_VAR.
Change-Id: I5ce40035e0a940e4e56f6322c1dcd47fbd509b98
2017-11-20 15:25:57 -05:00
Corey Farrell
ddc86ec664 app: Remove silly usage of RAII_VAR.
Change-Id: Ideb594f7aae134974fb78d5477ba0853b97b8625
2017-11-20 15:09:02 -05:00
Corey Farrell
0e90d74604 aoc: Remove silly usage of RAII_VAR.
Change-Id: I07907f833b81aeb0128bc9442a2abb52679c7511
2017-11-20 15:05:14 -05:00
Corey Farrell
746dd80eab abstract_jb: Remove silly usage of RAII_VAR.
Change-Id: I9d56175369363d1dc735504cf78a3a5577069f49
2017-11-20 15:02:21 -05:00
Joshua Colp
bef287ccf2 Merge "doxygen: Remove obsolete contents." into 13 2017-11-20 13:46:22 -06:00
Corey Farrell
8971a7ff3c 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
2017-11-20 14:10:09 -05:00
Corey Farrell
9d688cf12c 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
2017-11-20 14:08:57 -05:00
Joshua Colp
3356c796a0 Merge "res_fax: Remove checks for unsigned values being >= 0." into 13 2017-11-20 12:51:18 -06:00
Joshua Colp
be3a33f3d1 Merge "res_snmp: Declare RONLY if net-snmp headers do not." into 13 2017-11-20 12:18:22 -06:00
Joshua Colp
b611cd6f9c Merge "tests: Fix warnings found on Mac." into 13 2017-11-20 11:32:47 -06:00
Joshua Colp
9c8894c4af Merge "app_minivm: Fix possible uninitialized return value." into 13 2017-11-20 10:22:12 -06:00
Alexander Traud
50cb5199c1 BuildSystem: pjsip_evsub_set_uas_timeout was not used.
ASTERISK-27435

Change-Id: Id318a7ae6d7d69b53f911d30bf3eece64852f15c
2017-11-20 09:56:30 -06:00
Joshua Colp
e0f9d4d808 Merge "res_pjsip: Fix warning by deferring implicit type cast." into 13 2017-11-20 09:44:36 -06:00
Corey Farrell
6a5ab65c88 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
2017-11-19 15:19:46 -05:00
Corey Farrell
366cc259bc 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
2017-11-19 14:28:41 -05:00
Corey Farrell
69113388e9 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
2017-11-19 14:27:28 -05:00
Corey Farrell
5fe2e7bfdc 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
2017-11-18 21:16:03 -06:00
Corey Farrell
d68e54b7ab 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
2017-11-18 20:28:30 -06:00
Corey Farrell
0f270cbe9e 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
2017-11-18 20:05:11 -06:00
Corey Farrell
3dca4c7742 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
2017-11-18 19:37:06 -06:00
Corey Farrell
5f0b4a1645 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
2017-11-17 21:11:13 -05:00
Corey Farrell
a369bfc4b2 doxygen: Remove obsolete contents.
Remove doxygen contents that have nothing to do with the current state
of Asterisk.

Change-Id: Ic072cc8641f9533a202990ccf275ce87e3efd95c
2017-11-17 20:58:28 -05:00
Pirmin Walthert
6b0963c42a 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
2017-11-18 00:01:30 +01:00
Sean Bright
3c72064d3f 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
2017-11-17 11:22:10 -05:00
Corey Farrell
455b1bdeb0 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
2017-11-17 10:48:33 -05:00
Joshua Colp
ef8ee3ee69 Merge "Build: Make function constructor/destructor attributes mandatory." into 13 2017-11-17 09:18:39 -06:00
Corey Farrell
549542e50e 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
2017-11-17 09:35:22 -05:00
Corey Farrell
2852dac480 acl: Update logger message to match 15+.
This patch causes a logger message to be the same as it is in 15+.  This
will allow a follow-up patch to be cherry-picked to all 3 branches.

Change-Id: Ic0665a3d49987e4eb6df28dcd9e90b1c3ca191e0
2017-11-17 09:34:25 -05:00
Corey Farrell
0b8b153d3c CLI: Create ast_cli_completion_vector.
This is a rewrite of ast_cli_completion_matches using a vector to build
the list.  The original function calls the vector version, NULL
terminates the vector and extracts the elements array.

One change in behavior the results are now sorted and deduplicated. This
will solve bugs where some duplicate checking was done before the list
was sorted.

Change-Id: Iede20c5b4d965fa5ec71fda136ce9425eeb69519
2017-11-17 09:28:43 -05:00
Jenkins2
2e9c7f9b8f Merge "aoc: Fix memory management issues." into 13 2017-11-17 06:50:57 -06:00