]> git.ipfire.org Git - thirdparty/curl.git/log
thirdparty/curl.git
3 years agohttp: disallow >3-digit response codes
Daniel Stenberg [Thu, 26 Aug 2021 14:04:50 +0000 (16:04 +0200)] 
http: disallow >3-digit response codes

Make the built-in HTTP parser behave similar to hyper and reject any
HTTP response using more than 3 digits for the response code.

Updated test 1432 accordingly.
Enabled test 1432 in the hyper builds.

Closes #7641

3 years agongtcp2: stop buffering crypto data
Tatsuhiro Tsujikawa [Thu, 26 Aug 2021 12:20:52 +0000 (21:20 +0900)] 
ngtcp2: stop buffering crypto data

Stop buffering crypto data because libngtcp2 now buffers submitted
crypto data.

Closes #7637

3 years agotest1280: CRLFify the response to please hyper
Daniel Stenberg [Thu, 26 Aug 2021 12:49:41 +0000 (14:49 +0200)] 
test1280: CRLFify the response to please hyper

Closes #7639

3 years agotests: enable test 1129 for hyper builds
Daniel Stenberg [Thu, 26 Aug 2021 12:46:23 +0000 (14:46 +0200)] 
tests: enable test 1129 for hyper builds

Closes #7638

3 years agocurl: better error message when -O fails to get a good name
Daniel Stenberg [Thu, 26 Aug 2021 05:43:34 +0000 (07:43 +0200)] 
curl: better error message when -O fails to get a good name

Due to how this currently works internally, it needs a working initial
file name to store contents in, so it may still fail even with -J is
used (and thus accepting a name from content-disposition:) if the file
name part of the URL isn't "good enough".

Fixes #7628
Closes #7635

3 years agocurl_easy_setopt: tweak the string copy wording
Daniel Stenberg [Thu, 26 Aug 2021 05:51:19 +0000 (07:51 +0200)] 
curl_easy_setopt: tweak the string copy wording

Reported-by: Yaobin Wen
Fixes #7632
Closes #7634

3 years agoRELEASE-NOTES: synced
Daniel Stenberg [Wed, 25 Aug 2021 11:10:52 +0000 (13:10 +0200)] 
RELEASE-NOTES: synced

3 years agocmake: sync CURL_DISABLE options
Don [Tue, 24 Aug 2021 18:27:39 +0000 (11:27 -0700)] 
cmake: sync CURL_DISABLE options

Adds the full listing of CURL_DISABLE options to the CMake build. Moves
all option code, except for CURL_DISABLE_OPENSSL_AUTO_LOA_CONFIG which
resides near OpenSSL configuration, to the same block of code. Also
sorts the options here and in the cmake config header.

Additionally sorted the CURL-DISABLE listing and fixed the
CURL_DISABLE_POP3 option.

Closes #7624

3 years agoKNOWN_BUGS: FTPS upload data loss with TLS 1.3
Jay Satiro [Tue, 24 Aug 2021 16:54:03 +0000 (12:54 -0400)] 
KNOWN_BUGS: FTPS upload data loss with TLS 1.3

Bug: https://github.com/curl/curl/issues/6149
Reported-by: Bylon2@users.noreply.github.com
Closes https://github.com/curl/curl/pull/7623

3 years agocmake: avoid poll() on macOS
Daniel Stenberg [Mon, 23 Aug 2021 14:39:33 +0000 (16:39 +0200)] 
cmake: avoid poll() on macOS

... like we do in configure builds. Since poll() on macOS is not
reliable enough.

Reported-by: marc-groundctl
Fixes #7595
Closes #7619

3 years agoc-hyper: handle HTTP/1.1 => HTTP/1.0 downgrade on reused connection
Daniel Stenberg [Mon, 23 Aug 2021 12:20:08 +0000 (14:20 +0200)] 
c-hyper: handle HTTP/1.1 => HTTP/1.0 downgrade on reused connection

Enable test 1074

Closes #7617

3 years agoc-hyper: deal with Expect: 100-continue combined with POSTFIELDS
Daniel Stenberg [Mon, 23 Aug 2021 11:04:59 +0000 (13:04 +0200)] 
c-hyper: deal with Expect: 100-continue combined with POSTFIELDS

Enable test 1130 and 1131

Closes #7616

3 years agotests: be explicit about using 'python3' instead of 'python'
a1346054 [Sat, 21 Aug 2021 12:07:34 +0000 (12:07 +0000)] 
tests: be explicit about using 'python3' instead of 'python'

This fixes running tests in virtualenvs (or on distros) that no longer
have a symlink from python to python2 or python3.

Closes #7602

3 years agoscripts: invoke interpreters through /usr/bin/env
a1346054 [Sat, 21 Aug 2021 10:57:11 +0000 (10:57 +0000)] 
scripts: invoke interpreters through /usr/bin/env

Closes #7602

3 years agoDISABLED: enable 11 more tests for hyper builds
Daniel Stenberg [Mon, 23 Aug 2021 07:27:43 +0000 (09:27 +0200)] 
DISABLED: enable 11 more tests for hyper builds

Closes #7612

3 years agosetopt: enable CURLOPT_IGNORE_CONTENT_LENGTH for hyper
Daniel Stenberg [Mon, 23 Aug 2021 07:58:54 +0000 (09:58 +0200)] 
setopt: enable CURLOPT_IGNORE_CONTENT_LENGTH for hyper

Since this option is also used for FTP, it needs to work to set for
applications even if hyper doesn't support it for HTTP. Verified by test
1137.

Updated docs to specify that the option doesn't work for HTTP when using
the hyper backend.

Closes #7614

3 years agotest1138: remove trailing space to make work with hyper
Daniel Stenberg [Mon, 23 Aug 2021 07:50:46 +0000 (09:50 +0200)] 
test1138: remove trailing space to make work with hyper

Closes #7613

3 years agolibcurl-errors.3: clarify two CURLUcode errors
Daniel Stenberg [Mon, 23 Aug 2021 06:38:32 +0000 (08:38 +0200)] 
libcurl-errors.3: clarify two CURLUcode errors

CURLUE_BAD_HANDLE and CURLUE_BAD_PARTPOINTER should be for "bad" or
wrong pointers in a generic sense, not just for NULL pointers.

Reviewed-by: Jay Satiro
Ref: #7605
Closes #7611

3 years agosymbols-in-versions: fix CURLSSLBACKEND_QSOSSL last used version
Jay Satiro [Sun, 22 Aug 2021 05:24:46 +0000 (01:24 -0400)] 
symbols-in-versions: fix CURLSSLBACKEND_QSOSSL last used version

... and also change the 'Removed' column name to 'Last' since that
column is for the last version to contain the symbol.

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

3 years agourlapi.c:seturl: assert URL instead of using if-check
Daniel Stenberg [Sun, 22 Aug 2021 22:34:16 +0000 (00:34 +0200)] 
urlapi.c:seturl: assert URL instead of using if-check

There's no code flow possible where this can happen. The assert makes
sure it also won't be introduced undetected in the future.

Closes #7610

3 years agocurl-openssl.m4: show correct output for OpenSSL v3
Daniel Stenberg [Sat, 21 Aug 2021 21:27:50 +0000 (23:27 +0200)] 
curl-openssl.m4: show correct output for OpenSSL v3

Using 3.0.0 versions configure should now show this:

checking for OpenSSL headers version... 3.0.0 - 0x300
checking for OpenSSL library version... 3.0.0
checking for OpenSSL headers and library versions matching... yes

This output doesn't actually change what configure generates but is only
"cosmetic".

Reported-by: Randall S. Becker
Fixes #7606
Closes #7608

3 years agomksymbolsmanpage.pl: Fix showing symbol's last used version
Jay Satiro [Sun, 22 Aug 2021 05:12:26 +0000 (01:12 -0400)] 
mksymbolsmanpage.pl: Fix showing symbol's last used version

Prior to this change the symbol's deprecated version was erroneously
shown as its last used version.

Bug: https://github.com/curl/curl/commit/4e53b94#commitcomment-55239509
Reported-by: i-ky@users.noreply.github.com
3 years agomksymbolsmanpage.pl: match symbols case insenitively
Daniel Stenberg [Sat, 21 Aug 2021 20:56:48 +0000 (22:56 +0200)] 
mksymbolsmanpage.pl: match symbols case insenitively

Follow-up to 4e53b9430c750 which made this bug show.

Reported-by: i-ky
Bug: https://github.com/curl/curl/commit/4e53b9430c7504de8984796e2a2091ec16f27136#commitcomment-55239253
Closes #7607

3 years agoasyn-ares: call ares_freeaddrinfo() to clean up addrinfo results
Daniel Stenberg [Fri, 20 Aug 2021 12:39:14 +0000 (14:39 +0200)] 
asyn-ares: call ares_freeaddrinfo() to clean up addrinfo results

As this leaks memory otherwise

Follow-up to ba904db0705c931

Closes #7599

3 years agowolfssl: clean up wolfcrypt error queue
Ehren Bendler [Thu, 19 Aug 2021 17:45:55 +0000 (13:45 -0400)] 
wolfssl: clean up wolfcrypt error queue

If wolfSSL is built in certain ways (OPENSSL_EXTRA or Debug), the error
queue gets added on to for each session and never freed. Fix it by
calling ERR_clear_error() like in vtls/openssl when needed. This func is
a no-op in wolfcrypt if the error queue is not enabled.

Closes #7594

3 years agoman pages: remove trailing whitespaces
Daniel Stenberg [Sat, 21 Aug 2021 13:31:31 +0000 (15:31 +0200)] 
man pages: remove trailing whitespaces

Extended test 1173 (via the manpage-syntax.pl script) to detect and warn
for them.

Ref: #7602
Reported-by: a1346054 on github
Closes #7604

3 years agomailmap: add Gleb Ivanovsky
Daniel Stenberg [Sat, 21 Aug 2021 14:38:06 +0000 (16:38 +0200)] 
mailmap: add Gleb Ivanovsky

3 years agoconfig.d: escape the backslash properly
Daniel Stenberg [Sat, 21 Aug 2021 13:02:04 +0000 (15:02 +0200)] 
config.d: escape the backslash properly

Closes #7603

3 years agocurl_setup.h: sync values for HTTP_ONLY
Don [Fri, 20 Aug 2021 16:29:10 +0000 (09:29 -0700)] 
curl_setup.h: sync values for HTTP_ONLY

The values for HTTP_ONLY differed between CMakeLists.txt and
curl_setup.h. Sync them and sort the values in curl_setup.h to make it
easier to spot differences.

Closes #7601

3 years agoconfigure: set classic mingw minimum OS version to XP
Jay Satiro [Tue, 17 Aug 2021 06:24:48 +0000 (02:24 -0400)] 
configure: set classic mingw minimum OS version to XP

- If the user has not specified a minimum OS version (via WINVER or
  _WIN32_WINNT macros) then set it to Windows XP.

Prior to this change classic MinGW defaulted the minimum OS version
to Windows NT 4.0 which is way too old. At least Windows XP is needed
for getaddrinfo (which resolves hostnames to IPv6 addresses).

Ref: https://github.com/curl/curl/issues/7483#issuecomment-891597034

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

3 years agoschannel: Work around typo in classic mingw macro
Jay Satiro [Tue, 17 Aug 2021 06:17:21 +0000 (02:17 -0400)] 
schannel: Work around typo in classic mingw macro

- Define ALG_CLASS_DHASH (the typo from the include) to ALG_CLASS_HASH.

Prior to this change there was an incomplete fix to ignore the
CALG_TLS1PRF macro on those versions of MinGW where it uses the
ALG_CLASS_DHASH typoed macro.

Ref: 48cf45c
Ref: https://osdn.net/projects/mingw/ticket/38391
Ref: https://github.com/curl/curl/issues/2924

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

3 years agoRELEASE-NOTES: synced
Daniel Stenberg [Fri, 20 Aug 2021 11:57:20 +0000 (13:57 +0200)] 
RELEASE-NOTES: synced

3 years agohttp_proxy: fix user-agent and custom headers for CONNECT with hyper
Daniel Stenberg [Fri, 20 Aug 2021 11:34:51 +0000 (13:34 +0200)] 
http_proxy: fix user-agent and custom headers for CONNECT with hyper

Enable test 287

Closes #7598

3 years agoc-hyper: initial support for "dumping" 1xx HTTP responses
Daniel Stenberg [Sat, 14 Aug 2021 16:04:22 +0000 (18:04 +0200)] 
c-hyper: initial support for "dumping" 1xx HTTP responses

With the use hyper_request_on_informational()

Enable test 155 and 158

Closes #7597

3 years agotests/*server.pl: flush output before executing subprocess
Marc Hoersken [Tue, 17 Aug 2021 19:16:41 +0000 (21:16 +0200)] 
tests/*server.pl: flush output before executing subprocess

Also avoid shell processes staying around by using exec.
This is necessary to avoid output data being buffering
inside the process chain of Perl, Bash/Shell and our
test server binaries. On non-Windows systems the exec
will also make the subprocess replace the intermediate
shell, but on Windows it will at least bind the processes
together since there is no real fork or exec available.

See: https://cygwin.com/cygwin-ug-net/highlights.html
and: https://docs.microsoft.com/cpp/c-runtime-library/exec-wexec-functions
Ref: https://github.com/curl/curl/pull/7530#issuecomment-900949010

Reviewed-by: Daniel Stenberg
Reviewed-by: Jay Satiro
Closes #7530

3 years agoCI: use GitHub Container Registry instead of Docker Hub
Marc Hoersken [Tue, 17 Aug 2021 19:39:17 +0000 (21:39 +0200)] 
CI: use GitHub Container Registry instead of Docker Hub

Avoid limits on Docker Hub and improve image pull/download speed.

Closes #7587

3 years agoopenssl: when creating a new context, there cannot be an old one
Daniel Stenberg [Tue, 17 Aug 2021 14:52:55 +0000 (16:52 +0200)] 
openssl: when creating a new context, there cannot be an old one

Remove the previous handling that would call SSL_CTX_free(), and instead
add an assert that halts a debug build if there ever is a context
already set at this point.

Closes #7585

3 years agoKNOWN_BUGS: Renegotiate from server may cause hang for OpenSSL backend
Jay Satiro [Wed, 18 Aug 2021 07:41:41 +0000 (03:41 -0400)] 
KNOWN_BUGS: Renegotiate from server may cause hang for OpenSSL backend

Closes https://github.com/curl/curl/issues/6785

3 years agodocs/BINDINGS: URL update
Viktor Szakats [Tue, 17 Aug 2021 23:16:46 +0000 (23:16 +0000)] 
docs/BINDINGS: URL update

3 years agotests/server/*.c: align handling of portfile argument and file
Marc Hoersken [Sun, 15 Aug 2021 10:40:54 +0000 (12:40 +0200)] 
tests/server/*.c: align handling of portfile argument and file

1. Call the internal variable portname (like pidname) everywhere.
2. Have a variable wroteportfile (like wrotepidfile) everywhere.
3. Make sure the file is cleaned up on exit (like pidfile).
4. Add parameter --portfile to usage outputs everywhere.

Reviewed-by: Daniel Stenberg
Replaces #7523
Closes #7574

3 years agoKNOWN_BUGS: Fix a number of typos in KNOWN_BUGS
Daniel Gustafsson [Tue, 17 Aug 2021 11:49:04 +0000 (13:49 +0200)] 
KNOWN_BUGS: Fix a number of typos in KNOWN_BUGS

Fixes a set of typos found in section 11.3.

3 years agogetparameter: fix the --local-port number parser
Daniel Stenberg [Tue, 17 Aug 2021 07:50:02 +0000 (09:50 +0200)] 
getparameter: fix the --local-port number parser

It could previously get tricked into parsing the uninitialized stack
based buffer.

Reported-by: Brian Carpenter
Closes #7582

3 years agoKNOWN_BUGS: Can't use Secure Transport with Crypto Token Kit
Daniel Stenberg [Tue, 17 Aug 2021 08:29:00 +0000 (10:29 +0200)] 
KNOWN_BUGS: Can't use Secure Transport with Crypto Token Kit

Closes #7048

3 years agocurl: add warning for ignored data after quoted form parameter
Jan Verbeek [Wed, 14 Jul 2021 21:45:45 +0000 (23:45 +0200)] 
curl: add warning for ignored data after quoted form parameter

In an argument like `-F 'x=@/etc/hostname;filename="foo"abc'` the `abc`
is ignored. This adds a warning if the ignored data isn't all
whitespace.

Closes #7394

3 years agocodeql: fix error "Resource not accessible by integration"
Jay Satiro [Mon, 16 Aug 2021 04:56:48 +0000 (00:56 -0400)] 
codeql: fix error "Resource not accessible by integration"

- Enable codeql writing security-events.

GitHub set the default permissions to read, apparently since earlier
this year.

Ref: https://github.com/github/codeql-action/issues/464
Ref: https://github.blog/changelog/2021-04-20-github-actions-control-permissions-for-github_token/

Fixes https://github.com/curl/curl/issues/7575
Closes https://github.com/curl/curl/pull/7576

3 years agotool_operate: Fix --fail-early with parallel transfers
Jay Satiro [Thu, 29 Apr 2021 21:06:49 +0000 (17:06 -0400)] 
tool_operate: Fix --fail-early with parallel transfers

- Abort via progress callback to fail early during parallel transfers.

When a critical error occurs during a transfer (eg --fail-early
constraint) then other running transfers will be aborted via progress
callback and finish with error CURLE_ABORTED_BY_CALLBACK (42). In this
case, the callback error does not become the most recent error and a
custom error message is used for those transfers:

curld --fail --fail-early --parallel
https://httpbin.org/status/404 https://httpbin.org/delay/10

curl: (22) The requested URL returned error: 404
curl: (42) Transfer aborted due to critical error in another transfer

> echo %ERRORLEVEL%
22

Fixes https://github.com/curl/curl/issues/6939
Closes https://github.com/curl/curl/pull/6984

3 years agosectransp: support CURLINFO_CERTINFO
Sergey Markelov [Sat, 10 Jul 2021 00:30:38 +0000 (17:30 -0700)] 
sectransp: support CURLINFO_CERTINFO

Fixes #4130
Closes #7372

3 years agongtcp2: remove the acked_crypto_offset struct field init
Daniel Stenberg [Mon, 16 Aug 2021 15:04:45 +0000 (17:04 +0200)] 
ngtcp2: remove the acked_crypto_offset struct field init

... as it is gone from the API upstream.

Closes #7578

3 years agomisc: update incorrect copyright year ranges
Daniel Stenberg [Mon, 16 Aug 2021 07:26:27 +0000 (09:26 +0200)] 
misc: update incorrect copyright year ranges

Closes #7577

3 years agoKNOWN_BUGS: HTTP/3 quiche upload large file fails
Daniel Stenberg [Mon, 16 Aug 2021 08:39:15 +0000 (10:39 +0200)] 
KNOWN_BUGS: HTTP/3 quiche upload large file fails

Closes #7532

3 years agoKNOWN_BUGS: CMake build with MIT Kerberos does not work
Daniel Stenberg [Mon, 16 Aug 2021 07:40:32 +0000 (09:40 +0200)] 
KNOWN_BUGS: CMake build with MIT Kerberos does not work

Closes #6904

3 years agoTODO: add asynch getaddrinfo support
Daniel Stenberg [Mon, 16 Aug 2021 07:37:16 +0000 (09:37 +0200)] 
TODO: add asynch getaddrinfo support

Closes #6746

3 years agoRELEASE-NOTES: synced
Daniel Stenberg [Mon, 16 Aug 2021 07:18:38 +0000 (09:18 +0200)] 
RELEASE-NOTES: synced

3 years agohttp2: revert call the handle-closed function correctly on closed stream
Artur Sinila [Sun, 1 Aug 2021 22:34:14 +0000 (01:34 +0300)] 
http2: revert call the handle-closed function correctly on closed stream

Reverts 252790c5335a221

Assisted-by: Gergely Nagy
Fixes #7400
Closes #7525

3 years agoauth: do not append zero-terminator to authorisation id in kerberos
Patrick Monnerat [Mon, 16 Aug 2021 06:35:22 +0000 (08:35 +0200)] 
auth: do not append zero-terminator to authorisation id in kerberos

RFC4752 Section 3.1 states "The authorization identity is not terminated
with a zero-valued (%x00) octet". Although a comment in code said it may
be needed anyway, nothing confirms it. In addition, servers may consider
it as part of the identity, causing a failure.

Closes #7008

3 years agoauth: use sasl authzid option in kerberos
Patrick Monnerat [Mon, 16 Aug 2021 06:35:22 +0000 (08:35 +0200)] 
auth: use sasl authzid option in kerberos

... instead of deriving it from active ticket.
Closes #7008

3 years agoauth: we do not support a security layer after kerberos authentication
Patrick Monnerat [Mon, 16 Aug 2021 06:35:22 +0000 (08:35 +0200)] 
auth: we do not support a security layer after kerberos authentication

Closes #7008

3 years agoauth: properly handle byte order in kerberos security message
Patrick Monnerat [Mon, 16 Aug 2021 06:35:22 +0000 (08:35 +0200)] 
auth: properly handle byte order in kerberos security message

Closes #7008

3 years agox509asn1: fix heap over-read when parsing x509 certificates
z2_ [Thu, 5 Aug 2021 19:08:37 +0000 (21:08 +0200)] 
x509asn1: fix heap over-read when parsing x509 certificates

Assisted-by: Patrick Monnerat
Closes #7536

3 years agoKNOWN_BUGS: Disconnects don't do verbose
Daniel Stenberg [Sat, 14 Aug 2021 21:32:46 +0000 (23:32 +0200)] 
KNOWN_BUGS: Disconnects don't do verbose

Closes #6995

3 years agomailmap: fixup Michał Antoniak
Daniel Stenberg [Sat, 14 Aug 2021 21:23:09 +0000 (23:23 +0200)] 
mailmap: fixup Michał Antoniak

3 years agobuild: fix compiler warnings
MAntoniak [Sat, 17 Jul 2021 20:43:52 +0000 (22:43 +0200)] 
build: fix compiler warnings

For when CURL_DISABLE_VERBOSE_STRINGS and DEBUGBUILD flags are both
active.

- socks.c : warning C4100: 'lineno': unreferenced formal parameter
  (co-authored by Daniel Stenberg)

- mbedtls.c: warning C4189: 'port': local variable is initialized but
  not referenced

- schannel.c: warning C4189: 'hostname': local variable is initialized
  but not referenced

Cloes #7528

3 years agoCODE_STYLE-md: fix bold font style
i-ky [Fri, 13 Aug 2021 21:07:54 +0000 (00:07 +0300)] 
CODE_STYLE-md: fix bold font style

Markdown gets confused with abundance of asterisks, so use underscores
instead.

Reviewed-by: Daniel Gustafsson
Closes #7569

3 years agoCODE_STYLE-md: add missing comma
i-ky [Fri, 13 Aug 2021 22:02:38 +0000 (01:02 +0300)] 
CODE_STYLE-md: add missing comma

Reviewed-by: Daniel Gustafsson
Closes #7570

3 years agoexamples/ephiperfifo.c: simplify signal handler
Daniel Gustafsson [Mon, 28 Jun 2021 22:57:34 +0000 (00:57 +0200)] 
examples/ephiperfifo.c: simplify signal handler

The signal handler registered for SIGINT is only handling SIGINT
so there isn't much need for inspecting the signo.  While there,
rename the handler to be more specific.

g_should_exit should really be of sig_atomic_t type, but relying
on autoconf in the examples seems like a bad idea so keep that
for now.

Reviewed-by: Daniel Stenberg
Closes #7310

3 years agoc-hyper: initial step for 100-continue support
Daniel Stenberg [Fri, 13 Aug 2021 15:29:33 +0000 (17:29 +0200)] 
c-hyper: initial step for 100-continue support

Enabled test 154

Closes #7568

3 years agovtls: fix typo in schannel_verify.c
Ikko Ashimine [Fri, 13 Aug 2021 13:49:41 +0000 (22:49 +0900)] 
vtls: fix typo in schannel_verify.c

occurence -> occurrence

Closes #7566

3 years agocurl_url_get.3: clarify about path and query
Emil Engler [Fri, 13 Aug 2021 07:22:05 +0000 (09:22 +0200)] 
curl_url_get.3: clarify about path and query

The current man-page lacks some details regarding the obtained path and
query.

Closes #7563

3 years agoc-hyper: fix header value passed to debug callback
Daniel Stenberg [Fri, 13 Aug 2021 14:46:22 +0000 (16:46 +0200)] 
c-hyper: fix header value passed to debug callback

Closes #7567

3 years agocleanup: URL updates
Viktor Szakats [Thu, 12 Aug 2021 18:41:13 +0000 (18:41 +0000)] 
cleanup: URL updates

- replace broken URL with the one it was most probably pointing to
  when added (lib/tftp.c)
- replace broken URL with archive.org link (lib/curl_ntlm_wb.c)
- delete unnecessary protocol designator from archive.org URL
  (docs/BINDINGS.md)

Closes #7562

3 years agoDEPRECATE.md: linkify curl-library mailing list
April King [Thu, 12 Aug 2021 12:44:26 +0000 (07:44 -0500)] 
DEPRECATE.md: linkify curl-library mailing list

Closes #7561

3 years agooutput.d: add method to suppress response bodies
Barry Pollard [Thu, 12 Aug 2021 12:26:36 +0000 (13:26 +0100)] 
output.d: add method to suppress response bodies

Closes #7560

3 years agoTODO: remove 'c-ares deviates on http://1346569778'
Daniel Stenberg [Thu, 12 Aug 2021 09:59:34 +0000 (11:59 +0200)] 
TODO: remove 'c-ares deviates on http://1346569778'

Fixed since 56a037cc0ad1b2 (7.77.0)

3 years agoBINDINGS.md: update links to use https where available
Colin O'Dell [Thu, 12 Aug 2021 02:34:35 +0000 (22:34 -0400)] 
BINDINGS.md: update links to use https where available

Closes #7558

3 years agoasyn-ares.c: move all version number checks to the top 7552/head
Daniel Stenberg [Wed, 11 Aug 2021 06:53:08 +0000 (08:53 +0200)] 
asyn-ares.c: move all version number checks to the top

... and use #ifdef [feature] in the code as per our guidelines.

3 years agoares: use ares_getaddrinfo()
Daniel Stenberg [Tue, 10 Aug 2021 14:11:51 +0000 (16:11 +0200)] 
ares: use ares_getaddrinfo()

ares_getaddrinfo() is the getaddrinfo() cloned provided by c-ares, introduced
in version 1.16.0.

With older c-ares versions, curl invokes ares_gethostbyname() twice - once for
IPv4 and once for IPv6 to resolve both addresses, and then combines the
returned results.

Reported-by: jjandesmet
Fixes #7364
Closes #7552

3 years agongtcp2: utilize crypto API functions to simplify
Tatsuhiro Tsujikawa [Tue, 10 Aug 2021 12:44:51 +0000 (21:44 +0900)] 
ngtcp2: utilize crypto API functions to simplify

Closes #7551

3 years agongtcp2: reset the oustanding send buffer again when drained
megatronking [Fri, 6 Aug 2021 07:47:07 +0000 (15:47 +0800)] 
ngtcp2: reset the oustanding send buffer again when drained

Closes #7538

3 years agoprogress: fix a compile warning on some systems
Michael Kaufmann [Tue, 10 Aug 2021 08:00:51 +0000 (10:00 +0200)] 
progress: fix a compile warning on some systems

lib/progress.c:380:40: warning: conversion to 'long double' from
'curl_off_t {aka long long int}' may alter its value [-Wconversion]

Closes #7549

3 years agoRELEASE-NOTES: synced
Daniel Stenberg [Tue, 10 Aug 2021 09:47:44 +0000 (11:47 +0200)] 
RELEASE-NOTES: synced

3 years agohttp: consider cookies over localhost to be secure
Daniel Stenberg [Mon, 10 May 2021 08:50:43 +0000 (10:50 +0200)] 
http: consider cookies over localhost to be secure

Updated test31.
Added test 392 to verify secure cookies used for http://localhost

Reviewed-by: Daniel Gustafsson
Fixes #6733
Closes #7263

3 years agoTODO: erase secrets from heap/stack after use
Daniel Stenberg [Tue, 10 Aug 2021 08:26:16 +0000 (10:26 +0200)] 
TODO: erase secrets from heap/stack after use

Closes #7268

3 years agohostip: Make Curl_ipv6works function independent of getaddrinfo
Jay Satiro [Tue, 3 Aug 2021 07:03:00 +0000 (03:03 -0400)] 
hostip: Make Curl_ipv6works function independent of getaddrinfo

- Do not assume IPv6 is not working when getaddrinfo is not present.

The check to see if IPv6 actually works is now independent of whether
there is any resolver that can potentially resolve a hostname to IPv6.

Prior to this change if getaddrinfo() was not found at compile time then
Curl_ipv6works() would be defined as a macro that returns FALSE.

When getaddrinfo is not found then libcurl is built with CURLRES_IPV4
defined instead of CURLRES_IPV6, meaning that it cannot do IPv6 lookups
in the traditional way. With this commit if libcurl is built with IPv6
support (ENABLE_IPV6) but without getaddrinfo (CURLRES_IPV6), and the
IPv6 stack is actually working, then it is possible for libcurl to
resolve IPv6 addresses by using DoH.

Ref: https://github.com/curl/curl/issues/7483#issuecomment-890765378

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

3 years agotest1565: fix windows build errors
Jay Satiro [Mon, 2 Aug 2021 03:15:37 +0000 (23:15 -0400)] 
test1565: fix windows build errors

- Use our wait_ms() instead of sleep() since Windows doesn't have the
  latter.

- Use a separate variable to keep track of whether the pthread_t thread
  id is valid.

On Windows pthread_t is not an integer type. pthread offers no macro for
invalid pthread_t thread id, so validity is kept track of separately.

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

3 years agowinbuild/README.md: clarify GEN_PDB option
Jeremy Falcon [Mon, 9 Aug 2021 17:00:52 +0000 (13:00 -0400)] 
winbuild/README.md: clarify GEN_PDB option

- Document that GEN_PDB option creates an external database.

Ref: https://github.com/curl/curl/issues/7502

3 years agongtcp2: replace deprecated functions with nghttp3_conn_shutdown_stream_read
Tatsuhiro Tsujikawa [Mon, 9 Aug 2021 13:24:16 +0000 (22:24 +0900)] 
ngtcp2: replace deprecated functions with nghttp3_conn_shutdown_stream_read

Closes #7546

3 years agongtcp2: rework the return value handling of ngtcp2_conn_writev_stream
Tatsuhiro Tsujikawa [Mon, 9 Aug 2021 13:21:38 +0000 (22:21 +0900)] 
ngtcp2: rework the return value handling of ngtcp2_conn_writev_stream

Rework the return value handling of ngtcp2_conn_writev_stream and treat
NGTCP2_ERR_STREAM_SHUT_WR separately.

Closes #7546

3 years agoconfigure: error out if both ngtcp2 and quiche are specified
Daniel Stenberg [Mon, 9 Aug 2021 08:44:56 +0000 (10:44 +0200)] 
configure: error out if both ngtcp2 and quiche are specified

Reported-by: Vincent Grande
See #7539
Closes #7545

3 years agoeasy: use a custom implementation of wcsdup on Windows
Jeff Mears [Fri, 6 Aug 2021 21:27:42 +0000 (14:27 -0700)] 
easy: use a custom implementation of wcsdup on Windows

... so that malloc/free overrides from curl_global_init are used for
wcsdup correctly.

Closes #7540

3 years agozuul: add an mbedtls3 CI job
Daniel Stenberg [Sun, 8 Aug 2021 21:19:33 +0000 (23:19 +0200)] 
zuul: add an mbedtls3 CI job

Closes #7544

3 years agombedTLS: initial 3.0.0 support
Benau [Fri, 30 Jul 2021 14:57:11 +0000 (22:57 +0800)] 
mbedTLS: initial 3.0.0 support

Closes #7428

3 years agoRELEASE-NOTES: synced
Daniel Stenberg [Sun, 8 Aug 2021 21:57:28 +0000 (23:57 +0200)] 
RELEASE-NOTES: synced

3 years agoconfigure.ac: revert bad nghttp2 library detection improvements
Daniel Stenberg [Thu, 29 Jul 2021 21:27:30 +0000 (23:27 +0200)] 
configure.ac: revert bad nghttp2 library detection improvements

This reverts commit b4b34db65f9f8673753344c5f and 29c7cf79e8b.

The logic is now back to assuming that the nghttp2 lib is called nghttp2 and
nothing else.

Reported-by: Rui Pinheiro
Reported-by: Alex Crichton
Fixes #7514
Closes #7515

3 years agohappy-eyeballs-timeout-ms.d: polish the wording
Daniel Stenberg [Sun, 8 Aug 2021 17:02:02 +0000 (19:02 +0200)] 
happy-eyeballs-timeout-ms.d: polish the wording

Reported-by: Josh Soref
Fixes #7433
Closes #7542

3 years agombedtls_threadlock: fix unused variable warning
modbw [Wed, 14 Jul 2021 09:11:57 +0000 (11:11 +0200)] 
mbedtls_threadlock: fix unused variable warning

Closes #7393

3 years agongtcp2: compile with the latest ngtcp2 and nghttp3
Tatsuhiro Tsujikawa [Sun, 8 Aug 2021 10:18:15 +0000 (19:18 +0900)] 
ngtcp2: compile with the latest ngtcp2 and nghttp3

Closes #7541

4 years agoCI/cirrus: reduce compile time with increased parallism
Marc Hoersken [Thu, 29 Jul 2021 06:10:39 +0000 (08:10 +0200)] 
CI/cirrus: reduce compile time with increased parallism

Cirrus CI VMs have 2 CPUs, let's use them also for Windows builds.

Reviewed-by: Daniel Stenberg
Closes #7505

4 years agotool/tests: fix potential year 2038 issues
Bin Lan [Wed, 21 Jul 2021 02:23:05 +0000 (10:23 +0800)] 
tool/tests: fix potential year 2038 issues

The length of 'long' in a 32-bit system is 32 bits, which cannot be used
to save timestamps after 2038. Most operating systems have extended
time_t to 64 bits.

Remove the castings to long.

Closes #7466

4 years agocompressed.d: it's a request, not an order
Daniel Stenberg [Fri, 30 Jul 2021 10:33:33 +0000 (12:33 +0200)] 
compressed.d: it's a request, not an order

Clarified

Reported-by: Dan Jacobson
Reviewed-by: Daniel Gustafsson
Fixes #7516
Closes #7517

4 years agotests: make three tests pass until 2037
Bernhard M. Wiedemann [Thu, 29 Jul 2021 05:29:01 +0000 (07:29 +0200)] 
tests: make three tests pass until 2037

after 2038 something in test1915 fails on 32-bit OSes

Closes #7512