]> git.ipfire.org Git - thirdparty/curl.git/log
thirdparty/curl.git
5 years agohttp2: close the http2 connection when no more requests may be sent
Laramie Leavitt [Thu, 2 Jul 2020 23:46:22 +0000 (16:46 -0700)] 
http2: close the http2 connection when no more requests may be sent

Well-behaving HTTP2 servers send two GOAWAY messages. The first
message is a warning that indicates that the server is going to
stop accepting streams. The second one actually closes the stream.

nghttp2 reports this state (and the other state of no more stream
identifiers) via the call nghttp2_session_check_request_allowed().
In this state the client should not create more streams on the
session (tcp connection), and in curl this means that the server
has requested that the connection is closed.

It would be also be possible to put the connclose() call into the
on_http2_frame_recv() function that triggers on the GOAWAY message.

This fixes a bug seen when the client sees the following sequence of
frames:

// advisory GOAWAY
HTTP2 GOAWAY [stream-id = 0, promised-stream-id = -1]
... some additional frames

// final GOAWAY
HTTP2 GOAWAY [stream-id = 0, promised-stream-id = N ]

Before this change, curl will attempt to reuse the connection even
after the last stream, will encounter this error:

* Found bundle for host localhost: 0x5595f0a694e0 [can multiplex]
* Re-using existing connection! (#0) with host localhost
* Connected to localhost (::1) port 10443 (#0)
* Using Stream ID: 9 (easy handle 0x5595f0a72e30)
> GET /index.html?5 HTTP/2
> Host: localhost:10443
> user-agent: curl/7.68.0
> accept: */*
>
* stopped the pause stream!
* Connection #0 to host localhost left intact
curl: (16) Error in the HTTP2 framing layer

This error may posion the connection cache, causing future requests
which resolve to the same curl connection to go through the same error
path.

Closes #5643

5 years agoftpserver: don't verify SMTP MAIL FROM names
Daniel Stenberg [Thu, 2 Jul 2020 14:42:55 +0000 (16:42 +0200)] 
ftpserver: don't verify SMTP MAIL FROM names

Rely on tests asking the names to get refused instead - test servers
should be as dumb as possible. Edited test 914, 955 and 959 accordingly.

Closes #5639

5 years agocurl_version_info.3: CURL_VERSION_KERBEROS4 is deprecated
Daniel Stenberg [Thu, 2 Jul 2020 21:46:40 +0000 (23:46 +0200)] 
curl_version_info.3: CURL_VERSION_KERBEROS4 is deprecated

This came up in #5640. It make sense to clarify this in the docs!

Reminded-by: Kamil Dudka
Closes #5642

5 years agotool_getparam: make --krb option work again
Kamil Dudka [Thu, 2 Jul 2020 15:41:37 +0000 (17:41 +0200)] 
tool_getparam: make --krb option work again

It was disabled by mistake in commit curl-7_37_1-23-ge38ba4301.

Bug: https://bugzilla.redhat.com/1833193
Closes #5640

5 years agohttp2: fix nghttp2_strerror -> nghttp2_http2_strerror in debug messages
Jeremy Maitin-Shepard [Thu, 2 Jul 2020 16:47:11 +0000 (09:47 -0700)] 
http2: fix nghttp2_strerror -> nghttp2_http2_strerror in debug messages

Confusingly, nghttp2 has two different error code enums:

- nghttp2_error, to be used with nghttp2_strerror
- nghttp2_error_code, to be used with nghttp2_http2_strerror

Closes #5641

5 years agourl: silence MSVC warning 5638/head
Marcel Raad [Thu, 2 Jul 2020 11:23:31 +0000 (13:23 +0200)] 
url: silence MSVC warning

Since commit f3d501dc678, if proxy support is disabled, MSVC warns:
url.c : warning C4701: potentially uninitialized local variable
'hostaddr' used
url.c : error C4703: potentially uninitialized local pointer variable
'hostaddr' used

That could actually only happen if both `conn->bits.proxy` and
`CURL_DISABLE_PROXY` were enabled.
Initialize it to NULL to silence the warning.

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

5 years agoRELEASE-NOTES: synced
Daniel Stenberg [Wed, 1 Jul 2020 08:37:20 +0000 (10:37 +0200)] 
RELEASE-NOTES: synced

5 years agoRELEASE-NOTES: curl 7.71.1 curl-7_71_1
Daniel Stenberg [Tue, 30 Jun 2020 10:31:11 +0000 (12:31 +0200)] 
RELEASE-NOTES: curl 7.71.1

5 years agoTHANKS: add contributors to 7.71.1
Daniel Stenberg [Tue, 30 Jun 2020 10:32:02 +0000 (12:32 +0200)] 
THANKS: add contributors to 7.71.1

5 years agoscripts/copyright.pl: skip .dcignore
Daniel Stenberg [Tue, 30 Jun 2020 13:29:52 +0000 (15:29 +0200)] 
scripts/copyright.pl: skip .dcignore

5 years agoRevert "multi: implement wait using winsock events"
Daniel Stenberg [Tue, 30 Jun 2020 08:56:57 +0000 (10:56 +0200)] 
Revert "multi: implement wait using winsock events"

This reverts commit 8bc25c590e530de87595d1bb3577f699eb1309b9.

That commit (from #5397) introduced a regression in 7.71.0.

Reported-by: tmkk on github
Fixes #5631
Closes #5632

5 years agoTODO: Add flag to specify download directory
Daniel Stenberg [Mon, 29 Jun 2020 21:53:27 +0000 (23:53 +0200)] 
TODO: Add flag to specify download directory

5 years agoTODO: return code to CURLMOPT_PUSHFUNCTION to fail connection
Daniel Stenberg [Mon, 29 Jun 2020 21:50:44 +0000 (23:50 +0200)] 
TODO: return code to CURLMOPT_PUSHFUNCTION to fail connection

5 years agocirrus-ci: disable FreeBSD 13 (again)
Daniel Stenberg [Mon, 29 Jun 2020 15:04:59 +0000 (17:04 +0200)] 
cirrus-ci: disable FreeBSD 13 (again)

It has been failing for a good while again. This time we better leave it
disabled until we have more reason to believe it behaves.

Closes #5628

5 years agongtcp2: sync with current master
Daniel Stenberg [Mon, 29 Jun 2020 14:22:05 +0000 (16:22 +0200)] 
ngtcp2: sync with current master

ngtcp2 added two new callbacks

Reported-by: Lucien Zürcher
Fixes #5624
Closes #5627

5 years agoexamples/multithread.c: call curl_global_cleanup()
Daniel Stenberg [Mon, 29 Jun 2020 06:59:34 +0000 (08:59 +0200)] 
examples/multithread.c: call curl_global_cleanup()

Reported-by: qiandu2006 on github
Fixes #5622
Closes #5623

5 years agovtls: compare cert blob when finding a connection to reuse
Daniel Stenberg [Fri, 26 Jun 2020 21:26:01 +0000 (23:26 +0200)] 
vtls: compare cert blob when finding a connection to reuse

Reported-by: Gergely Nagy
Fixes #5617
Closes #5619

5 years agoRELEASE-NOTES: synced
Daniel Stenberg [Sat, 27 Jun 2020 22:35:52 +0000 (00:35 +0200)] 
RELEASE-NOTES: synced

5 years agoterminology: call them null-terminated strings
Daniel Stenberg [Thu, 25 Jun 2020 09:38:25 +0000 (11:38 +0200)] 
terminology: call them null-terminated strings

Updated terminology in docs, comments and phrases to refer to C strings
as "null-terminated". Done to unify with how most other C oriented docs
refer of them and what users in general seem to prefer (based on a
single highly unscientific poll on twitter).

Reported-by: coinhubs on github
Fixes #5598
Closes #5608

5 years agohttp: fix proxy auth with blank password
Daniel Stenberg [Fri, 26 Jun 2020 12:16:21 +0000 (14:16 +0200)] 
http: fix proxy auth with blank password

Regression in 7.71.0

Added test case 346 to verify.

Reported-by: Kristoffer Gleditsch
Fixes #5613
Closes #5616

5 years ago.dcignore: ignore tests and docs directories
Daniel Stenberg [Fri, 26 Jun 2020 22:07:37 +0000 (00:07 +0200)] 
.dcignore: ignore tests and docs directories

This is a config file for deepcode.ai, a static code analyzer.

5 years agotool_cb_hdr: Fix etag warning output and return code
Jay Satiro [Fri, 26 Jun 2020 06:26:41 +0000 (02:26 -0400)] 
tool_cb_hdr: Fix etag warning output and return code

- Return 'failure' on failure, to follow the existing style.

- Put Warning: and the warning message on the same line.

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

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

5 years agoCURLOPT_READFUNCTION.3: provide the upload data size up front
Daniel Stenberg [Thu, 25 Jun 2020 07:54:40 +0000 (09:54 +0200)] 
CURLOPT_READFUNCTION.3: provide the upload data size up front

Assisted-by: Jay Satiro
Closes #5607

5 years agotest1539: do a HTTP 1.0 POST without a set size (fails)
Daniel Stenberg [Tue, 23 Jun 2020 21:17:25 +0000 (23:17 +0200)] 
test1539: do a HTTP 1.0 POST without a set size (fails)

Attempt to reproduce #5593. Test case 1514 is very similar but uses
HTTP/1.1 and thus switches to chunked.

Closes #5595

5 years agombedtls: fix build with disabled proxy support
Baruch Siach [Fri, 26 Jun 2020 09:40:43 +0000 (12:40 +0300)] 
mbedtls: fix build with disabled proxy support

Don't reference fields that do not exist. Fixes build failure:

vtls/mbedtls.c: In function 'mbed_connect_step1':
vtls/mbedtls.c:249:54: error: 'struct connectdata' has no member named 'http_proxy'

Closes #5615

5 years agocodeql-analysis.yml: fix the 'languages' setting
Daniel Stenberg [Fri, 26 Jun 2020 06:49:23 +0000 (08:49 +0200)] 
codeql-analysis.yml: fix the 'languages' setting

It needs a 'with:' in front of it.

5 years agogtihub: codeql-analysis.yml
Daniel Stenberg [Thu, 25 Jun 2020 23:06:05 +0000 (01:06 +0200)] 
gtihub: codeql-analysis.yml

enables code security scanning with github actions

5 years agotests: verify newline in username and password for HTTP
Daniel Stenberg [Fri, 19 Jun 2020 22:04:08 +0000 (00:04 +0200)] 
tests: verify newline in username and password for HTTP

test 1296 is a simply command line test

test 1910 is a libcurl test including a redirect

5 years agourl: allow user + password to contain "control codes" for HTTP(S)
Daniel Stenberg [Tue, 23 Jun 2020 14:23:51 +0000 (16:23 +0200)] 
url: allow user + password to contain "control codes" for HTTP(S)

Reported-by: Jon Johnson Jr
Fixes #5582
Closes #5592

5 years agoescape: make the URL decode able to reject only %00 bytes
Daniel Stenberg [Tue, 23 Jun 2020 14:13:50 +0000 (16:13 +0200)] 
escape: make the URL decode able to reject only %00 bytes

... or all "control codes" or nothing.

Assisted-by: Nicolas Sterchele
5 years agohttp2: set the correct URL in pushed transfers
Daniel Stenberg [Tue, 23 Jun 2020 12:28:34 +0000 (14:28 +0200)] 
http2: set the correct URL in pushed transfers

...previously CURLINFO_EFFECTIVE_URL would report the URL of the
original "mother transfer", not the actually pushed resource.

Reported-by: Jonathan Cardoso Machado
Fixes #5589
Closes #5591

5 years agoopenssl: Fix compilation on Windows when ngtcp2 is enabled
Javier Blazquez [Wed, 24 Jun 2020 20:21:04 +0000 (13:21 -0700)] 
openssl: Fix compilation on Windows when ngtcp2 is enabled

- Include wincrypt before OpenSSL includes so that the latter can
  properly handle any conflicts between the two.

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

5 years agotest543: extended to verify zero length input
Daniel Stenberg [Wed, 24 Jun 2020 13:24:35 +0000 (15:24 +0200)] 
test543: extended to verify zero length input

As was reported in #5601

5 years agoescape: zero length input should return a zero length output
Daniel Stenberg [Wed, 24 Jun 2020 13:23:19 +0000 (15:23 +0200)] 
escape: zero length input should return a zero length output

Regression added in 7.71.0.

Fixes #5601
Reported-by: Kristoffer Gleditsch
Closes #5602

5 years agoCurl_inet_ntop: always check the return code
Daniel Stenberg [Tue, 23 Jun 2020 23:13:04 +0000 (01:13 +0200)] 
Curl_inet_ntop: always check the return code

Reported-by: Siva Sivaraman
Fixes #5412
Closes #5597

5 years agosendf: improve the message on client write errors
Daniel Stenberg [Tue, 23 Jun 2020 22:22:00 +0000 (00:22 +0200)] 
sendf: improve the message on client write errors

Replace "Failed writing body (X != Y)" with
"Failure writing output to destination". Possibly slightly less cryptic.

Reported-by: coinhubs on github
Fixes #5594
Closes #5596

5 years agoRELEASE-NOTES: synced
Daniel Stenberg [Wed, 24 Jun 2020 09:44:22 +0000 (11:44 +0200)] 
RELEASE-NOTES: synced

5 years agocurlver: start working on 7.71.1
Daniel Stenberg [Wed, 24 Jun 2020 09:44:10 +0000 (11:44 +0200)] 
curlver: start working on 7.71.1

5 years agoDYNBUF.md: fix a typo: trail => tail
Denis Baručić [Wed, 24 Jun 2020 07:55:20 +0000 (09:55 +0200)] 
DYNBUF.md: fix a typo: trail => tail

Closes #5599

5 years agoRELEASE-NOTES: curl 7.71.0 release curl-7_71_0
Daniel Stenberg [Mon, 22 Jun 2020 09:50:21 +0000 (11:50 +0200)] 
RELEASE-NOTES: curl 7.71.0 release

5 years agoTHANKS: curl 7.71.0 additions
Daniel Stenberg [Mon, 22 Jun 2020 09:53:33 +0000 (11:53 +0200)] 
THANKS: curl 7.71.0 additions

5 years agourl: make sure pushed streams get an allocated download buffer
Daniel Stenberg [Tue, 23 Jun 2020 12:02:54 +0000 (14:02 +0200)] 
url: make sure pushed streams get an allocated download buffer

Follow-up to c4e6968127e876b0

When a new transfer is created, as a resuly of an acknowledged push,
that transfer needs a download buffer allocated.

Closes #5590

5 years agoopenssl: Don't ignore CA paths when using Windows CA store 5585/head
Jay Satiro [Mon, 22 Jun 2020 16:01:32 +0000 (12:01 -0400)] 
openssl: Don't ignore CA paths when using Windows CA store

This commit changes the behavior of CURLSSLOPT_NATIVE_CA so that it does
not override CURLOPT_CAINFO / CURLOPT_CAPATH, or the hardcoded default
locations. Instead the CA store can now be used at the same time.

The change is due to the impending release. The issue is still being
discussed. The behavior of CURLSSLOPT_NATIVE_CA is subject to change and
is now documented as experimental.

Ref: bc052cc (parent commit)
Ref: https://github.com/curl/curl/issues/5585

5 years agotool_operate: Don't use Windows CA store as a fallback
Jay Satiro [Sat, 20 Jun 2020 06:39:37 +0000 (02:39 -0400)] 
tool_operate: Don't use Windows CA store as a fallback

Background:

148534d added CURLSSLOPT_NATIVE_CA to use the Windows OS certificate
store in libcurl w/ OpenSSL on Windows. CURLSSLOPT_NATIVE_CA overrides
CURLOPT_CAINFO if both are set. The curl tool will fall back to
CURLSSLOPT_NATIVE_CA if it could not find a certificate bundle to set
via CURLOPT_CAINFO.

Problem:

libcurl may be built with hardcoded paths to a certificate bundle or
directory, and if CURLSSLOPT_NATIVE_CA is used then those paths are
ignored.

Solution:

A solution is still being discussed but since there's an impending
release this commit removes using CURLSSLOPT_NATIVE_CA in the curl tool.

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

5 years agoopenssl: Fix CA fallback logic for OpenSSL 3.0 build
Jay Satiro [Mon, 22 Jun 2020 16:13:55 +0000 (12:13 -0400)] 
openssl: Fix CA fallback logic for OpenSSL 3.0 build

Prior to this change I assume a build error would occur when
CURL_CA_FALLBACK was used.

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

5 years agocopyright: update mismatched copyright years
Daniel Stenberg [Mon, 22 Jun 2020 09:55:03 +0000 (11:55 +0200)] 
copyright: update mismatched copyright years

5 years agotest1460: verify that -Ji is not ok
Daniel Stenberg [Sun, 31 May 2020 21:10:22 +0000 (23:10 +0200)] 
test1460: verify that -Ji is not ok

5 years agotool_getparam: -i is not OK if -J is used
Daniel Stenberg [Sun, 31 May 2020 21:09:59 +0000 (23:09 +0200)] 
tool_getparam: -i is not OK if -J is used

Reported-by: sn on hackerone
Bug: https://curl.haxx.se/docs/CVE-2020-8177.html

5 years agoCMake: ignore INTERFACE_LIBRARY targets for pkg-config file
Peter Wu [Thu, 4 Jun 2020 09:28:01 +0000 (11:28 +0200)] 
CMake: ignore INTERFACE_LIBRARY targets for pkg-config file

Reviewed-by: Marcel Raad
Fixes #5512
Closes #5517

5 years agomultibyte: Fixed access-> waccess to file for Windows Plarform
Valentyn Korniienko [Thu, 18 Jun 2020 13:26:13 +0000 (16:26 +0300)] 
multibyte: Fixed access-> waccess to file for Windows Plarform

Reviewed-by: Marcel Raad
Closes #5580

5 years agoaltsvc: bump to h3-29
Daniel Stenberg [Fri, 19 Jun 2020 14:32:43 +0000 (16:32 +0200)] 
altsvc: bump to h3-29

Closes #5584

5 years agourlglob: treat literal IPv6 addresses with zone IDs as a host name
Daniel Stenberg [Thu, 18 Jun 2020 11:27:59 +0000 (13:27 +0200)] 
urlglob: treat literal IPv6 addresses with zone IDs as a host name

... and not as a "glob". Now done by passing the supposed host to the
URL parser which supposedly will do a better job at identifying "real"
numerical IPv6 addresses.

Reported-by: puckipedia on github
Fixes #5576
Closes #5579

5 years agotest1179: verify error message for non-existing cmdline option
Daniel Stenberg [Thu, 18 Jun 2020 06:45:02 +0000 (08:45 +0200)] 
test1179: verify error message for non-existing cmdline option

5 years agotool_getparam: repair the error message for unknown flag
Daniel Stenberg [Wed, 17 Jun 2020 22:51:37 +0000 (00:51 +0200)] 
tool_getparam: repair the error message for unknown flag

Follow-up to 9e5669f3880674
Detected by Coverity CID 1464582 ("Logically dead code")

Closes #5577

5 years agoFILEFORMAT: describe verify/stderr
Daniel Stenberg [Thu, 18 Jun 2020 07:46:38 +0000 (09:46 +0200)] 
FILEFORMAT: describe verify/stderr

5 years agoconnect: improve happy eyeballs handling
Daniel Stenberg [Mon, 15 Jun 2020 14:17:55 +0000 (16:17 +0200)] 
connect: improve happy eyeballs handling

For QUIC but also for regular TCP when the second family runs out of IPs
with a failure while the first family is still trying to connect.

Separated the timeout handling for IPv4 and IPv6 connections when they
both have a number of addresses to iterate over.

5 years agongtcp2: never call fprintf() in lib code in release version
Daniel Stenberg [Mon, 15 Jun 2020 11:19:17 +0000 (13:19 +0200)] 
ngtcp2: never call fprintf() in lib code in release version

5 years agongtcp2: fix happy eyeballs quic connect crash
Daniel Stenberg [Mon, 15 Jun 2020 08:36:32 +0000 (10:36 +0200)] 
ngtcp2: fix happy eyeballs quic connect crash

Reported-by: Peter Wu
Fixes #5565
Closes #5568

5 years agoselect: remove the unused ELAPSED_MS() macro
Daniel Stenberg [Wed, 17 Jun 2020 06:44:41 +0000 (08:44 +0200)] 
select: remove the unused ELAPSED_MS() macro

Closes #5573

5 years agomulti: implement wait using winsock events
rcombs [Wed, 13 May 2020 23:49:57 +0000 (18:49 -0500)] 
multi: implement wait using winsock events

This avoids using a pair of TCP ports to provide wakeup functionality
for every multi instance on Windows, where socketpair() is emulated
using a TCP socket on loopback which could in turn lead to socket
resource exhaustion.

Reviewed-by: Gergely Nagy
Reviewed-by: Marc Hörsken
Closes #5397

5 years agomanpage: add three missing environment variables
Daniel Stenberg [Tue, 16 Jun 2020 15:36:50 +0000 (17:36 +0200)] 
manpage: add three missing environment variables

CURL_SSL_BACKEND, QLOGDIR and SSLKEYLOGFILE

Closes #5571

5 years agoRELEASE-NOTES: synced
Daniel Stenberg [Tue, 16 Jun 2020 07:30:35 +0000 (09:30 +0200)] 
RELEASE-NOTES: synced

5 years agoconfigure: for wolfSSL, check for the DES func needed for NTLM
Daniel Stenberg [Thu, 11 Jun 2020 21:36:19 +0000 (23:36 +0200)] 
configure: for wolfSSL, check for the DES func needed for NTLM

Also adds pkg-config support for the wolfSSL detection.

5 years agontlm: enable NTLM support with wolfSSL
Ruurd Beerstra [Thu, 11 Jun 2020 15:14:43 +0000 (17:14 +0200)] 
ntlm: enable NTLM support with wolfSSL

When wolfSSL is built with its OpenSSL API layer, it fetures the same DES*
functions that OpenSSL has. This change take advantage of that.

Co-authored-by: Daniel Stenberg
Closes #5556
Fixes #5548

5 years agohttp: move header storage to Curl_easy from connectdata
Daniel Stenberg [Mon, 15 Jun 2020 09:28:17 +0000 (11:28 +0200)] 
http: move header storage to Curl_easy from connectdata

Since the connection can be used by many independent requests (using
HTTP/2 or HTTP/3), things like user-agent and other transfer-specific
data MUST NOT be kept connection oriented as it could lead to requests
getting the wrong string for their requests. This struct data was
lingering like this due to old HTTP1 legacy thinking where it didn't
mattered..

Fixes #5566
Closes #5567

5 years agoCODE_REVIEW.md: how to do code reviews in curl
Daniel Stenberg [Thu, 11 Jun 2020 10:04:05 +0000 (12:04 +0200)] 
CODE_REVIEW.md: how to do code reviews in curl

Assisted-by: Daniel Gustafsson
Assisted-by: Rich Salz
Assisted-by: Hugo van Kemenade
Assisted-by: James Fuller
Assisted-by: Marc Hörsken
Assisted-by: Jay Satiro
Closes #5555

5 years agoaltsvc: remove the num field from the altsvc struct
Daniel Stenberg [Fri, 12 Jun 2020 15:35:35 +0000 (17:35 +0200)] 
altsvc: remove the num field from the altsvc struct

It was superfluous since we have the list.size alredy

Reported-by: Jay Satiro
Fixes #5553
Closes #5563

5 years agoversion.d: expanded and alpha-sorted
Daniel Stenberg [Fri, 12 Jun 2020 08:30:20 +0000 (10:30 +0200)] 
version.d: expanded and alpha-sorted

Added a few missing features not previously mentioned. Ordered them
alphabetically.

Closes #5558

5 years agoABI.md: rename to .md and polish the markdown
Daniel Stenberg [Fri, 12 Jun 2020 11:26:20 +0000 (13:26 +0200)] 
ABI.md: rename to .md and polish the markdown

Closes #5562

5 years agoHELP-US: add a section for "smaller tasks"
Daniel Stenberg [Fri, 12 Jun 2020 10:01:49 +0000 (12:01 +0200)] 
HELP-US: add a section for "smaller tasks"

The point of this section is to meet the CII Best Practices gold level
critera:

 "The project MUST clearly identify small tasks that can be performed by
  new or casual contributors"

Closes #5560

5 years agoTODO: retry on the redirected-to URL
Daniel Stenberg [Fri, 12 Jun 2020 12:41:35 +0000 (14:41 +0200)] 
TODO: retry on the redirected-to URL

Closes #5462

5 years agomailmap: Nicolas Sterchele
Daniel Stenberg [Fri, 12 Jun 2020 11:41:52 +0000 (13:41 +0200)] 
mailmap: Nicolas Sterchele

5 years agoTODO: remove 19.3 section title
Sterchele Nicolas [Fri, 12 Jun 2020 11:21:04 +0000 (13:21 +0200)] 
TODO: remove 19.3 section title

Follow-up to ad6416986755e417c66e2c6, which caused wrong formatting on
curl documentation website

Closes #5561

5 years agotest1560: avoid possibly negative association in wording
Martin V [Wed, 10 Jun 2020 18:14:59 +0000 (20:14 +0200)] 
test1560: avoid possibly negative association in wording

Closes #5549

5 years agoshare: don't set the share flag it something fails
Daniel Stenberg [Thu, 11 Jun 2020 08:16:32 +0000 (10:16 +0200)] 
share: don't set the share flag it something fails

When asking for a specific feature to be shared in the share object,
that bit was previously set unconditionally even if the shared feature
failed or otherwise wouldn't work.

Closes #5554

5 years agobuildconf: remove -print from the find command that removes files
Daniel Stenberg [Wed, 10 Jun 2020 21:40:00 +0000 (23:40 +0200)] 
buildconf: remove -print from the find command that removes files

It's just too annoying and unnecessary to get a long list of files shown

5 years agoRELEASE-NOTES: synced
Daniel Stenberg [Wed, 10 Jun 2020 07:38:54 +0000 (09:38 +0200)] 
RELEASE-NOTES: synced

5 years agowording: avoid blacklist/whitelist stereotypes
Daniel Stenberg [Tue, 9 Jun 2020 14:08:11 +0000 (16:08 +0200)] 
wording: avoid blacklist/whitelist stereotypes

Instead of discussing if there's value or meaning (implied or not) in
the colors, let's use words without the same possibly negative
associations.

Closes #5546

5 years agotool_getparam: fix memory leak in parse_args
Jay Satiro [Tue, 9 Jun 2020 15:49:44 +0000 (11:49 -0400)] 
tool_getparam: fix memory leak in parse_args

Prior to this change in Windows Unicode builds most parsed options would
not be freed.

Found using _CrtDumpMemoryLeaks().

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

5 years agosocks: detect connection close during handshake
Daniel Stenberg [Mon, 8 Jun 2020 12:05:22 +0000 (14:05 +0200)] 
socks: detect connection close during handshake

The SOCKS4/5 state machines weren't properly terminated when the proxy
connection got closed, leading to a busy-loop.

Reported-By: zloi-user on github
Fixes #5532
Closes #5542

5 years agomulti: add defensive check on data->multi->num_alive
xquery [Mon, 8 Jun 2020 11:25:56 +0000 (13:25 +0200)] 
multi: add defensive check on data->multi->num_alive

Closes #5540

5 years agoCurl_addrinfo: use one malloc instead of three
Daniel Stenberg [Sat, 6 Jun 2020 21:10:18 +0000 (23:10 +0200)] 
Curl_addrinfo: use one malloc instead of three

To reduce the amount of allocations needed for creating a Curl_addrinfo
struct, make a single larger malloc instead of three separate smaller
ones.

Closes #5533

5 years agoquiche: update SSLKEYLOGFILE support
Alessandro Ghedini [Mon, 8 Jun 2020 11:47:05 +0000 (12:47 +0100)] 
quiche: update SSLKEYLOGFILE support

quiche now requires the application to explicitly set the keylog path
for each connection, rather than reading the environment variable
itself.

Closes #5541

5 years agotests: add two simple tests for --login-options
Daniel Stenberg [Mon, 8 Jun 2020 08:46:32 +0000 (10:46 +0200)] 
tests: add two simple tests for --login-options

Test 895 and 896 - as a follow-up to a3e972313b

Closes #5539

5 years agongtcp2: update with recent API changes
Daniel Stenberg [Mon, 8 Jun 2020 07:33:51 +0000 (09:33 +0200)] 
ngtcp2: update with recent API changes

Syncs with ngtcp2 commit 7e9a917d386d98 merged June 7 2020.

Assisted-by: Tatsuhiro Tsujikawa
Closes #5538

5 years agosocks: remove unreachable breaks in socks.c and mime.c
xquery [Mon, 8 Jun 2020 06:42:25 +0000 (08:42 +0200)] 
socks: remove unreachable breaks in socks.c and mime.c

Closes #5537

5 years agotool_cfgable: free login_options at exit
Daniel Stenberg [Sun, 7 Jun 2020 22:05:12 +0000 (00:05 +0200)] 
tool_cfgable: free login_options at exit

Memory leak
Reported-by: Geeknik Labs
Fixes #5535
Closes #5536

5 years agolibssh2: keep sftp errors as 'unsigned long'
Daniel Stenberg [Sat, 6 Jun 2020 22:30:50 +0000 (00:30 +0200)] 
libssh2: keep sftp errors as 'unsigned long'

Remove weird work-around for storing the SFTP errors as int instead of
the "unsigned long" that libssh2 actually returns for SFTP errors.

Closes #5534

5 years agotimeouts: move ms timeouts to timediff_t from int and long
Marc Hoersken [Mon, 1 Jun 2020 06:49:20 +0000 (08:49 +0200)] 
timeouts: move ms timeouts to timediff_t from int and long

Now that all functions in select.[ch] take timediff_t instead
of the limited int or long, we can remove type conversions
and related preprocessor checks to silence compiler warnings.

Avoiding conversions from time_t was already done in 842f73de.

Based upon #5262
Supersedes #5214, #5220 and #5221
Follow up to #5343 and #5479
Closes #5490

5 years agoopenssl: set FLAG_TRUSTED_FIRST unconditionally
François Rigault [Fri, 5 Jun 2020 20:00:58 +0000 (22:00 +0200)] 
openssl: set FLAG_TRUSTED_FIRST unconditionally

On some systems, openssl 1.0.x is still the default, but it has been
patched to contain all the recent security fixes. As a result of this
patching, it is possible for macro X509_V_FLAG_NO_ALT_CHAINS to be
defined, while the previous behavior of openssl to not look at trusted
chains first, remains.

Fix it: ensure X509_V_FLAG_TRUSTED_FIRST is always set, do not try to
probe for the behavior of openssl based on the existence ofmacros.

Closes #5530

5 years agoserver/util: fix logmsg format using curl_off_t argument
Daniel Stenberg [Fri, 5 Jun 2020 21:03:04 +0000 (23:03 +0200)] 
server/util: fix logmsg format using curl_off_t argument

... this caused segfaults on armv7.

Regression added in dd0365d560aea5a (7.70.0)

Reviewed-by: Jay Satiro
Closes #5529

5 years agoRELEASE-NOTES: synced
Daniel Stenberg [Fri, 5 Jun 2020 21:25:43 +0000 (23:25 +0200)] 
RELEASE-NOTES: synced

5 years agosocks: fix expected length of SOCKS5 reply
Cherish98 [Fri, 5 Jun 2020 17:36:11 +0000 (17:36 +0000)] 
socks: fix expected length of SOCKS5 reply

Commit 4a4b63d forgot to set the expected SOCKS5 reply length when the
reply ATYP is X'01'. This resulted in erroneously expecting more bytes
when the request length is greater than the reply length (e.g., when
remotely resolving the hostname).

Closes #5527

5 years ago.gitignore: add directory containing the stats repo
Marc Hoersken [Fri, 5 Jun 2020 17:54:34 +0000 (19:54 +0200)] 
.gitignore: add directory containing the stats repo

Since the new curl/stats repository is designed to be
checked out into the curl repository working tree as stats/
it should be on the ignore list to aid in commit staging.

5 years agoHTTP3.md: clarify cargo build directory
Adnan Khan [Thu, 4 Jun 2020 17:18:00 +0000 (13:18 -0400)] 
HTTP3.md: clarify cargo build directory

Cargo needs to be called from within the 'quiche' directory.

Closes #5522

5 years agouser-agent.d: spell out what happens given a blank argument
Daniel Stenberg [Fri, 5 Jun 2020 12:10:52 +0000 (14:10 +0200)] 
user-agent.d: spell out what happens given a blank argument

Closes #5525

5 years agotrailers: switch h1-trailer logic to use dynbuf
Daniel Stenberg [Fri, 5 Jun 2020 12:04:22 +0000 (14:04 +0200)] 
trailers: switch h1-trailer logic to use dynbuf

In the continued effort to remove "manual" realloc schemes.

Closes #5524

5 years agoCURLINFO_ACTIVESOCKET.3: clarify the description
Daniel Stenberg [Thu, 4 Jun 2020 15:20:17 +0000 (17:20 +0200)] 
CURLINFO_ACTIVESOCKET.3: clarify the description

Reported-by: Jay Satiro
Fixes #5299
Closes #5520

5 years agomailmap: Don J Olmstead
Daniel Stenberg [Thu, 4 Jun 2020 21:53:44 +0000 (23:53 +0200)] 
mailmap: Don J Olmstead

5 years agoconfigure: only strip first -L from LDFLAGS
Daniel Stenberg [Thu, 4 Jun 2020 16:11:36 +0000 (18:11 +0200)] 
configure: only strip first -L from LDFLAGS

In the logic that works out if a given OpenSSL path works, it stripped
off a possibly leading -L flag using an incorrect sed pattern which
would remove all instances of -L in the string, including if the path
itself contained that two-letter sequence!

The same pattern was used and is now updated in multiple places. Now it
only removes -L if it starts the strings.

Reported-by: Mohamed Osama
Fixes #5519
Closes #5521