]> git.ipfire.org Git - thirdparty/curl.git/log
thirdparty/curl.git
4 years agogithub: add support for Hacktoberfest using labels 7897/head
Marc Hoersken [Sat, 23 Oct 2021 19:30:03 +0000 (21:30 +0200)] 
github: add support for Hacktoberfest using labels

Automatically add hacktoberfest-accepted label to PRs opened between
September 30th and November 1st once a commit with a close reference
to it is pushed onto the master branch.

With this workflow we can participate in Hacktoberfest while not
relying on GitHub to identify PRs as merged due to our rebasing.

Requires hacktoberfest-accepted labels to exist for PRs on the
participating repository. Also requires hacktoberfest topic on
the participating repository to avoid applying to forked repos.

Reviewed-by: Daniel Stenberg
Fixes #7865
Closes #7897

4 years agohttp: reject HTTP response codes < 100
Daniel Stenberg [Tue, 26 Oct 2021 15:47:14 +0000 (17:47 +0200)] 
http: reject HTTP response codes < 100

... which then also includes negative ones as test 1430 uses.

This makes native + hyper backend act identically on this and therefore
test 1430 can now be enabled when building with hyper. Adjust test 1431
as well.

Closes #7909

4 years agodocs: fix typo in CURLOPT_TRAILERFUNCTION example
Kerem Kat [Tue, 26 Oct 2021 17:06:13 +0000 (17:06 +0000)] 
docs: fix typo in CURLOPT_TRAILERFUNCTION example

Closes #7910

4 years agodocs/HYPER: remove some remaining issues, add HTTP/0.9 limitation
Daniel Stenberg [Tue, 26 Oct 2021 15:26:21 +0000 (17:26 +0200)] 
docs/HYPER: remove some remaining issues, add HTTP/0.9 limitation

4 years agoconfigure: when hyper is selected, deselect nghttp2
Daniel Stenberg [Tue, 26 Oct 2021 10:56:26 +0000 (12:56 +0200)] 
configure: when hyper is selected, deselect nghttp2

Closes #7908

4 years agosendf: accept zero-length data in Curl_client_write()
Patrick Monnerat [Mon, 25 Oct 2021 11:54:57 +0000 (13:54 +0200)] 
sendf: accept zero-length data in Curl_client_write()

Historically, Curl_client_write() used a length value of 0 as a marker
for a null-terminated data string. This feature has been removed in
commit f4b85d2. To detect leftover uses of the feature, a DEBUGASSERT
statement rejecting a length with value 0 was introduced, effectively
precluding use of this function with zero-length data.

The current commit removes the DEBUGASSERT and makes the function to
return immediately if length is 0.

A direct effect is to fix trying to output a zero-length distinguished
name in openldap.

Another DEBUGASSERT statement is also rephrased for better readability.

Closes #7898

4 years agohyper: disable test 1294 since hyper doesn't allow such crazy headers
Daniel Stenberg [Mon, 25 Oct 2021 15:14:13 +0000 (17:14 +0200)] 
hyper: disable test 1294 since hyper doesn't allow such crazy headers

Closes #7905

4 years agoc-hyper: make CURLOPT_SUPPRESS_CONNECT_HEADERS work
Daniel Stenberg [Mon, 25 Oct 2021 15:10:21 +0000 (17:10 +0200)] 
c-hyper: make CURLOPT_SUPPRESS_CONNECT_HEADERS work

Verified by the enabled test 1288

Closes #7905

4 years agotest1287: make work on hyper
Daniel Stenberg [Mon, 25 Oct 2021 14:49:52 +0000 (16:49 +0200)] 
test1287: make work on hyper

Closes #7905

4 years agotest1266/1267: disabled on hyper: no HTTP/0.9 support
Daniel Stenberg [Mon, 25 Oct 2021 14:47:43 +0000 (16:47 +0200)] 
test1266/1267: disabled on hyper: no HTTP/0.9 support

Closes #7905

4 years agoMakefile.m32: fix to not require OpenSSL with -libssh2 or -rtmp options
Viktor Szakats [Mon, 25 Oct 2021 19:10:55 +0000 (19:10 +0000)] 
Makefile.m32: fix to not require OpenSSL with -libssh2 or -rtmp options

Previously, -libssh2/-rtmp options assumed that OpenSSL is also enabled
(and then failed with an error when not finding expected OpenSSL headers),
but this isn't necessarly true, e.g. when building both libssh2 and curl
against Schannel. This patch makes sure to only enable the OpenSSL backend
with -libssh2/-rtmp, when there was no SSL option explicitly selected.

- Re-implement the logic as a single block of script.
- Also fix an indentation while there.

Assisted-by: Jay Satiro
Closes #7895

4 years agodocs: consistent use of "Added in"
Daniel Stenberg [Mon, 25 Oct 2021 09:45:09 +0000 (11:45 +0200)] 
docs: consistent use of "Added in"

Make them all say "Added in [version]" without using 'curl' or 'libcurl'
in that phrase.

4 years agoman pages: require all to use the same section header order
Daniel Stenberg [Mon, 25 Oct 2021 06:54:08 +0000 (08:54 +0200)] 
man pages: require all to use the same section header order

This is the same order we already enforce among the options' man pages:
consistency is good. Add lots of previously missing examples.

Adjust the manpage-syntax script for this purpose, used in test 1173.

Closes #7904

4 years agodocs/HTTP3: improve build instructions
David Hu [Tue, 12 Oct 2021 01:38:01 +0000 (18:38 -0700)] 
docs/HTTP3: improve build instructions

1. If writing to a system path if the command is not prefixed with
`sudo` it will cause a permission denied error

2. The patched OpenSSL branch has been updated to `openssl-3.0.0+quic`
to match upstream OpenSSL version.

3. We should not disable GnuTLS docs.

Updated some commands about `make install`

Closes #7842

4 years agoCMake: restore support for SecureTransport on iOS
Ricardo Martins [Tue, 19 Oct 2021 12:56:02 +0000 (13:56 +0100)] 
CMake: restore support for SecureTransport on iOS

Restore support for building curl for iOS with SecureTransport enabled.

Closes #7501

4 years agotests: enable more tests with hyper
Daniel Stenberg [Sun, 24 Oct 2021 21:13:14 +0000 (23:13 +0200)] 
tests: enable more tests with hyper

Adjusted 1144, 1164 and 1176.

Closes #7900

4 years agodocs: provide "RETURN VALUE" section for more func manpages
Daniel Stenberg [Mon, 25 Oct 2021 05:50:25 +0000 (07:50 +0200)] 
docs: provide "RETURN VALUE" section for more func manpages

Three were missing, one used a non-standard name for the header.

Closes #7902

4 years agocurl_multi_socket_action.3: add a "RETURN VALUE" section
Jay Satiro [Sun, 24 Oct 2021 21:52:54 +0000 (17:52 -0400)] 
curl_multi_socket_action.3: add a "RETURN VALUE" section

.. because it may not be immediately clear to the user what
curl_multi_socket_action returns.

Ref: https://curl.se/mail/lib-2021-10/0035.html

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

4 years agoRELEASE-NOTES: synced
Daniel Stenberg [Sun, 24 Oct 2021 19:28:39 +0000 (21:28 +0200)] 
RELEASE-NOTES: synced

4 years agotests: use python3 in test 1451
Samuel Henrique [Sun, 24 Oct 2021 17:18:26 +0000 (18:18 +0100)] 
tests: use python3 in test 1451

This is a continuation of commit ec91b5a69000bea0794bbb3 in which
changing this test was missed.  There are no other python2 leftovers
now.

Based on a Debian patch originally written by Alessandro Ghedini
<ghedo@debian.org>

Closes #7899

4 years agolib: fixing comment spelling typos in lib files
Eddie Lumpkin [Fri, 22 Oct 2021 18:59:11 +0000 (18:59 +0000)] 
lib: fixing comment spelling typos in lib files

Closes #7894
Signed-off-by: ewlumpkin <ewlumpkin@gmail.com>
4 years agoopenssl: if verifypeer is not requested, skip the CA loading
Daniel Stenberg [Fri, 22 Oct 2021 10:34:34 +0000 (12:34 +0200)] 
openssl: if verifypeer is not requested, skip the CA loading

It was previously done mostly to show a match/non-match in the verbose
output even when verification was not asked for. This change skips the
loading of the CA certs unless verifypeer is set to save memory and CPU.

Closes #7892

4 years agocurl-confopts.m4: remove --enable/disable-hidden-symbols
Daniel Stenberg [Fri, 22 Oct 2021 07:13:30 +0000 (09:13 +0200)] 
curl-confopts.m4:  remove --enable/disable-hidden-symbols

These configure options have been saying "deprecated" since 9e24b9c7af
(April 2012). It was about time we remove them.

Closes #7891

4 years agoc-hyper: don't abort CONNECT responses early when auth-in-progress
Daniel Stenberg [Fri, 22 Oct 2021 08:57:54 +0000 (10:57 +0200)] 
c-hyper: don't abort CONNECT responses early when auth-in-progress

... and make sure to stop ignoring the body once the CONNECT is done.

This should make test 206 work proper again and not be flaky.

Closes #7889

4 years agohyper: does not support disabling CURLOPT_HTTP_TRANSFER_DECODING
Daniel Stenberg [Fri, 22 Oct 2021 06:44:14 +0000 (08:44 +0200)] 
hyper: does not support disabling CURLOPT_HTTP_TRANSFER_DECODING

Simply because hyper doesn't have this ability. Mentioned in docs now.

Skip test 326 then

Closes #7889

4 years agotest262: don't attempt with hyper
Daniel Stenberg [Thu, 21 Oct 2021 20:30:37 +0000 (22:30 +0200)] 
test262: don't attempt with hyper

This test verifies that curl works with binary zeroes in HTTP response
headers and hyper refuses such. They're not kosher http.

Closes #7889

4 years agoc-hyper: make test 217 run
Daniel Stenberg [Thu, 21 Oct 2021 17:44:29 +0000 (19:44 +0200)] 
c-hyper: make test 217 run

Closes #7889

4 years agoDISABLED: enable test 209+213 for hyper
Daniel Stenberg [Thu, 21 Oct 2021 15:37:56 +0000 (17:37 +0200)] 
DISABLED: enable test 209+213 for hyper

Follow-up to 823d3ab855c

Closes #7889

4 years agotest207: accept a different error code for hyper
Daniel Stenberg [Thu, 21 Oct 2021 15:36:19 +0000 (17:36 +0200)] 
test207: accept a different error code for hyper

It returns HYPERE_UNEXPECTED_EOF for this case which we convert to the
somewhat generic CURLE_RECV_ERROR.

Closes #7889

4 years agoINSTALL: update symbol hiding option
Érico Nogueira [Thu, 21 Oct 2021 19:57:33 +0000 (16:57 -0300)] 
INSTALL: update symbol hiding option

--enable-hidden-symbols was deprecated in
9e24b9c7afbcb81120af4cf3f6cdee49a06d8224.

Closes #7890

4 years agohttp_proxy: multiple CONNECT with hyper done better
Daniel Stenberg [Thu, 21 Oct 2021 14:42:42 +0000 (16:42 +0200)] 
http_proxy: multiple CONNECT with hyper done better

Enabled test 206

Closes #7888

4 years agohyper: pass the CONNECT line to the debug callback
Daniel Stenberg [Thu, 21 Oct 2021 14:03:11 +0000 (16:03 +0200)] 
hyper: pass the CONNECT line to the debug callback

Closes #7887

4 years agomailmap: Malik Idrees Hasan Khan
Daniel Stenberg [Thu, 21 Oct 2021 07:43:51 +0000 (09:43 +0200)] 
mailmap: Malik Idrees Hasan Khan

4 years agobuild: fix typos
MalikIdreesHasa [Thu, 21 Oct 2021 05:41:22 +0000 (05:41 +0000)] 
build: fix typos

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

4 years agoURL-SYNTAX: add IMAP UID SEARCH example
Jay Satiro [Tue, 19 Oct 2021 19:37:19 +0000 (15:37 -0400)] 
URL-SYNTAX: add IMAP UID SEARCH example

- Explain the difference between IMAP search via URL (which returns
  message sequence numbers) and IMAP search via custom request (which
  can return UID numbers if prefixed with UID, eg "UID SEARCH ...").

Bug: https://github.com/curl/curl/issues/7626
Reported-by: orycho@users.noreply.github.com
Ref: https://github.com/curl/curl/issues/2789

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

4 years agomanpage: adjust the asterisk in some SYNOPSIS sections
Daniel Stenberg [Wed, 20 Oct 2021 14:00:46 +0000 (16:00 +0200)] 
manpage: adjust the asterisk in some SYNOPSIS sections

Closes #7884

4 years agocurl_multi_perform.3: polish wording
Daniel Stenberg [Wed, 20 Oct 2021 06:49:17 +0000 (08:49 +0200)] 
curl_multi_perform.3: polish wording

 - simplify the example by using curl_multi_poll

 - mention curl_multi_add_handle in the text

 - cut out the description of pre-7.20.0 return code behavior - that version
   is now more than eleven years old and is basically no longer out there

 - adjust the "typical usage" to mention curl_multi_poll

Closes #7883

4 years agodocs/THANKS: removed on request
Daniel Stenberg [Wed, 20 Oct 2021 08:42:52 +0000 (10:42 +0200)] 
docs/THANKS: removed on request

4 years agoFAQ: polish the explanation of libcurl
Daniel Stenberg [Wed, 20 Oct 2021 07:24:18 +0000 (09:24 +0200)] 
FAQ: polish the explanation of libcurl

4 years agocurl_easy_perform.3: minor wording tweak
Daniel Stenberg [Wed, 20 Oct 2021 06:41:06 +0000 (08:41 +0200)] 
curl_easy_perform.3: minor wording tweak

4 years agomime: mention CURL_DISABLE_MIME in comment
Erik Stenlund [Tue, 19 Oct 2021 20:56:13 +0000 (22:56 +0200)] 
mime: mention CURL_DISABLE_MIME in comment

CURL_DISABLE_MIME is not mentioned in the comment describing the if else
preprocessor directive.

Closes #7882

4 years agotls: remove newline from three infof() calls
Daniel Stenberg [Tue, 19 Oct 2021 15:38:18 +0000 (17:38 +0200)] 
tls: remove newline from three infof() calls

Follow-up to e7416cf

Reported-by: billionai on github
Fixes #7879
Closes #7880

4 years agoRELEASE-NOTES: synced
Daniel Stenberg [Tue, 19 Oct 2021 08:39:40 +0000 (10:39 +0200)] 
RELEASE-NOTES: synced

4 years agocurl_gssapi: fix build warnings by removing const
Daniel Stenberg [Tue, 19 Oct 2021 07:37:41 +0000 (09:37 +0200)] 
curl_gssapi: fix build warnings by removing const

Follow-up to 20e980f85b0ea6

In #7875 these inits were modified but I get two warnings that these new
typecasts are necessary for.

Closes #7876

4 years agocurl_gssapi: fix link error on macOS Monterey
Bo Anderson [Mon, 18 Oct 2021 19:18:28 +0000 (20:18 +0100)] 
curl_gssapi: fix link error on macOS Monterey

Fixes #7657
Closes #7875

4 years agotest1185: verify checksrc
Daniel Stenberg [Sun, 17 Oct 2021 22:16:50 +0000 (00:16 +0200)] 
test1185: verify checksrc

Closes #7866

4 years agochecksrc: improve the SPACESEMICOLON error message
Daniel Stenberg [Mon, 18 Oct 2021 08:46:04 +0000 (10:46 +0200)] 
checksrc: improve the SPACESEMICOLON error message

and adjust the MULTISPACE one to use plural

Closes #7866

4 years agourl: set "k->size" -1 at start of request
Daniel Stenberg [Mon, 18 Oct 2021 12:36:34 +0000 (14:36 +0200)] 
url: set "k->size" -1 at start of request

The size of the transfer is unknown at that point.

Fixes #7871
Closes #7872

4 years agodoh: remove experimental code for DoH with GET
Daniel Gustafsson [Mon, 18 Oct 2021 11:25:57 +0000 (13:25 +0200)] 
doh: remove experimental code for DoH with GET

The code for sending DoH requests with GET was never enabled in a way
such that it could be used or tested. As there haven't been requests
for this feature, and since it at this is effectively dead, remove it
and favor reimplementing the feature in case anyone is interested.

Closes #7870
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
4 years agocirrus: remove FreeBSD 11.4 from the matrix
Daniel Stenberg [Mon, 18 Oct 2021 07:51:11 +0000 (09:51 +0200)] 
cirrus: remove FreeBSD 11.4 from the matrix

It has reached End-Of-Life and causes some LDAP CI issues.

Closes #7869

4 years agocirrus: switch to openldap24-client
Daniel Stenberg [Mon, 18 Oct 2021 07:22:33 +0000 (09:22 +0200)] 
cirrus: switch to openldap24-client

... as it seems openldap-client doesn't exist anymore.

Reported-by: Jay Satiro
Fixes #7868
Closes #7869

4 years agochecksrc: ignore preprocessor lines
Daniel Stenberg [Sat, 16 Oct 2021 11:50:25 +0000 (13:50 +0200)] 
checksrc: ignore preprocessor lines

In order to check the actual code better, checksrc now ignores
everything that look like preprocessor instructions. It also means
that code in macros are now longer checked.

Note that some rules then still don't need to be followed when code is
exactly below a cpp instruction.

Removes two checksrc exceptions we needed previously because of
preprocessor lines being checked.

Reported-by: Marcel Raad
Fixes #7863
Closes #7864

4 years agourlapi: skip a strlen(), pass in zero
Daniel Stenberg [Fri, 15 Oct 2021 14:29:52 +0000 (16:29 +0200)] 
urlapi: skip a strlen(), pass in zero

... to let curl_easy_escape() itself do the strlen. This avoids a (false
positive) Coverity warning and it avoids us having to store the strlen()
return value in an int variable.

Reviewed-by: Daniel Gustafsson
Closes #7862

4 years agomisc: update copyright years
Daniel Stenberg [Fri, 15 Oct 2021 15:07:19 +0000 (17:07 +0200)] 
misc: update copyright years

4 years agoexamples/htmltidy: correct wrong printf() use
Daniel Stenberg [Fri, 15 Oct 2021 06:02:48 +0000 (08:02 +0200)] 
examples/htmltidy: correct wrong printf() use

... and update the includes to match how current htmltidy wants them
used.

Reported-by: Stathis Kapnidis
Fixes #7860
Closes #7861

4 years agohttp: set content length earlier
Jay Satiro [Fri, 1 Oct 2021 17:57:23 +0000 (13:57 -0400)] 
http: set content length earlier

- Make content length (ie download size) accessible to the user in the
  header callback, but only after all headers have been processed (ie
  only in the final call to the header callback).

Background:

For a long time the content length could be retrieved in the header
callback via CURLINFO_CONTENT_LENGTH_DOWNLOAD_T as soon as it was parsed
by curl.

Changes were made in 8a16e54 (precedes 7.79.0) to ignore content length
if any transfer encoding is used. A side effect of that was that
content length was not set by libcurl until after the header callback
was called the final time, because until all headers are processed it
cannot be determined if content length is valid.

This change keeps the same intention --all headers must be processed--
but now the content length is available before the final call to the
header function that indicates all headers have been processed (ie
a blank header).

Bug: https://github.com/curl/curl/commit/8a16e54#r57374914
Reported-by: sergio-nsk@users.noreply.github.com
Co-authored-by: Daniel Stenberg
Fixes https://github.com/curl/curl/issues/7804
Closes https://github.com/curl/curl/pull/7803

4 years agoaws-sigv4: make signature work when post data is binary
Abhinav Singh [Tue, 12 Oct 2021 10:02:27 +0000 (15:32 +0530)] 
aws-sigv4: make signature work when post data is binary

User sets the post fields size for binary data.  Hence, we should not be
using strlen on it.

Added test 1937 and 1938 to verify.

Closes #7844

4 years agoMacOSX-Framework: remove redundant ';'
a1346054 [Sun, 19 Sep 2021 13:04:45 +0000 (13:04 +0000)] 
MacOSX-Framework: remove redundant ';'

Closes #7859

4 years agoRELEASE-NOTES: synced
Daniel Stenberg [Thu, 14 Oct 2021 21:04:27 +0000 (23:04 +0200)] 
RELEASE-NOTES: synced

4 years agoopenssl: with OpenSSL 1.1.0+ a failed RAND_status means goaway
Daniel Stenberg [Thu, 14 Oct 2021 11:57:53 +0000 (13:57 +0200)] 
openssl: with OpenSSL 1.1.0+ a failed RAND_status means goaway

One reason we know it can fail is if a provider is used that doesn't do
a proper job or is wrongly configured.

Reported-by: Michael Baentsch
Fixes #7840
Closes #7856

4 years agocmake: add CURL_ENABLE_SSL option and make CMAKE_USE_* SSL backend options depend...
Ryan Mast [Mon, 4 Oct 2021 00:58:28 +0000 (02:58 +0200)] 
cmake: add CURL_ENABLE_SSL option and make CMAKE_USE_* SSL backend options depend on it

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

4 years agohttp: remove assert that breaks hyper
Daniel Stenberg [Thu, 14 Oct 2021 08:38:22 +0000 (10:38 +0200)] 
http: remove assert that breaks hyper

Reported-by: Jay Satiro
Fixes #7852
Closes #7855

4 years agohttp_proxy: fix one more result assign for hyper
Daniel Stenberg [Thu, 14 Oct 2021 08:33:57 +0000 (10:33 +0200)] 
http_proxy: fix one more result assign for hyper

and remove the bad assert again, since it was run even with no error!

Closes #7854

4 years agosws: fix memory leak on exit
Jay Satiro [Wed, 13 Oct 2021 04:33:23 +0000 (00:33 -0400)] 
sws: fix memory leak on exit

- Free the allocated http request struct on cleanup.

Prior to this change if sws was built with leak sanitizer it would
report a memory leak error during testing.

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

4 years agoc-hyper: make Curl_http propagate errors better
Daniel Stenberg [Wed, 13 Oct 2021 07:15:48 +0000 (09:15 +0200)] 
c-hyper: make Curl_http propagate errors better

Pass on better return codes when errors occur within Curl_http instead
of insisting that CURLE_OUT_OF_MEMORY is the only possible one.

Pointed-out-by: Jay Satiro
Closes #7851

4 years agohttp_proxy: make hyper CONNECT() return the correct error code
Daniel Stenberg [Tue, 12 Oct 2021 15:11:20 +0000 (17:11 +0200)] 
http_proxy: make hyper CONNECT() return the correct error code

For every 'goto error', make sure the result variable holds the error
code for what went wrong.

Reported-by: Rafał Mikrut
Fixes #7825
Closes #7846

4 years agodocs/Makefile.am: repair 'make html'
Daniel Stenberg [Wed, 13 Oct 2021 22:20:28 +0000 (00:20 +0200)] 
docs/Makefile.am: repair 'make html'

by removing index.html which isn't around anymore

Closes #7853

4 years agocurl: correct grammar in generated libcurl code
Борис Верховский [Fri, 1 Oct 2021 14:57:00 +0000 (08:57 -0600)] 
curl: correct grammar in generated libcurl code

Closes #7802

4 years agotests: disable test 2043
Daniel Stenberg [Tue, 12 Oct 2021 14:05:13 +0000 (16:05 +0200)] 
tests: disable test 2043

It uses revoked.badssl.com which now is expired and therefor this now
permafails. We should not use external sites for tests, this test should
be converted to use our own infra.

Closes #7845

4 years agoruntests: split out ignored tests
Daniel Stenberg [Mon, 11 Oct 2021 21:02:13 +0000 (23:02 +0200)] 
runtests: split out ignored tests

Report ignore tests separately from the actual fails.

Don't exit non-zero if test servers couldn't get killed.

Assisted-by: Jay Satiro
Fixes #7818
Closes #7841

4 years agohttp2: make getsock not wait for write if there's no remote window
Daniel Stenberg [Mon, 11 Oct 2021 14:56:51 +0000 (16:56 +0200)] 
http2: make getsock not wait for write if there's no remote window

While uploading, check for remote window availability in the getsock
function so that we don't wait for a writable socket if no data can be
sent.

Reported-by: Steini2000 on github
Fixes #7821
Closes #7839

4 years agotest368: verify dash is appended for "-r [num]"
Daniel Stenberg [Mon, 11 Oct 2021 15:35:07 +0000 (17:35 +0200)] 
test368: verify dash is appended for "-r [num]"

Follow-up to 8758a26f8878

4 years agocurl: actually append "-" to --range without number only
Борис Верховский [Sun, 10 Oct 2021 11:29:51 +0000 (05:29 -0600)] 
curl: actually append "-" to --range without number only

Closes #7837

4 years agoRELEASE-NOTES: synced
Daniel Stenberg [Mon, 11 Oct 2021 15:14:16 +0000 (17:14 +0200)] 
RELEASE-NOTES: synced

4 years agourlapi: URL decode percent-encoded host names
Daniel Stenberg [Fri, 8 Oct 2021 18:12:26 +0000 (20:12 +0200)] 
urlapi: URL decode percent-encoded host names

The host name is stored decoded and can be encoded when used to extract
the full URL. By default when extracting the URL, the host name will not
be URL encoded to work as similar as possible as before. When not URL
encoding the host name, the '%' character will however still be encoded.

Getting the URL with the CURLU_URLENCODE flag set will percent encode
the host name part.

As a bonus, setting the host name part with curl_url_set() no longer
accepts a name that contains space, CR or LF.

Test 1560 has been extended to verify percent encodings.

Reported-by: Noam Moshe
Reported-by: Sharon Brizinov
Reported-by: Raul Onitza-Klugman
Reported-by: Kirill Efimov
Fixes #7830
Closes #7834

4 years agoCI/makefiles: introduce dedicated test target
Marc Hoersken [Mon, 27 Sep 2021 19:17:29 +0000 (21:17 +0200)] 
CI/makefiles: introduce dedicated test target

Make it easy to use the same set of test flags
throughout all current and future CI builds.

Reviewed-by: Jay Satiro
Follow up to #7690
Closes #7785

4 years agomaketgz: redirect updatemanpages.pl output to /dev/null
Daniel Stenberg [Fri, 8 Oct 2021 13:16:34 +0000 (15:16 +0200)] 
maketgz: redirect updatemanpages.pl output to /dev/null

4 years agoCURLOPT_HTTPHEADER.3: add descripion for specific headers
Daniel Stenberg [Fri, 8 Oct 2021 11:44:10 +0000 (13:44 +0200)] 
CURLOPT_HTTPHEADER.3: add descripion for specific headers

Settting Host: or Transfer-Encoding: chunked actually have special
meanings to libcurl. This change tries to document them

Closes #7829

4 years agoc-hyper: use hyper_request_set_uri_parts to make h2 better
Daniel Stenberg [Fri, 8 Oct 2021 09:33:50 +0000 (11:33 +0200)] 
c-hyper: use hyper_request_set_uri_parts to make h2 better

and make sure to not send Host: over h2.

Fixes #7679
Reported-by: David Cook
Closes #7827

4 years agocurl-openssl.m4: modify library order for openssl linking
Michael Afanasiev [Thu, 7 Oct 2021 18:23:21 +0000 (14:23 -0400)] 
curl-openssl.m4: modify library order for openssl linking

lcrypto may depend on lz, and configure corrently fails with when
statically linking as the order is "-lz -lcrypto". This commit switches
the order to "-lcrypto -lz".

Closes #7826

4 years agosha256: use high-level EVP interface for OpenSSL 7808/head
Marcel Raad [Sat, 2 Oct 2021 10:32:42 +0000 (12:32 +0200)] 
sha256: use high-level EVP interface for OpenSSL

Available since OpenSSL 0.9.7. The low-level SHA256 interface is
deprecated in OpenSSL v3, and its usage was discouraged even before.

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

4 years agocurl_ntlm_core: use OpenSSL only if DES is available
Marcel Raad [Sat, 2 Oct 2021 08:17:58 +0000 (10:17 +0200)] 
curl_ntlm_core: use OpenSSL only if DES is available

This selects another SSL backend then if available, or otherwise at
least gives a meaningful error message.

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

4 years agomd5: fix compilation with OpenSSL 3.0 API
Marcel Raad [Sun, 26 Sep 2021 07:19:51 +0000 (09:19 +0200)] 
md5: fix compilation with OpenSSL 3.0 API

Only use OpenSSL's MD5 code if it's available.

Also fix wolfSSL build with `NO_MD5`, in which case neither the
wolfSSL/OpenSSL implementation nor the fallback implementation was
used.

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

4 years agoprint_category: printf %*s needs an int argument
Daniel Stenberg [Thu, 7 Oct 2021 08:13:41 +0000 (10:13 +0200)] 
print_category: printf %*s needs an int argument

... not a size_t!

Detected by Coverity: CID 1492331.
Closes #7823

4 years agoversion_win32: use actual version instead of manifested version
Jay Satiro [Mon, 4 Oct 2021 19:52:01 +0000 (15:52 -0400)] 
version_win32: use actual version instead of manifested version

- Use RtlVerifyVersionInfo instead of VerifyVersionInfo, when possible.

Later versions of Windows have normal version functions that compare and
return versions based on the way the application is manifested, instead
of the actual version of Windows the application is running on. We
prefer the actual version of Windows so we'll now call the Rtl variant
of version functions (RtlVerifyVersionInfo) which does a proper
comparison of the actual version.

Reported-by: Wyatt O'Day
Ref: https://github.com/curl/curl/pull/7727

Fixes https://github.com/curl/curl/issues/7742
Closes https://github.com/curl/curl/pull/7810

4 years agoRELEASE-NOTES: synced
Daniel Stenberg [Wed, 6 Oct 2021 20:52:09 +0000 (22:52 +0200)] 
RELEASE-NOTES: synced

4 years agohttp: fix Basic auth with empty name field in URL
Daniel Stenberg [Wed, 6 Oct 2021 13:40:53 +0000 (15:40 +0200)] 
http: fix Basic auth with empty name field in URL

Add test 367 to verify.

Reported-by: Rick Lane
Fixes #7819
Closes #7820

4 years agoCURLOPT_MAXLIFETIME_CONN: maximum allowed lifetime for conn reuse
Jeffrey Tolar [Sat, 18 Sep 2021 16:29:44 +0000 (11:29 -0500)] 
CURLOPT_MAXLIFETIME_CONN: maximum allowed lifetime for conn reuse

... and close connections that are too old instead of reusing them.

By default, this behavior is disabled.

Bug: https://curl.se/mail/lib-2021-09/0058.html
Closes #7751

4 years agodocs/examples: add missing binaries to gitignore
Daniel Gustafsson [Wed, 6 Oct 2021 08:46:00 +0000 (10:46 +0200)] 
docs/examples: add missing binaries to gitignore

Commit f65d7889b added getreferrer, and commit ae8e11ed5 multi-legacy,
both of which missed adding .gitignore clauses for the built binaries.

Closes #7817
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
4 years agoHTTP3: fix the HTTP/3 Explained book link
Josip Medved [Tue, 5 Oct 2021 01:32:59 +0000 (18:32 -0700)] 
HTTP3: fix the HTTP/3 Explained book link

Closes #7813

4 years agomisc: fix a few issues on MidnightBSD
Lucas Holt [Mon, 4 Oct 2021 21:15:07 +0000 (17:15 -0400)] 
misc: fix a few issues on MidnightBSD

Closes #7812

4 years agotool_main: fix typo in comment
8U61ife [Mon, 4 Oct 2021 21:25:23 +0000 (05:25 +0800)] 
tool_main: fix typo in comment

Closes: #7811
Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
4 years agoBINDINGS: URL updates
Ryan Mast [Mon, 4 Oct 2021 15:30:14 +0000 (08:30 -0700)] 
BINDINGS: URL updates

For cpr, BBHTTP, Eiffel, Harbour, Haskell, Mono, and Rust

Closes #7809

4 years agoscripts/delta: hide a git error message we don't care about
Daniel Stenberg [Sat, 2 Oct 2021 21:36:00 +0000 (23:36 +0200)] 
scripts/delta: hide a git error message we don't care about

fatal: path 'src/tool_listhelp.c' exists on disk, but not in [tag]

4 years agosasl: binary messages
Patrick Monnerat [Sat, 2 Oct 2021 16:05:26 +0000 (18:05 +0200)] 
sasl: binary messages

Capabilities of sasl module are extended to exchange messages in binary
as an alternative to base64.

If http authentication flags have been set, those are used as sasl
default preferred mechanisms.

Closes #6930

4 years agowolfssl: use for SHA256, MD4, MD5, and setting DES odd parity
Hayden Roche [Fri, 1 Oct 2021 23:06:55 +0000 (16:06 -0700)] 
wolfssl: use for SHA256, MD4, MD5, and setting DES odd parity

Prior to this commit, OpenSSL could be used for all these functions, but
not wolfSSL. This commit makes it so wolfSSL will be used if USE_WOLFSSL
is defined.

Closes #7806

4 years agoscripts/delta: count command line options in the new file
Daniel Stenberg [Fri, 1 Oct 2021 06:49:12 +0000 (08:49 +0200)] 
scripts/delta: count command line options in the new file

... which makes the shown delta number wrong until next release.

4 years agoRELEASE-NOTES: synced
Daniel Stenberg [Fri, 1 Oct 2021 06:46:30 +0000 (08:46 +0200)] 
RELEASE-NOTES: synced

4 years agoprint_category: print help descriptions aligned
Daniel Stenberg [Wed, 29 Sep 2021 10:43:09 +0000 (12:43 +0200)] 
print_category: print help descriptions aligned

Adjust the description position to make an aligned column when doing
help listings, which is more pleasing to the eye.

Suggested-by: Gisle Vanem
Closes #7792

4 years agolib/mk-ca-bundle.pl: skip certs passed Not Valid After date
Daniel Stenberg [Thu, 30 Sep 2021 21:10:35 +0000 (23:10 +0200)] 
lib/mk-ca-bundle.pl: skip certs passed Not Valid After date

With this change applied, the now expired 'DST Root CA X3' cert will no
longer be included in the output.

Details: https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/

Closes #7801