]> git.ipfire.org Git - thirdparty/curl.git/log
thirdparty/curl.git
5 years agocurl.h: remove WIN32 define
Daniel Stenberg [Mon, 6 Jan 2020 22:31:42 +0000 (23:31 +0100)] 
curl.h: remove WIN32 define

It isn't our job to define this in a public header - and it defines a
name outside of our naming scope.

5 years agotool_dirhie.c: fix the copyright year range
Daniel Stenberg [Thu, 9 Jan 2020 21:49:02 +0000 (22:49 +0100)] 
tool_dirhie.c: fix the copyright year range

Follow-up to: 4027bd72d9

5 years agobump: work towards 7.69.0 is started
Daniel Stenberg [Thu, 9 Jan 2020 21:37:59 +0000 (22:37 +0100)] 
bump: work towards 7.69.0 is started

5 years agotool_dirhie: Allow directory traversal during creation
Jay Satiro [Wed, 8 Jan 2020 00:44:51 +0000 (19:44 -0500)] 
tool_dirhie: Allow directory traversal during creation

- When creating a directory hierarchy do not error when mkdir fails due
  to error EACCESS (13) "access denied".

Some file systems allow for directory traversal; in this case that it
should be possible to create child directories when permission to the
parent directory is restricted.

This is a regression caused by me in f16bed0 (precedes curl-7_61_1).
Basically I had assumed that if a directory already existed it would
fail only with error EEXIST, and not error EACCES. The latter may
happen if the directory exists but has certain restricted permissions.

Reported-by: mbeifuss@users.noreply.github.com
Fixes https://github.com/curl/curl/issues/4796
Closes https://github.com/curl/curl/pull/4797

5 years agoKNOWN_BUGS: AUTH PLAIN for SMTP is not working on all servers
Daniel Stenberg [Thu, 9 Jan 2020 15:19:34 +0000 (16:19 +0100)] 
KNOWN_BUGS: AUTH PLAIN for SMTP is not working on all servers

Closes #4080

5 years agodocs/RELEASE-PROCEDURE.md: pushed some release dates
Daniel Stenberg [Thu, 9 Jan 2020 08:25:56 +0000 (09:25 +0100)] 
docs/RELEASE-PROCEDURE.md: pushed some release dates

Ref: https://curl.haxx.se/mail/lib-2020-01/0031.html

5 years agoruntests: make random seed fixed for a month
Daniel Stenberg [Wed, 18 Dec 2019 14:37:20 +0000 (15:37 +0100)] 
runtests: make random seed fixed for a month

When using randomized features of runtests (-R and --shallow) it is
useful to have a fixed random seed to make sure for example extra
commits in a branch or a rebase won't change the seed that would make
repeated runs work differently.

As it is also useful to change seed sometimes, the default seed is now
determined based on the current month (and first line curl -V
output). When the month changes, so will the random seed.

The specific seed is also shown in the standard test suite top header
and it can be set explictly with the new --seed=[num] option so that the
exact order of a previous run can be achieved.

Closes #4734

5 years agoRELEASE-PROCEDURE.md: fix next release date (Feb 26)
Daniel Stenberg [Wed, 8 Jan 2020 08:47:37 +0000 (09:47 +0100)] 
RELEASE-PROCEDURE.md: fix next release date (Feb 26)

[skip ci]

5 years agoRELEASE-NOTES: 7.68.0 curl-7_68_0
Daniel Stenberg [Sat, 4 Jan 2020 21:48:15 +0000 (22:48 +0100)] 
RELEASE-NOTES: 7.68.0

5 years agoTHANKS: updated with names from the 7.68.0 release
Daniel Stenberg [Sat, 4 Jan 2020 21:49:37 +0000 (22:49 +0100)] 
THANKS: updated with names from the 7.68.0 release

5 years agoRELEASE-PROCEDURE: add four future release dates
Daniel Stenberg [Tue, 7 Jan 2020 14:16:46 +0000 (15:16 +0100)] 
RELEASE-PROCEDURE: add four future release dates

and remove four past release dates

[skip ci]

5 years agoTrackMemory tests: always remove CR before LF
Marcel Raad [Mon, 6 Jan 2020 10:11:50 +0000 (11:11 +0100)] 
TrackMemory tests: always remove CR before LF

It was removed for output containing ' =' via `s/ =.*//`. With classic
MinGW, this made lines with `free()` end with CRLF, but lines with e.g.
`malloc()` end with only LF. The tests expect LF only.

Closes https://github.com/curl/curl/pull/4788

5 years agomulti.h: move INITIAL_MAX_CONCURRENT_STREAMS from public header
Daniel Stenberg [Mon, 6 Jan 2020 12:13:33 +0000 (13:13 +0100)] 
multi.h: move INITIAL_MAX_CONCURRENT_STREAMS from public header

... to the private multihhandle.h. It is not for public use and it
wasn't prefixed correctly anyway!

Closes #4790

5 years agofile: fix copyright year range
Daniel Stenberg [Mon, 6 Jan 2020 09:12:02 +0000 (10:12 +0100)] 
file: fix copyright year range

Follow-up to 1b71bc532bd

5 years agocurl -w: handle a blank input file correctly
Daniel Stenberg [Sat, 4 Jan 2020 10:41:35 +0000 (11:41 +0100)] 
curl -w: handle a blank input file correctly

Previously it would end up with an uninitialized memory buffer that
would lead to a crash or junk getting output.

Added test 1271 to verify.

Reported-by: Brian Carpenter
Closes #4786

5 years agofile: on Windows, refuse paths that start with \\
Daniel Stenberg [Thu, 7 Nov 2019 09:13:01 +0000 (10:13 +0100)] 
file: on Windows, refuse paths that start with \\

... as that might cause an unexpected SMB connection to a given host
name.

Reported-by: Fernando Muñoz
CVE-2019-15601
Bug: https://curl.haxx.se/docs/CVE-2019-15601.html

5 years agoCURLOPT_READFUNCTION.3: fix fopen params in example
Jay Satiro [Mon, 6 Jan 2020 08:09:53 +0000 (03:09 -0500)] 
CURLOPT_READFUNCTION.3: fix fopen params in example

5 years agoCURLOPT_READFUNCTION.3: fix variable name in example
Jay Satiro [Mon, 6 Jan 2020 08:01:33 +0000 (03:01 -0500)] 
CURLOPT_READFUNCTION.3: fix variable name in example

Reported-by: Paul Joyce
Fixes https://github.com/curl/curl/issues/4787

5 years agocurl:getparameter return error for --http3 if libcurl doesn't support
Daniel Stenberg [Sun, 5 Jan 2020 16:12:03 +0000 (17:12 +0100)] 
curl:getparameter return error for --http3 if libcurl doesn't support

Closes #4785

5 years agodocs: mention CURL_MAX_INPUT_LENGTH restrictions
Daniel Stenberg [Sun, 5 Jan 2020 09:23:11 +0000 (10:23 +0100)] 
docs: mention CURL_MAX_INPUT_LENGTH restrictions

... for curl_easy_setopt() and curl_url_set().

[skip ci]

Closes #4783

5 years agocurl: properly free mimepost data
Daniel Stenberg [Sat, 4 Jan 2020 20:40:49 +0000 (21:40 +0100)] 
curl: properly free mimepost data

... as it could otherwise leak memory when a transfer failed.

Added test 1293 to verify.

Reported-by: Brian Carpenter
Fixes #4781
Closes #4782

5 years agocurl: cleanup multi handle on failure
Daniel Stenberg [Sat, 4 Jan 2020 15:27:56 +0000 (16:27 +0100)] 
curl: cleanup multi handle on failure

... to fix memory leak in error path.

Fixes #4772
Closes #4780
Reported-by: Brian Carpenter
5 years agolib: fix compiler warnings with `CURL_DISABLE_VERBOSE_STRINGS`
Marcel Raad [Fri, 3 Jan 2020 12:30:34 +0000 (13:30 +0100)] 
lib: fix compiler warnings with `CURL_DISABLE_VERBOSE_STRINGS`

Closes https://github.com/curl/curl/pull/4775

5 years agoCOPYING: it's 2020!
Daniel Stenberg [Fri, 3 Jan 2020 14:12:10 +0000 (15:12 +0100)] 
COPYING: it's 2020!

[skip ci]

5 years agotests: Fix bounce requests with truncated writes
Marc Aldorasi [Thu, 2 Jan 2020 17:05:11 +0000 (12:05 -0500)] 
tests: Fix bounce requests with truncated writes

Prior to this change the swsbounce check in service_connection could
fail because prevtestno and prevpartno were not set, which would cause
the wrong response data to be sent to some tests and cause them to fail.

Ref: https://github.com/curl/curl/pull/4717#issuecomment-570240785

5 years agotool: make a few char pointers point to const char instead
Marcel Raad [Sat, 13 Apr 2019 21:00:45 +0000 (23:00 +0200)] 
tool: make a few char pointers point to const char instead

These are read-only.

Closes https://github.com/curl/curl/pull/4771

5 years agotests: Change NTLM tests to require SSL
Jay Satiro [Sun, 29 Dec 2019 20:23:25 +0000 (15:23 -0500)] 
tests: Change NTLM tests to require SSL

Prior to this change tests that required NTLM feature did not require
SSL feature.

There are pending changes to cmake builds that will allow enabling NTLM
in non-SSL builds in Windows. In that case the NTLM auth strings created
are different from what is expected by the NTLM tests and they fail:

"The issue with NTLM is that previous non-SSL builds would not enable
NTLM and so the NTLM tests would be skipped."

Assisted-by: marc-groundctl@users.noreply.github.com
Ref: https://github.com/curl/curl/pull/4717#issuecomment-566218729

Closes https://github.com/curl/curl/pull/4768

5 years agobearssl: Improve I/O handling
Michael Forney [Sat, 21 Dec 2019 03:20:18 +0000 (19:20 -0800)] 
bearssl: Improve I/O handling

Factor out common I/O loop as bearssl_run_until, which reads/writes TLS
records until the desired engine state is reached. This is now used for
the handshake, read, write, and close.

Match OpenSSL SSL_write behavior, and don't return the number of bytes
written until the corresponding records have been completely flushed
across the socket. This involves keeping track of the length of data
buffered into the TLS engine, and assumes that when CURLE_AGAIN is
returned, the write function will be called again with the same data
and length arguments. This is the same requirement of SSL_write.

Handle TLS close notify as EOF when reading by returning 0.

Closes https://github.com/curl/curl/pull/4748

5 years agotravis: Fix error detection
Jay Satiro [Sat, 28 Dec 2019 06:56:05 +0000 (01:56 -0500)] 
travis: Fix error detection

- Stop using inline shell scripts for before_script and script sections.

Prior to this change Travis could ignore errors from commands in inline
scripts. I don't understand how or why it happens. This is a workaround.

Assisted-by: Simon Warta
Ref: https://github.com/travis-ci/travis-ci/issues/1066

Fixes https://github.com/curl/curl/issues/3730
Closes https://github.com/curl/curl/pull/3755

5 years agotool_operate: fix mem leak when failed config parse
Jay Satiro [Sun, 29 Dec 2019 19:18:48 +0000 (14:18 -0500)] 
tool_operate: fix mem leak when failed config parse

Found by fuzzing the config file.

Reported-by: Geeknik Labs
Fixes https://github.com/curl/curl/issues/4767

5 years agolib: remove erroneous +x file permission on some c files
Xiang Xiao [Tue, 24 Dec 2019 13:47:37 +0000 (21:47 +0800)] 
lib: remove erroneous +x file permission on some c files

Modified by commit eb9a604 accidentally.

Closes https://github.com/curl/curl/pull/4756

5 years agolib: fix warnings found when porting to NuttX
Xiang Xiao [Tue, 24 Dec 2019 13:28:32 +0000 (21:28 +0800)] 
lib: fix warnings found when porting to NuttX

- Undefine DEBUGASSERT in curl_setup_once.h in case it was already
  defined as a system macro.

- Don't compile write32_le in curl_endian unless
  CURL_SIZEOF_CURL_OFF_T > 4, since it's only used by Curl_write64_le.

- Include <arpa/inet.h> in socketpair.c.

Closes https://github.com/curl/curl/pull/4756

5 years agoos400: Add missing CURLE error constants
Jay Satiro [Thu, 26 Dec 2019 21:20:11 +0000 (16:20 -0500)] 
os400: Add missing CURLE error constants

Bug: https://github.com/curl/curl/pull/4754#issuecomment-569126922
Reported-by: Emil Engler
5 years agoCURLOPT_HEADERFUNCTION.3: Document that size is always 1
Jay Satiro [Thu, 26 Dec 2019 07:26:08 +0000 (02:26 -0500)] 
CURLOPT_HEADERFUNCTION.3: Document that size is always 1

For compatibility with `fwrite`, the `CURLOPT_HEADERFUNCTION` callback
is passed two `size_t` parameters which, when multiplied, designate the
number of bytes of data passed in. In practice, CURL always sets the
first parameter (`size`) to 1.

This practice is also enshrined in documentation and cannot be changed
in future. The documentation states that the default callback is
`fwrite`, which means `fwrite` must be a suitable function for this
purpose. However, the documentation also states that the callback must
return the number of *bytes* it successfully handled, whereas ISO C
`fwrite` returns the number of items (each of size `size`) which it
wrote. The only way these numbers can be equal is if `size` is 1.

Since `size` is 1 and can never be changed in future anyway, document
that fact explicitly and let users rely on it.

Reported-by: Frank Gevaerts
Commit-message-by: Christopher Head
Ref: https://github.com/curl/curl/pull/2787

Fixes https://github.com/curl/curl/issues/4758

5 years agoexamples/postinmemory.c: Call curl_global_cleanup always
Jay Satiro [Tue, 24 Dec 2019 06:06:47 +0000 (01:06 -0500)] 
examples/postinmemory.c: Call curl_global_cleanup always

Prior to this change curl_global_cleanup was not called if
curl_easy_init failed.

Reported-by: kouzhudong@users.noreply.github.com
Fixes https://github.com/curl/curl/issues/4751

5 years agourl2file.c: fix copyright year
Daniel Stenberg [Sat, 21 Dec 2019 17:17:55 +0000 (18:17 +0100)] 
url2file.c: fix copyright year

Follow-up to 525787269599b5

5 years agoexamples/url2file.c: corrected a comment
Rickard Hallerbäck [Fri, 20 Dec 2019 08:40:38 +0000 (09:40 +0100)] 
examples/url2file.c: corrected a comment

The comment was confusing and suggested that setting CURLOPT_NOPROGRESS
to 0L would both enable and disable debug output at the same time, like
a Schrödinger's cat of CURLOPTs.

Closes #4745

5 years agoHISTORY: OSS-Fuzz started fuzzing libcurl in 2017
Daniel Stenberg [Fri, 20 Dec 2019 10:03:57 +0000 (11:03 +0100)] 
HISTORY: OSS-Fuzz started fuzzing libcurl in 2017

5 years agoRELEASE-NOTES: synced
Daniel Stenberg [Fri, 20 Dec 2019 07:48:57 +0000 (08:48 +0100)] 
RELEASE-NOTES: synced

5 years agongtcp2: Support the latest update key callback type 4735/head
Jay Satiro [Wed, 18 Dec 2019 18:56:16 +0000 (13:56 -0500)] 
ngtcp2: Support the latest update key callback type

- Remove our cb_update_key in favor of ngtcp2's new
  ngtcp2_crypto_update_key_cb which does the same thing.

Several days ago the ngtcp2_update_key callback function prototype was
changed in ngtcp2/ngtcp2@42ce09c. Though it would be possible to
fix up our cb_update_key for that change they also added
ngtcp2_crypto_update_key_cb which does the same thing so we'll use that
instead.

Ref: https://github.com/ngtcp2/ngtcp2/commit/42ce09c

Closes https://github.com/curl/curl/pull/4735

5 years agosws: search for "Testno:" header uncondtionally if no testno
Daniel Stenberg [Thu, 19 Dec 2019 15:45:53 +0000 (16:45 +0100)] 
sws: search for "Testno:" header uncondtionally if no testno

Even if the initial request line wasn't found. With the fix to 1455, the
test number is now detected correctly.

(Problem found when running tests in random order.)

Closes #4744

5 years agotests: set LC_ALL in more tests
Daniel Stenberg [Thu, 19 Dec 2019 15:44:07 +0000 (16:44 +0100)] 
tests: set LC_ALL in more tests

Follow-up to 23208e330ac0c21

Closes #4743

5 years agotest165: set LC_ALL=en_US.UTF-8 too
Daniel Stenberg [Thu, 19 Dec 2019 09:10:54 +0000 (10:10 +0100)] 
test165: set LC_ALL=en_US.UTF-8 too

On my current Debian Unstable with libidn2 2.2.0, I get an error if
LC_ALL is set to blank. Then curl errors out with:

curl: (3) Failed to convert www.åäö.se to ACE; could not convert string to UTF-8

Closes #4738

5 years agocurl.h: add two defines for the "pre ISO C" case
Daniel Stenberg [Thu, 19 Dec 2019 10:00:58 +0000 (11:00 +0100)] 
curl.h: add two defines for the "pre ISO C" case

Without this fix, this caused a compilation failure on AIX with IBM xlc
13.1.3 compiler.

Reported-by: Ram Krushna Mishra
Fixes #4739
Closes #4740

5 years agocreate_conn: prefer multiplexing to using new connections
Daniel Stenberg [Wed, 18 Dec 2019 13:03:36 +0000 (14:03 +0100)] 
create_conn: prefer multiplexing to using new connections

... as it would previously prefer new connections rather than
multiplexing in most conditions! The (now removed) code was a leftover
from the Pipelining code that was translated wrongly into a
multiplex-only world.

Reported-by: Kunal Ekawde
Bug: https://curl.haxx.se/mail/lib-2019-12/0060.html
Closes #4732

5 years agotest1456: remove the use of a fixed local port
Daniel Stenberg [Wed, 18 Dec 2019 13:38:35 +0000 (14:38 +0100)] 
test1456: remove the use of a fixed local port

Fixup the test to instead not compare the port number. It sometimes
caused problems like this:

"curl: (45) bind failed with errno 98: Address already in use"

Closes #4733

5 years agoCURLOPT_QUOTE.3: fix typos
Jay Satiro [Wed, 18 Dec 2019 20:21:36 +0000 (15:21 -0500)] 
CURLOPT_QUOTE.3: fix typos

Prior to this change the EXAMPLE in the QUOTE/PREQUOTE/POSTQUOTE man
pages would not compile because a variable name was incorrect.

Reported-by: Bylon2@users.noreply.github.com
Fixes https://github.com/curl/curl/issues/4736

5 years agostrerror: Fix compiler warning "empty expression"
Gisle Vanem [Wed, 18 Dec 2019 19:09:29 +0000 (14:09 -0500)] 
strerror: Fix compiler warning "empty expression"

- Remove the final semi-colon in the SEC2TXT() macro definition.

Before:  #define SEC2TXT(sec) case sec: txt = #sec; break;

After:   #define SEC2TXT(sec) case sec: txt = #sec; break

Prior to this change SEC2TXT(foo); would generate break;; which caused
the empty expression warning.

Ref: https://github.com/curl/curl/commit/5b22e1a#r36458547

5 years agocurl/parseconfig: use curl_free() to free memory allocated by libcurl
Daniel Stenberg [Wed, 18 Dec 2019 12:43:50 +0000 (13:43 +0100)] 
curl/parseconfig: use curl_free() to free memory allocated by libcurl

Reported-by: bxac on github
Fixes #4730
Closes #4731

5 years agocurl/parseconfig: fix mem-leak
Daniel Stenberg [Wed, 18 Dec 2019 12:30:39 +0000 (13:30 +0100)] 
curl/parseconfig: fix mem-leak

When looping, first trying '.curlrc' and then '_curlrc', the function
would not free the first string.

Closes #4731

5 years agoCURLOPT_URL.3: "curl supports SMB version 1 (only)"
Daniel Stenberg [Wed, 18 Dec 2019 09:14:18 +0000 (10:14 +0100)] 
CURLOPT_URL.3: "curl supports SMB version 1 (only)"

[skip ci]

5 years agotest1270: a basic -w redirect_url test
Daniel Stenberg [Tue, 17 Dec 2019 13:43:19 +0000 (14:43 +0100)] 
test1270: a basic -w redirect_url test

Closes #4728

5 years agoHISTORY: the SMB(S) support landed in 2014
Daniel Stenberg [Wed, 18 Dec 2019 07:24:51 +0000 (08:24 +0100)] 
HISTORY: the SMB(S) support landed in 2014

5 years agodefine: remove HAVE_ENGINE_LOAD_BUILTIN_ENGINES, not used anymore
Daniel Stenberg [Mon, 16 Dec 2019 21:53:10 +0000 (22:53 +0100)] 
define: remove HAVE_ENGINE_LOAD_BUILTIN_ENGINES, not used anymore

It is covered by USE_OPENSSL_ENGINE now.

Reported-by: Gisle Vanem
Bug: https://github.com/curl/curl/commit/87b9337c8f76c21c57b204e88b68c6ecf3bd1ac0#commitcomment-36447951

Closes #4725

5 years agolib: remove ASSIGNWITHINCONDITION exceptions, use our code style
Daniel Stenberg [Mon, 16 Dec 2019 07:50:46 +0000 (08:50 +0100)] 
lib: remove ASSIGNWITHINCONDITION exceptions, use our code style

... even for macros

Reviewed-by: Daniel Gustafsson
Reviewed-by: Jay Satiro
Reported-by: Jay Satiro
Fixes #4683
Closes #4722

5 years agotests: make sure checksrc runs on header files too
Daniel Stenberg [Mon, 16 Dec 2019 07:52:16 +0000 (08:52 +0100)] 
tests: make sure checksrc runs on header files too

5 years agoRevert "checksrc: fix regexp for ASSIGNWITHINCONDITION"
Daniel Stenberg [Mon, 16 Dec 2019 07:34:14 +0000 (08:34 +0100)] 
Revert "checksrc: fix regexp for ASSIGNWITHINCONDITION"

This reverts commit ba82673dac3e8d00a76aa5e3779a0cb80e7442af.

Bug: #4683

5 years agoKNOWN_BUGS: TLS session cache doesn't work with TFO
Daniel Stenberg [Mon, 16 Dec 2019 15:20:16 +0000 (16:20 +0100)] 
KNOWN_BUGS: TLS session cache doesn't work with TFO

[skip ci]
Closes #4301

5 years agoKNOWN_BUGS: Connection information when using TCP Fast Open
Daniel Stenberg [Mon, 16 Dec 2019 15:17:16 +0000 (16:17 +0100)] 
KNOWN_BUGS: Connection information when using TCP Fast Open

Also point to #4296 for more details
Closes #4296

5 years agoKNOWN_BUGS: LDAP on Windows doesn't work
Daniel Stenberg [Mon, 16 Dec 2019 15:15:39 +0000 (16:15 +0100)] 
KNOWN_BUGS: LDAP on Windows doesn't work

Closes #4261

5 years agodocs: TLS SRP doesn't work with TLS 1.3
Daniel Stenberg [Mon, 16 Dec 2019 15:03:22 +0000 (16:03 +0100)] 
docs: TLS SRP doesn't work with TLS 1.3

Reported-by: sayrer on github
Closes #4262
[skip ci]

5 years agocirrus: Switch to the FreeBSD 12.1 point release & enable more tests.
Dan Fandrich [Mon, 16 Dec 2019 10:25:53 +0000 (11:25 +0100)] 
cirrus: Switch to the FreeBSD 12.1 point release & enable more tests.

A few tests are now passing on FreeBSD, so no longer skip them.
[skip ci]

5 years agoazure: the macos cmake doesn't need to install cmake
Daniel Stenberg [Mon, 16 Dec 2019 08:59:53 +0000 (09:59 +0100)] 
azure: the macos cmake doesn't need to install cmake

 Error: cmake 3.15.5 is already installed
 To upgrade to 3.16.1, run `brew upgrade cmake`.

Closes #4723

5 years agowinbuild: Document CURL_STATICLIB requirement for static libcurl
Jay Satiro [Sun, 15 Dec 2019 22:31:23 +0000 (17:31 -0500)] 
winbuild: Document CURL_STATICLIB requirement for static libcurl

A static libcurl (ie winbuild mode=static) requires that the user define
CURL_STATICLIB when using it in their application. This is already
covered in the FAQ and INSTALL.md, but is a pretty important point so
now it's noted in the BUILD.WINDOWS.txt as well.

Assisted-by: Michael Vittiglio
Closes https://github.com/curl/curl/pull/4721

5 years agolibssh2: add support for ECDSA and ed25519 knownhost keys
Santino Keupp [Fri, 13 Dec 2019 21:55:18 +0000 (22:55 +0100)] 
libssh2: add support for ECDSA and ed25519 knownhost keys

... if a new enough libssh2 version is present.

Source: https://curl.haxx.se/mail/archive-2019-12/0023.html
Co-Authored-by: Daniel Stenberg
Closes #4714

5 years agolib1591: free memory properly on OOM, in the trailers callback
Daniel Stenberg [Sun, 15 Dec 2019 11:33:24 +0000 (12:33 +0100)] 
lib1591: free memory properly on OOM, in the trailers callback

Detected by torture tests.

Closes #4720

5 years agoruntests: --repeat=[num] to repeat tests
Daniel Stenberg [Fri, 13 Dec 2019 16:27:12 +0000 (17:27 +0100)] 
runtests: --repeat=[num] to repeat tests

Closes #4715

5 years agoRELEASE-NOTES: synced
Daniel Stenberg [Sat, 14 Dec 2019 23:37:52 +0000 (00:37 +0100)] 
RELEASE-NOTES: synced

5 years agoazure: add a torture test on mac
Daniel Stenberg [Fri, 13 Dec 2019 14:15:56 +0000 (15:15 +0100)] 
azure: add a torture test on mac

Uses --shallow=25 to keep it small enough to get through in time.

Closes #4712

5 years agomulti: free sockhash on OOM
Daniel Stenberg [Fri, 13 Dec 2019 16:45:21 +0000 (17:45 +0100)] 
multi: free sockhash on OOM

This would otherwise leak memory in the error path.

Detected by torture test 1540.

Closes #4713

5 years agotests: use DoH feature for DoH tests
Marcel Raad [Mon, 9 Dec 2019 15:31:28 +0000 (16:31 +0100)] 
tests: use DoH feature for DoH tests

Previously, http/2 was used instead.

Assisted-by: Jay Satiro
Closes https://github.com/curl/curl/pull/4692

5 years agohostip: suppress compiler warning
Marcel Raad [Mon, 9 Dec 2019 12:48:24 +0000 (13:48 +0100)] 
hostip: suppress compiler warning

With `--disable-doh --disable-threaded-resolver`, the `dns` parameter
is not used.

Closes https://github.com/curl/curl/pull/4692

5 years agotests: fix build with `CURL_DISABLE_DOH`
Marcel Raad [Mon, 9 Dec 2019 10:42:26 +0000 (11:42 +0100)] 
tests: fix build with `CURL_DISABLE_DOH`

Closes https://github.com/curl/curl/pull/4692

5 years agoazure: add a torture test
Daniel Stenberg [Tue, 10 Dec 2019 11:47:46 +0000 (12:47 +0100)] 
azure: add a torture test

Skipping all FTP tests for speed reasons.

Closes #4697

5 years agoazure: make the default build use --enable-debug --enable-werror
Daniel Stenberg [Tue, 10 Dec 2019 11:47:30 +0000 (12:47 +0100)] 
azure: make the default build use --enable-debug --enable-werror

5 years agontlm_wb: fix double-free in OOM
Daniel Stenberg [Fri, 13 Dec 2019 11:27:49 +0000 (12:27 +0100)] 
ntlm_wb: fix double-free in OOM

Detected by torture testing test 1310

Closes #4710

5 years agocirrus: Drop the FreeBSD 10.4 build
Dan Fandrich [Fri, 13 Dec 2019 07:39:54 +0000 (08:39 +0100)] 
cirrus: Drop the FreeBSD 10.4 build

Upstream support for 10.4 ended a year ago, and it looks like the image
is now gone, too.
[skip ci]

5 years agounit1620: fix bad free in OOM
Daniel Stenberg [Thu, 12 Dec 2019 22:49:00 +0000 (23:49 +0100)] 
unit1620: fix bad free in OOM

Closes #4709

5 years agounit1609: fix mem-leak in OOM
Daniel Stenberg [Thu, 12 Dec 2019 22:43:29 +0000 (23:43 +0100)] 
unit1609: fix mem-leak in OOM

Closes #4709

5 years agounit1607: fix mem-leak in OOM
Daniel Stenberg [Thu, 12 Dec 2019 22:30:42 +0000 (23:30 +0100)] 
unit1607: fix mem-leak in OOM

Closes #4709

5 years agolib1559: fix mem-leak in OOM
Daniel Stenberg [Thu, 12 Dec 2019 14:10:47 +0000 (15:10 +0100)] 
lib1559: fix mem-leak in OOM

Closes #4709

5 years agolib1557: fix mem-leak in OOM
Daniel Stenberg [Thu, 12 Dec 2019 14:08:19 +0000 (15:08 +0100)] 
lib1557: fix mem-leak in OOM

Closes #4709

5 years agoaltsvc: make the save function ignore NULL filenames
Daniel Stenberg [Thu, 12 Dec 2019 09:48:57 +0000 (10:48 +0100)] 
altsvc: make the save function ignore NULL filenames

It might happen in OOM situations. Detected bv torture tests.

Closes #4707

5 years agocurl: fix memory leak in OOM in etags logic
Daniel Stenberg [Thu, 12 Dec 2019 09:38:14 +0000 (10:38 +0100)] 
curl: fix memory leak in OOM in etags logic

Detected by torture tests

Closes #4706

5 years agodoh: make it behave when built without proxy support
Daniel Stenberg [Wed, 11 Dec 2019 09:47:06 +0000 (10:47 +0100)] 
doh: make it behave when built without proxy support

Reported-by: Marcel Raad
Bug: https://github.com/curl/curl/pull/4692#issuecomment-564115734

Closes #4704

5 years agocurl: improved cleanup in upload error path
Daniel Stenberg [Wed, 11 Dec 2019 10:16:12 +0000 (11:16 +0100)] 
curl: improved cleanup in upload error path

Memory leak found by torture test 58

Closes #4705

5 years agomailmap: fix Andrew Ishchuk
Daniel Stenberg [Wed, 11 Dec 2019 08:59:03 +0000 (09:59 +0100)] 
mailmap: fix Andrew Ishchuk

5 years agotravis: make torture use --shallow=40
Daniel Stenberg [Tue, 10 Dec 2019 13:41:35 +0000 (14:41 +0100)] 
travis: make torture use --shallow=40

As a first step to enable it to run over a more diverse set of tests in
a reasonable time.

5 years agoruntests: introduce --shallow to reduce huge torture tests
Daniel Stenberg [Tue, 10 Dec 2019 13:29:48 +0000 (14:29 +0100)] 
runtests: introduce --shallow to reduce huge torture tests

When set, shallow mode limits runtests -t to make no more than NUM fails
per test case. If more are found, it will randomly discard entries until
the number is right. The random seed can also be set.

This is particularly useful when running MANY tests as then most torture
failures will already fail the same functions over and over and make the
total operation painfully tedious.

Closes #4699

5 years agoconncache: CONNECT_ONLY connections assumed always in-use
Daniel Stenberg [Tue, 10 Dec 2019 09:39:16 +0000 (10:39 +0100)] 
conncache: CONNECT_ONLY connections assumed always in-use

This makes them never to be considered "the oldest" to be discarded when
reaching the connection cache limit. The reasoning here is that
CONNECT_ONLY is primarily used in combination with using the
connection's socket post connect and since that is used outside of
curl's knowledge we must assume that it is in use until explicitly
closed.

Reported-by: Pavel Pavlov
Reported-by: Pavel Löbl
Fixes #4426
Fixes #4369
Closes #4696

5 years agovtls: make BearSSL possible to set with CURL_SSL_BACKEND
Gisle Vanem [Tue, 10 Dec 2019 12:44:39 +0000 (13:44 +0100)] 
vtls: make BearSSL possible to set with CURL_SSL_BACKEND

Ref: https://github.com/curl/curl/commit/9b879160df01e7ddbb4770904391d3b74114302b#commitcomment-36355622

Closes #4698

5 years agoRELEASE-NOTES: synced
Daniel Stenberg [Tue, 10 Dec 2019 13:56:55 +0000 (14:56 +0100)] 
RELEASE-NOTES: synced

5 years agotravis: remove "coverage", make it "torture"
Daniel Stenberg [Tue, 10 Dec 2019 08:36:46 +0000 (09:36 +0100)] 
travis: remove "coverage", make it "torture"

The coveralls service and test coverage numbers are just too unreliable.
Removed badge from README.md as well.

Fixes #4694
Closes #4695

5 years agoazure: add libssh2 and cmake macos builds
Daniel Stenberg [Mon, 9 Dec 2019 10:43:29 +0000 (11:43 +0100)] 
azure: add libssh2 and cmake macos builds

Removed the macos libssh2 build from travis

Closes #4686

5 years agocurl: use errorf() better
Daniel Stenberg [Mon, 9 Dec 2019 15:15:37 +0000 (16:15 +0100)] 
curl: use errorf() better

Change series of error outputs to use errorf().

Only errors that are due to mistakes in command line option usage should
use helpf(), other types of errors in the tool should rather use
errorf().

Closes #4691

5 years agotests: make it possible to set executable extensions 3899/head
Marc Hoersken [Sat, 18 May 2019 21:32:04 +0000 (23:32 +0200)] 
tests: make it possible to set executable extensions

This enables the use of Windows Subsystem for Linux (WSL) to run the
testsuite against Windows binaries while using Linux servers.

This commit introduces the following environment variables:
- CURL_TEST_EXE_EXT: set the executable extension for all components
- CURL_TEST_EXE_EXT_TOOL: set it for the curl tool only
- CURL_TEST_EXE_EXT_SSH: set it for the SSH tools only

Later testcurl.pl could be adjusted to make use of those variables.
- CURL_TEST_EXE_EXT_SRV: set it for the test servers only

(This is one of several commits to support use of WSL for the tests.)

Closes https://github.com/curl/curl/pull/3899

5 years agotests: fix permissions of ssh keys in WSL
Marc Hoersken [Sat, 18 May 2019 21:28:09 +0000 (23:28 +0200)] 
tests: fix permissions of ssh keys in WSL

Keys created on Windows Subsystem for Linux (WSL) require it for some
reason.

(This is one of several commits to support use of WSL for the tests.)

Ref: https://github.com/curl/curl/pull/3899

5 years agotests: use \r\n for log messages in WSL
Marc Hoersken [Sat, 18 May 2019 21:26:48 +0000 (23:26 +0200)] 
tests: use \r\n for log messages in WSL

Bash in Windows Subsystem for Linux (WSL) requires it for some reason.

(This is one of several commits to support use of WSL for the tests.)

Ref: https://github.com/curl/curl/pull/3899

5 years agowinbuild: Define CARES_STATICLIB when WITH_CARES=static
andrew_ishchuk [Mon, 9 Dec 2019 11:00:20 +0000 (16:00 +0500)] 
winbuild: Define CARES_STATICLIB when WITH_CARES=static

When libcurl is built with MODE=static, c-ares is forced into static
linkage too. That doesn't happen when MODE=dll so linker would break
over undefined symbols.

closes https://github.com/curl/curl/pull/4688

5 years agoconn: always set bits.close with connclose()
Daniel Stenberg [Mon, 9 Dec 2019 11:03:05 +0000 (12:03 +0100)] 
conn: always set bits.close with connclose()

Closes #4690