]> git.ipfire.org Git - thirdparty/curl.git/log
thirdparty/curl.git
3 years agoTODO: remove "Option to ignore private IP"
Daniel Stenberg [Fri, 25 Feb 2022 10:35:23 +0000 (11:35 +0100)] 
TODO: remove "Option to ignore private IP"

... as curl ignores the IP entirely by default these days.

3 years agoTODO: remove "hardcode the "localhost" addresses"
Daniel Stenberg [Fri, 25 Feb 2022 10:33:29 +0000 (11:33 +0100)] 
TODO: remove "hardcode the "localhost" addresses"

This is implmented since 1a0ebf6632f88

3 years agoTODO: 1.24 was a dupe of 1.1
Daniel Stenberg [Fri, 25 Feb 2022 10:32:48 +0000 (11:32 +0100)] 
TODO: 1.24 was a dupe of 1.1

3 years agoTODO: remove "Typesafe curl_easy_setopt()"
Daniel Stenberg [Fri, 25 Feb 2022 10:31:11 +0000 (11:31 +0100)] 
TODO: remove "Typesafe curl_easy_setopt()"

I don't consider this a serious TODO item

3 years agoKNOWN_BUGS: remove "Uploading HTTP/3 files gets interrupted"
Daniel Stenberg [Fri, 25 Feb 2022 10:15:53 +0000 (11:15 +0100)] 
KNOWN_BUGS: remove "Uploading HTTP/3 files gets interrupted"

This works now

3 years agoKNOWN_BUGS: remove "HTTP/3 multipart POST with quiche fails"
Daniel Stenberg [Fri, 25 Feb 2022 10:14:27 +0000 (11:14 +0100)] 
KNOWN_BUGS: remove "HTTP/3 multipart POST with quiche fails"

It works now

3 years agoquiche: remove two leftover debug infof() outputs
Daniel Stenberg [Fri, 25 Feb 2022 10:13:49 +0000 (11:13 +0100)] 
quiche: remove two leftover debug infof() outputs

3 years agongtcp2: Reset dynbuf when it is fully drained
Tatsuhiro Tsujikawa [Thu, 24 Feb 2022 10:06:43 +0000 (19:06 +0900)] 
ngtcp2: Reset dynbuf when it is fully drained

Reported-by: vl409 on github
Fixes #7351
Closes #8504

3 years agohostip: avoid unused parameter error in Curl_resolv_check
Stewart Gebbie [Thu, 24 Feb 2022 11:06:11 +0000 (13:06 +0200)] 
hostip: avoid unused parameter error in Curl_resolv_check

When built without DNS-over-HTTP and without asynchronous resolvers,
neither the dns nor the data parameters are used.

That is Curl_resolv_check appears to call
Curl_resolver_is_resolved(data, dns). But,
with CURL_DISABLE_DOH without CURLRES_ASYNCH, the call is actually
elided via a macro definition.

This fix resolves the resultant: "unused parameter 'data'" error.

Closes #8505

3 years agohttp2: move two infof calls to debug-h2-only
Daniel Stenberg [Thu, 24 Feb 2022 08:28:12 +0000 (09:28 +0100)] 
http2: move two infof calls to debug-h2-only

and remove a superflous one

Ref: https://github.com/curl/curl/discussions/8498
Closes #8502

3 years agoquiche: fix upload for bigger content-length
Jean-Philippe Menil [Wed, 9 Feb 2022 21:43:13 +0000 (22:43 +0100)] 
quiche: fix upload for bigger content-length

Signed-off-by: Jean-Philippe Menil <jpmenil@gmail.com>
Closes #8421

3 years agoCURLOPT_PROGRESSFUNCTION.3: fix example struct assignment
Farzin [Wed, 23 Feb 2022 07:47:15 +0000 (11:17 +0330)] 
CURLOPT_PROGRESSFUNCTION.3: fix example struct assignment

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

3 years agoOS400/README: clarify compilation steps
Rob Boeckermann [Tue, 22 Feb 2022 01:16:31 +0000 (17:16 -0800)] 
OS400/README: clarify compilation steps

Closes #8494

3 years agoOS400: fix typos in rpg include file
Rob Boeckermann [Tue, 22 Feb 2022 01:03:16 +0000 (17:03 -0800)] 
OS400: fix typos in rpg include file

This resolves issues compiling rpg code that includes the curl header
file.

Closes #8494

3 years agovtls: fix socket check conditions
MAntoniak [Mon, 21 Feb 2022 17:44:58 +0000 (18:44 +0100)] 
vtls: fix socket check conditions

fix condition to check the second socket during associate and
disassociate connection

Closes #8493

3 years agolibssh2: don't typecast socket to int for libssh2_session_handshake
Daniel Stenberg [Mon, 21 Feb 2022 13:55:31 +0000 (14:55 +0100)] 
libssh2: don't typecast socket to int for libssh2_session_handshake

Since libssh2_socket_t uses SOCKET on windows which can be larger than
int.

Closes #8492

3 years agoRELEASE-NOTES: fix typo and make one desc shorter
Daniel Stenberg [Mon, 21 Feb 2022 10:09:52 +0000 (11:09 +0100)] 
RELEASE-NOTES: fix typo and make one desc shorter

3 years agoRELEASE-NOTES: synced
Daniel Stenberg [Mon, 21 Feb 2022 10:00:34 +0000 (11:00 +0100)] 
RELEASE-NOTES: synced

3 years agoCURLOPT_XFERINFOFUNCTION.3: fix typo in example
Daniel Stenberg [Mon, 21 Feb 2022 09:09:59 +0000 (10:09 +0100)] 
CURLOPT_XFERINFOFUNCTION.3: fix typo in example

Reported-by: coralw on github
Fixes #8487
Closes #8488

3 years agoREADME: disable linkchecks for the sponsor links
Daniel Stenberg [Mon, 21 Feb 2022 09:19:27 +0000 (10:19 +0100)] 
README: disable linkchecks for the sponsor links

Closes #8489

3 years agoopenssl: check if sessionid flag is enabled before retrieving session
Jay Satiro [Sun, 20 Feb 2022 21:30:08 +0000 (16:30 -0500)] 
openssl: check if sessionid flag is enabled before retrieving session

Ideally, Curl_ssl_getsessionid should not be called unless sessionid
caching is enabled. There is a debug assertion in the function to help
ensure that. Therefore, the pattern in all vtls is basically:

  if(primary.sessionid) {lock(); Curl_ssl_getsessionid(...); unlock();}

There was one instance in openssl.c where sessionid was not checked
beforehand and this change fixes that.

Prior to this change an assertion would occur in openssl debug builds
during connection stage if session caching was disabled.

Reported-by: Jim Beveridge
Fixes https://github.com/curl/curl/issues/8472
Closes https://github.com/curl/curl/pull/8484

3 years agomulti: allow user callbacks to call curl_multi_assign
Jay Satiro [Sun, 20 Feb 2022 21:04:07 +0000 (16:04 -0500)] 
multi: allow user callbacks to call curl_multi_assign

Several years ago a change was made to block user callbacks from calling
back into the API when not supported (recursive calls). One of the calls
blocked was curl_multi_assign. Recently the blocking was extended to the
multi interface API, however curl_multi_assign may need to be called
from within those user callbacks (eg CURLMOPT_SOCKETFUNCTION).

I can't think of any callback where it would be unsafe to call
curl_multi_assign so I removed the restriction entirely.

Reported-by: Michael Wallner
Ref: https://github.com/curl/curl/commit/b46cfbc
Ref: https://github.com/curl/curl/commit/340bb19

Fixes https://github.com/curl/curl/issues/8480
Closes https://github.com/curl/curl/pull/8483

3 years agossl: reduce allocated space for ssl backend when FTP is disabled
MAntoniak [Thu, 17 Feb 2022 16:48:48 +0000 (17:48 +0100)] 
ssl: reduce allocated space for ssl backend when FTP is disabled

Add assert() for the backend pointer in many places

Closes #8471

3 years agocheckprefix: remove strlen calls
MAntoniak [Sun, 20 Feb 2022 14:16:07 +0000 (15:16 +0100)] 
checkprefix: remove strlen calls

Closes #8481

3 years agocurl.h: fix typo
1337vt [Sun, 20 Feb 2022 17:25:50 +0000 (11:25 -0600)] 
curl.h: fix typo

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

3 years agosectransp: mark a 3DES cipher as weak
Jan Venekamp [Sat, 19 Feb 2022 14:44:17 +0000 (15:44 +0100)] 
sectransp: mark a 3DES cipher as weak

- Change TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA strength to weak.

All other 3DES ciphers are already marked as weak.

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

3 years agobearssl: fix EXC_BAD_ACCESS on incomplete CA cert
Jan Venekamp [Mon, 6 Dec 2021 17:35:55 +0000 (18:35 +0100)] 
bearssl: fix EXC_BAD_ACCESS on incomplete CA cert

- Do not create trust anchor object for a CA certificate until after it
  is processed.

Prior to this change the object was created at state BR_PEM_BEGIN_OBJ
(certificate processing begin state). An incomplete certificate (for
example missing a newline at the end) never reaches BR_PEM_END_OBJ
(certificate processing end state) and therefore the trust anchor data
was not set in those objects, which caused EXC_BAD_ACCESS.

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

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

3 years agobearssl: fix connect error on expired cert and no verify
Jan Venekamp [Mon, 6 Dec 2021 17:36:01 +0000 (18:36 +0100)] 
bearssl: fix connect error on expired cert and no verify

- When peer verification is disabled use the x509_decode engine instead
  of the x509_minimal engine to parse and extract the public key from
  the first cert of the chain.

Prior to this change in such a case no key was extracted and that caused
CURLE_SSL_CONNECT_ERROR. The x509_minimal engine will stop parsing if
any validity check fails but the x509_decode won't.

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

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

3 years agobearssl: fix session resumption (session id)
Jan Venekamp [Mon, 6 Dec 2021 17:35:20 +0000 (18:35 +0100)] 
bearssl: fix session resumption (session id)

Prior to this change br_ssl_client_reset was mistakenly called with
resume_session param set to 0, which disabled session resumption.

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

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

3 years agoopenssl: fix build for version < 1.1.0
MAntoniak [Thu, 17 Feb 2022 20:29:15 +0000 (21:29 +0100)] 
openssl: fix build for version < 1.1.0

Closes #8470

3 years agoschannel: move the algIds array out of schannel.h
Joel Depooter [Thu, 17 Feb 2022 19:33:17 +0000 (11:33 -0800)] 
schannel: move the algIds array out of schannel.h

This array is only used by the SCHANNEL_CRED struct in the
schannel_acquire_credential_handle function. It can therefore be kept as
a local variable. This is a minor update to
bbb71507b7bab52002f9b1e0880bed6a32834511.

This change also updates the NUM_CIPHERS value to accurately count the
number of ciphers options listed in schannel.c, which is 47 instead of
45. It is unlikely that anyone tries to set all 47 values, but if they
had tried, the last two would not have been set.

Closes #8469

3 years agoconfigure.ac: use user-specified gssapi dir when using pkg-config
Alejandro R. Sedeño [Wed, 16 Feb 2022 17:56:02 +0000 (12:56 -0500)] 
configure.ac: use user-specified gssapi dir when using pkg-config

Using the system pkg-config path in the face of a user-specified
library path is asking to link the wrong library.

Reported-by: Michael Kaufmann
Fixes #8289
Closes #8456

3 years agoos400: Add link to QADRT devkit to README.OS400
Kevin Adler [Mon, 24 Jan 2022 23:06:23 +0000 (17:06 -0600)] 
os400: Add link to QADRT devkit to README.OS400

Closes #8455

3 years agoos400: Add function wrapper for system command
Kevin Adler [Mon, 24 Jan 2022 22:45:48 +0000 (16:45 -0600)] 
os400: Add function wrapper for system command

The wrapper will exit if the system command failed instead of blindly
continuing on.

In addition, only copy docs which exist, since now the copy failure will
cause the build to stop.

Closes #8455

3 years agoos400: Default build to target current release
Kevin Adler [Mon, 24 Jan 2022 22:44:26 +0000 (16:44 -0600)] 
os400: Default build to target current release

V6R1M0 is not available as a target release since IBM i 7.2. To keep
from having to keep this up to date in git, default to the current
release. Users can configure this to whatever release they want to
actually build for.

Closes #8455

3 years agodocs/INTERNALS.md: clean up, refer to the book
Daniel Stenberg [Thu, 17 Feb 2022 09:49:05 +0000 (10:49 +0100)] 
docs/INTERNALS.md: clean up, refer to the book

The explanatory parts are now in the everything curl book (which can
also use images etc). This document now refers to that resource and only
leaves listings of supported versions of libs, tools and operating
systems. See https://everything.curl.dev/internals

Closes #8467

3 years agodes: fix compile break for OpenSSL without DES
Marcel Raad [Wed, 16 Feb 2022 08:19:58 +0000 (09:19 +0100)] 
des: fix compile break for OpenSSL without DES

When `USE_OPENSSL` was defined but OpenSSL had no DES support and a
different crypto library was used for that, `Curl_des_set_odd_parity`
was called but not defined. This could for example happen on Windows
and macOS when using OpenSSL v3 with deprecated features disabled.

Use the same condition for the function definition as used at the
caller side, but leaving out the OpenSSL part to avoid including
OpenSSL headers.

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

3 years agoRELEASE-NOTES: synced
Daniel Stenberg [Thu, 17 Feb 2022 10:03:27 +0000 (11:03 +0100)] 
RELEASE-NOTES: synced

3 years agodocs/DEPRECATE: remove NPN support in August 2022
Daniel Stenberg [Wed, 16 Feb 2022 10:22:25 +0000 (11:22 +0100)] 
docs/DEPRECATE: remove NPN support in August 2022

Closes #8458

3 years agoftp: provide error message for control bytes in path
Daniel Stenberg [Wed, 16 Feb 2022 12:53:00 +0000 (13:53 +0100)] 
ftp: provide error message for control bytes in path

Closes #8460

3 years agohttp: fix "unused parameter ‘conn’" warning
Daniel Stenberg [Wed, 16 Feb 2022 22:04:07 +0000 (23:04 +0100)] 
http: fix "unused parameter ‘conn’" warning

Follow-up from 7d600ad1c395

Spotted on appveyor

Closes #8465

3 years agosha256: Fix minimum OpenSSL version
Alejandro R. Sedeño [Wed, 16 Feb 2022 21:57:13 +0000 (16:57 -0500)] 
sha256: Fix minimum OpenSSL version

- Change the minimum OpenSSL version for using their SHA256
  implementation from 0.9.7 to 0.9.8.

EVP_sha256() does not appear in the OpenSSL source before 0.9.7h, and
does not get built by default until 0.9.8, so trying to use it for all
0.9.7 is wrong, and before 0.9.8 is unreliable.

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

3 years agoKNOWN_BUGS: remove "slow connect to localhost on Windows"
Daniel Stenberg [Wed, 16 Feb 2022 13:05:00 +0000 (14:05 +0100)] 
KNOWN_BUGS: remove "slow connect to localhost on Windows"

localhost is not resolved anymore since 1a0ebf6632f88

3 years agoKNOWN_BUGS: remove "HTTP/3 download is 5x times slower than HTTP/2"
Daniel Stenberg [Wed, 16 Feb 2022 12:46:04 +0000 (13:46 +0100)] 
KNOWN_BUGS: remove "HTTP/3 download is 5x times slower than HTTP/2"

It's not actually a bug. More like room for improvement.

3 years agoKNOWN_BUGS: remove "HTTP/3 download with quiche halts after a while"
Daniel Stenberg [Wed, 16 Feb 2022 12:35:18 +0000 (13:35 +0100)] 
KNOWN_BUGS: remove "HTTP/3 download with quiche halts after a while"

Follow-up to 96f85a0fef694

3 years agoKNOWN_BUGS: remove "pulseUI vpn" as a problem
Daniel Stenberg [Wed, 16 Feb 2022 12:32:19 +0000 (13:32 +0100)] 
KNOWN_BUGS: remove "pulseUI vpn" as a problem

We haven't heard about this for a long time and rumours have it they
might have fixed it.

3 years agourldata: remove conn->bits.user_passwd
Daniel Stenberg [Mon, 14 Feb 2022 16:33:50 +0000 (17:33 +0100)] 
urldata: remove conn->bits.user_passwd

The authentication status should be told by the transfer and not the
connection.

Reported-by: John H. Ayad
Fixes #8449
Closes #8451

3 years agogskit: Convert to using Curl_poll
Kevin Adler [Mon, 24 Jan 2022 22:59:03 +0000 (16:59 -0600)] 
gskit: Convert to using Curl_poll

As mentioned in 32766cb, gskit was the last user of Curl_select which is
now gone. Convert to using Curl_poll to allow build to work on IBM i.

Closes #8454

3 years agogskit: Fix initialization of Curl_ssl_gskit struct
Kevin Adler [Mon, 24 Jan 2022 22:56:38 +0000 (16:56 -0600)] 
gskit: Fix initialization of Curl_ssl_gskit struct

In c30bf22, Curl_ssl_getsock was factored out in to a member of
struct Curl_ssl but the gskit initialization was not updated to reflect
this new member.

Closes #8454

3 years agogskit: Fix errors from Curl_strerror refactor
Kevin Adler [Mon, 24 Jan 2022 22:50:36 +0000 (16:50 -0600)] 
gskit: Fix errors from Curl_strerror refactor

2f0bb864c1 replaced sterror with Curl_strerror, but the strerror buffer
shadows the set_buffer "buffer" parameter. To keep consistency with the
other functions that use Curl_strerror, rename the parameter.

In addition, strerror.h is needed for the definition of STRERROR_LEN.

Closes #8454

3 years agontlm: remove unused feature defines 8453/head
Marcel Raad [Tue, 15 Feb 2022 12:50:06 +0000 (13:50 +0100)] 
ntlm: remove unused feature defines

They're not used anymore and always supported.

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

3 years agoREADME.md: fix link and layout
Kantanat Wannapaka [Mon, 14 Feb 2022 08:48:42 +0000 (15:48 +0700)] 
README.md: fix link and layout

replace <a></a> tags and <img></img> tags

Closes #8448

3 years agoKNOWN_BUGS: fix typo "libpsl"
Daniel Stenberg [Mon, 14 Feb 2022 20:18:45 +0000 (21:18 +0100)] 
KNOWN_BUGS: fix typo "libpsl"

3 years agoh2h3: fix compiler warning due to function prototype mismatch
Jay Satiro [Mon, 14 Feb 2022 21:45:14 +0000 (16:45 -0500)] 
h2h3: fix compiler warning due to function prototype mismatch

- Add missing const qualifier in Curl_pseudo_headers declaration.

3 years agourlapi: handle "redirects" smarter
Stefan Eissing [Mon, 14 Feb 2022 10:43:04 +0000 (11:43 +0100)] 
urlapi: handle "redirects" smarter

  - avoid one malloc when setting a new url via curl_url_set()
    and CURLUPART_URL.
  - extract common pattern into a new static function.

Closes #8450

3 years agocijobs: pick up circleci configure lines better
Daniel Stenberg [Mon, 14 Feb 2022 08:48:05 +0000 (09:48 +0100)] 
cijobs: pick up circleci configure lines better

3 years agocircleci: add a job using wolfSSH
Daniel Stenberg [Sat, 12 Feb 2022 22:14:16 +0000 (23:14 +0100)] 
circleci: add a job using wolfSSH

Build only, no tests.

Closes #8445

3 years agoscripts/ciconfig.pl: show used options not available
Daniel Stenberg [Mon, 14 Feb 2022 07:38:37 +0000 (08:38 +0100)] 
scripts/ciconfig.pl: show used options not available

3 years agocircleci: add a job using libssh
Daniel Stenberg [Sat, 12 Feb 2022 21:57:23 +0000 (22:57 +0100)] 
circleci: add a job using libssh

Closes #8444

3 years agoruntests: set 'oldlibssh' for libssh versions before 0.9.6
Daniel Stenberg [Sun, 13 Feb 2022 10:12:56 +0000 (11:12 +0100)] 
runtests: set 'oldlibssh' for libssh versions before 0.9.6

... and make test 1459 check for the different return code then.

Closes #8444

3 years agoMakefile.am: Generate VS 2022 projects
Jay Satiro [Sun, 13 Feb 2022 21:26:41 +0000 (16:26 -0500)] 
Makefile.am: Generate VS 2022 projects

Follow-up to f13d4d0 which added VS 2022 project support.

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

3 years agoprojects: remove support for MSVC before VC10 (Visual Studio 2010)
Daniel Stenberg [Sun, 13 Feb 2022 10:29:49 +0000 (11:29 +0100)] 
projects: remove support for MSVC before VC10 (Visual Studio 2010)

- Remove Visual Studio project files for VC6, VC7, VC7.1, VC8 and VC9.

Those versions are too old to be maintained any longer.

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

3 years agoprojects: add support for Visual Studio 17 (2022)
Stav Nir [Fri, 11 Feb 2022 11:49:11 +0000 (13:49 +0200)] 
projects: add support for Visual Studio 17 (2022)

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

3 years agoRELEASE-NOTES: synced
Daniel Stenberg [Sun, 13 Feb 2022 11:13:54 +0000 (12:13 +0100)] 
RELEASE-NOTES: synced

3 years agoconnect: follow-up fix the copyright year
Daniel Stenberg [Sun, 13 Feb 2022 11:13:45 +0000 (12:13 +0100)] 
connect: follow-up fix the copyright year

3 years agomisc: remove unused data when IPv6 is not supported
MAntoniak [Mon, 7 Feb 2022 19:47:09 +0000 (20:47 +0100)] 
misc: remove unused data when IPv6 is not supported

Closes #8430

3 years agoscripts/ciconfig: show CI job config info
Daniel Stenberg [Sat, 12 Feb 2022 21:54:27 +0000 (22:54 +0100)] 
scripts/ciconfig: show CI job config info

Closes #8446

3 years agoquiche: handle stream reset
Daniel Stenberg [Fri, 11 Feb 2022 22:05:10 +0000 (23:05 +0100)] 
quiche: handle stream reset

A stream reset now causes a CURLE_PARTIAL_FILE error. I'm not convinced
this is the right action nor the right error code.

Reported-by: Lucas Pardue
Fixes #8437
Closes #8440

3 years agomime: use a define instead of the magic number 24
Daniel Stenberg [Fri, 11 Feb 2022 22:21:38 +0000 (23:21 +0100)] 
mime: use a define instead of the magic number 24

MIME_BOUNDARY_DASHES is now the number of leading dashes in the
generated boundary string.

Closes #8441

3 years agohostcheck: reduce strlen calls on chained certificates
Henrik Holst [Thu, 10 Feb 2022 20:04:52 +0000 (21:04 +0100)] 
hostcheck: reduce strlen calls on chained certificates

Closes #8428

3 years agomime: some more strlen() call removals.
Patrick Monnerat [Thu, 10 Feb 2022 12:37:48 +0000 (13:37 +0100)] 
mime: some more strlen() call removals.

Closes #8423

3 years agoscripts/cijobs.pl: detect zuul cmake jobs better
Daniel Stenberg [Sat, 12 Feb 2022 15:56:06 +0000 (16:56 +0100)] 
scripts/cijobs.pl: detect zuul cmake jobs better

3 years agourl: exclude zonefrom_url when no ipv6 is available
Daniel Stenberg [Fri, 11 Feb 2022 13:05:57 +0000 (14:05 +0100)] 
url: exclude zonefrom_url when no ipv6 is available

Closes #8439

3 years agoif2ip: make Curl_ipv6_scope a blank macro when IPv6-disabled
Daniel Stenberg [Fri, 11 Feb 2022 11:43:00 +0000 (12:43 +0100)] 
if2ip: make Curl_ipv6_scope a blank macro when IPv6-disabled

Closes #8439

3 years agomprintf: remove strlen calls on empty strings in dprintf_formatf
Henrik Holst [Thu, 10 Feb 2022 17:47:08 +0000 (18:47 +0100)] 
mprintf: remove strlen calls on empty strings in dprintf_formatf

Turns out that in dprintf_formatf we did a strlen on empty strings, a
bit strange is how common this actually is, 24 alone when doing a simple
GET from https://curl.se

Closes #8427

3 years agowolfssl: return CURLE_AGAIN for the SSL_ERROR_NONE case
Daniel Stenberg [Fri, 11 Feb 2022 09:41:28 +0000 (10:41 +0100)] 
wolfssl: return CURLE_AGAIN for the SSL_ERROR_NONE case

Closes #8431

3 years agowolfssl: when SSL_read() returns zero, check the error
Daniel Stenberg [Thu, 10 Feb 2022 22:50:35 +0000 (23:50 +0100)] 
wolfssl: when SSL_read() returns zero, check the error

Returning zero indicates end of connection, so if there's no data read
but the connection is alive, it needs to return -1 with CURLE_AGAIN.

Closes #8431

3 years agoquiche: after leaving h3_recving state, poll again
Daniel Stenberg [Fri, 11 Feb 2022 08:26:07 +0000 (09:26 +0100)] 
quiche: after leaving h3_recving state, poll again

This could otherwise easily leave libcurl "hanging" after the entire
transfer is done but without noticing the end-of-transfer signal.

Assisted-by: Lucas Pardue
Closes #8436

3 years agoquiche: when *recv_body() returns data, drain it before polling again
Daniel Stenberg [Thu, 10 Feb 2022 22:28:46 +0000 (23:28 +0100)] 
quiche: when *recv_body() returns data, drain it before polling again

Assisted-by: Lucas Pardue
Closes #8429

3 years agoconfigure: fix '--enable-code-coverage' typo
gaoxingwang on github [Thu, 10 Feb 2022 13:20:48 +0000 (21:20 +0800)] 
configure: fix '--enable-code-coverage' typo

Fixes #8425
Closes #8426

3 years agolib/h2h3: #ifdef on ENABLE_QUIC, not the wrong define
Daniel Stenberg [Thu, 10 Feb 2022 13:07:21 +0000 (14:07 +0100)] 
lib/h2h3: #ifdef on ENABLE_QUIC, not the wrong define

Otherwise the build fails when H3 is enabled but the build doesn't
include nghttp2.

Closes #8424

3 years agohostcheck: pass in pattern length too, to avoid a strlen call
Daniel Stenberg [Wed, 9 Feb 2022 16:27:09 +0000 (17:27 +0100)] 
hostcheck: pass in pattern length too, to avoid a strlen call

Removes one strlen() call per SAN name in a cert-check.

Closes #8418

3 years agomisc: remove strlen for Curl_checkheaders + Curl_checkProxyheaders
HenrikHolst [Tue, 8 Feb 2022 23:57:00 +0000 (00:57 +0100)] 
misc: remove strlen for Curl_checkheaders + Curl_checkProxyheaders

Closes #8409

3 years agoconfigure: requires --with-nss-deprecated to build with NSS
Daniel Stenberg [Mon, 7 Feb 2022 13:20:03 +0000 (14:20 +0100)] 
configure: requires --with-nss-deprecated to build with NSS

Add deprecation plans to docs/DEPRECATE.md

Closes #8395

3 years agomqtt: free 'sendleftovers' in disconnect
Daniel Stenberg [Wed, 9 Feb 2022 11:29:31 +0000 (12:29 +0100)] 
mqtt: free 'sendleftovers' in disconnect

Fix a memory-leak

Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=43646
Closes #8415

3 years agoopenldap: pass string length arguments to client_write()
Patrick Monnerat [Tue, 8 Feb 2022 10:52:03 +0000 (11:52 +0100)] 
openldap: pass string length arguments to client_write()

This uses the new STRCONST() macro and saves 2 strlen() calls on short
string constants per LDIF output line.

Closes #8404

3 years agomisc: reduce strlen() calls with Curl_dyn_add()
HenrikHolst [Mon, 7 Feb 2022 18:25:09 +0000 (19:25 +0100)] 
misc: reduce strlen() calls with Curl_dyn_add()

Use STRCONST() to switch from Curl_dyn_add() to Curl_dyn_addn() for
string literals.

Closes #8398

3 years agohttp2: fix the array copy to nghttp2_nv
Daniel Stenberg [Wed, 9 Feb 2022 10:58:58 +0000 (11:58 +0100)] 
http2: fix the array copy to nghttp2_nv

Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=44517
Follow-up to 9f985a11e794
Closes #8414

3 years agoRELEASE-NOTES: synced
Daniel Stenberg [Wed, 9 Feb 2022 09:09:10 +0000 (10:09 +0100)] 
RELEASE-NOTES: synced

3 years agoscripts/cijobs.pl: output data about all currect CI jobs
Daniel Stenberg [Tue, 8 Feb 2022 13:47:17 +0000 (14:47 +0100)] 
scripts/cijobs.pl: output data about all currect CI jobs

This script parses the config files for all the CI services currently in
use and output the information in a uniform way. The idea is that the
output from this script should be possible to massage into informational
tables or graphs to help us visualize what they are all testing and NOT
testing.

Closes #8408

3 years agomaketgz: return error if 'make dist' fails
Daniel Stenberg [Tue, 8 Feb 2022 08:33:38 +0000 (09:33 +0100)] 
maketgz: return error if 'make dist' fails

To better detect this problem in CI jobs

Reported-by: Marcel Raad
Bug: https://curl.se/mail/lib-2022-02/0070.html
Closes #8402

3 years agoh2h3: pass correct argument types to infof()
Daniel Stenberg [Tue, 8 Feb 2022 07:25:38 +0000 (08:25 +0100)] 
h2h3: pass correct argument types to infof()

Detected by Coverity. CID 1497993

Closes #8401

3 years agolib/Makefile: remove config-tpf.h from the dist
Daniel Stenberg [Tue, 8 Feb 2022 08:36:41 +0000 (09:36 +0100)] 
lib/Makefile: remove config-tpf.h from the dist

Follow-up from da15443dddea2bfb. Missed before because the 'distcheck'
CI job was not working as intended.

Reported-by: Marcel Raad
Bug: https://curl.se/mail/lib-2022-02/0070.html
Closes #8403

3 years agoconfigure: remove support for "embedded ares"
Daniel Stenberg [Mon, 7 Feb 2022 16:17:31 +0000 (17:17 +0100)] 
configure: remove support for "embedded ares"

In March 2010 (commit 4259d2df7dd) we removed the embedded 'ares'
directory from the curl source tree but we have since supported
especially detecting and using that build directory. The time has come
to remove that kludge and ask users to specify the c-ares dir correctly
with --enable-ares.

Closes #8397

3 years agogithub/workflows/mbedtls: fix indent & remove unnecessary line breaks
Sebastian Sterk [Mon, 7 Feb 2022 20:39:58 +0000 (21:39 +0100)] 
github/workflows/mbedtls: fix indent & remove unnecessary line breaks

Closes #8399

3 years agoCI: move the NSS job from zuul to GHA
Daniel Stenberg [Mon, 7 Feb 2022 15:27:01 +0000 (16:27 +0100)] 
CI: move the NSS job from zuul to GHA

Closes #8396

3 years agotests/unit/Makefile.am: add NSS_LIBS to build with NSS fine
Daniel Stenberg [Mon, 7 Feb 2022 15:59:54 +0000 (16:59 +0100)] 
tests/unit/Makefile.am: add NSS_LIBS to build with NSS fine

Closes #8396

3 years agocurl-openssl: fix SRP check for OpenSSL 3.0
Marcel Raad [Sun, 6 Feb 2022 11:26:29 +0000 (12:26 +0100)] 
curl-openssl: fix SRP check for OpenSSL 3.0

When OpenSSL 3.0 is built with `--api=3.0` and `no-deprecated`, the SRP
functions exist in the library, but are disabled for user code. Check
if they are actually usable instead of only if they exist. Also, check
for the functions actually required for TLS-SRP.

TLS-SRP support is still enabled if OpenSSL is configured with just
`--api=3.0` or with `--api=1.1.1 no-deprecated`.

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

3 years agohttp: make Curl_compareheader() take string length arguments too
HenrikHolst [Fri, 4 Feb 2022 19:41:35 +0000 (20:41 +0100)] 
http: make Curl_compareheader() take string length arguments too

Also add STRCONST, a macro that returns a string literal and it's length
for functions that take "string,len"

Removes unnecesary calls to strlen().

Closes #8391

3 years agovquic/vquic.h: removed the unused H3 psuedo defines
Daniel Stenberg [Sun, 6 Feb 2022 17:18:55 +0000 (18:18 +0100)] 
vquic/vquic.h: removed the unused H3 psuedo defines