Commit Graph

28303 Commits

Author SHA1 Message Date
Daniel Stenberg
d8888bfc33
TODO: remove "Typesafe curl_easy_setopt()"
I don't consider this a serious TODO item
2022-02-25 11:31:11 +01:00
Daniel Stenberg
e55bee70f1
KNOWN_BUGS: remove "Uploading HTTP/3 files gets interrupted"
This works now
2022-02-25 11:15:53 +01:00
Daniel Stenberg
d85bc90068
KNOWN_BUGS: remove "HTTP/3 multipart POST with quiche fails"
It works now
2022-02-25 11:14:27 +01:00
Daniel Stenberg
cdf37a53b3
quiche: remove two leftover debug infof() outputs 2022-02-25 11:13:49 +01:00
Tatsuhiro Tsujikawa
6e9373b5f4
ngtcp2: Reset dynbuf when it is fully drained
Reported-by: vl409 on github
Fixes #7351
Closes #8504
2022-02-24 16:56:33 +01:00
Stewart Gebbie
8a1fa3b364
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
2022-02-24 14:17:33 +01:00
Daniel Stenberg
0694037032
http2: move two infof calls to debug-h2-only
and remove a superflous one

Ref: https://github.com/curl/curl/discussions/8498
Closes #8502
2022-02-24 11:00:12 +01:00
Jean-Philippe Menil
145d0803bb
quiche: fix upload for bigger content-length
Signed-off-by: Jean-Philippe Menil <jpmenil@gmail.com>
Closes #8421
2022-02-24 09:34:37 +01:00
Farzin
4517d8eb6f CURLOPT_PROGRESSFUNCTION.3: fix example struct assignment
Closes https://github.com/curl/curl/pull/8500
2022-02-23 03:13:11 -05:00
Rob Boeckermann
e2e3408222
OS400/README: clarify compilation steps
Closes #8494
2022-02-22 17:54:32 +01:00
Rob Boeckermann
eca5b6aa41
OS400: fix typos in rpg include file
This resolves issues compiling rpg code that includes the curl header
file.

Closes #8494
2022-02-22 17:54:32 +01:00
MAntoniak
e9e79622d0
vtls: fix socket check conditions
fix condition to check the second socket during associate and
disassociate connection

Closes #8493
2022-02-22 13:39:54 +01:00
Daniel Stenberg
999c2179a1
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
2022-02-21 17:17:25 +01:00
Daniel Stenberg
441db4652c
RELEASE-NOTES: fix typo and make one desc shorter 2022-02-21 11:09:52 +01:00
Daniel Stenberg
e8f6e274c1
RELEASE-NOTES: synced 2022-02-21 11:00:34 +01:00
Daniel Stenberg
a63c91adfa
CURLOPT_XFERINFOFUNCTION.3: fix typo in example
Reported-by: coralw on github
Fixes #8487
Closes #8488
2022-02-21 10:28:34 +01:00
Daniel Stenberg
754ee8e053
README: disable linkchecks for the sponsor links
Closes #8489
2022-02-21 10:27:45 +01:00
Jay Satiro
f7ba0eccf7 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
2022-02-21 03:23:47 -05:00
Jay Satiro
e0dc9765a7 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
2022-02-21 03:23:12 -05:00
MAntoniak
ccc2752ce8
ssl: reduce allocated space for ssl backend when FTP is disabled
Add assert() for the backend pointer in many places

Closes #8471
2022-02-21 08:39:55 +01:00
MAntoniak
9fff7feb82
checkprefix: remove strlen calls
Closes #8481
2022-02-21 08:18:59 +01:00
1337vt
d60fa59b91 curl.h: fix typo
Closes https://github.com/curl/curl/pull/8482
2022-02-20 16:15:48 -05:00
Jan Venekamp
14d9358a0c 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
2022-02-20 16:13:31 -05:00
Jan Venekamp
f36e32b5b8 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
2022-02-20 02:52:56 -05:00
Jan Venekamp
8af1cef29e 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
2022-02-20 02:47:50 -05:00
Jan Venekamp
b84437194c 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
2022-02-20 02:47:06 -05:00
MAntoniak
bbe7042113
openssl: fix build for version < 1.1.0
Closes #8470
2022-02-18 08:08:04 +01:00
Joel Depooter
df957e1003
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
bbb71507b7.

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
2022-02-18 08:03:22 +01:00
Alejandro R. Sedeño
161cbc502e
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
2022-02-17 22:30:00 +01:00
Kevin Adler
6a595e1256
os400: Add link to QADRT devkit to README.OS400
Closes #8455
2022-02-17 22:25:50 +01:00
Kevin Adler
86ad624c5a
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
2022-02-17 22:25:50 +01:00
Kevin Adler
a70600ca59
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
2022-02-17 22:24:18 +01:00
Daniel Stenberg
d324ac81fb
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
2022-02-17 22:17:29 +01:00
Marcel Raad
049f3765c7
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
2022-02-17 11:25:03 +01:00
Daniel Stenberg
a9bc534a11
RELEASE-NOTES: synced 2022-02-17 11:03:27 +01:00
Daniel Stenberg
eb754596ea
docs/DEPRECATE: remove NPN support in August 2022
Closes #8458
2022-02-17 08:25:35 +01:00
Daniel Stenberg
2ad44ce70d
ftp: provide error message for control bytes in path
Closes #8460
2022-02-17 08:24:14 +01:00
Daniel Stenberg
8984a42ae4
http: fix "unused parameter ‘conn’" warning
Follow-up from 7d600ad1c3

Spotted on appveyor

Closes #8465
2022-02-17 07:55:17 +01:00
Alejandro R. Sedeño
477a2bf989 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
2022-02-17 00:35:23 -05:00
Daniel Stenberg
44e5c7e4b0
KNOWN_BUGS: remove "slow connect to localhost on Windows"
localhost is not resolved anymore since 1a0ebf6632
2022-02-16 14:05:41 +01:00
Daniel Stenberg
4c509a9b8f
KNOWN_BUGS: remove "HTTP/3 download is 5x times slower than HTTP/2"
It's not actually a bug. More like room for improvement.
2022-02-16 13:46:04 +01:00
Daniel Stenberg
ae20b5d60e
KNOWN_BUGS: remove "HTTP/3 download with quiche halts after a while"
Follow-up to 96f85a0fef
2022-02-16 13:35:34 +01:00
Daniel Stenberg
2f1fb6c1cc
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.
2022-02-16 13:34:12 +01:00
Daniel Stenberg
7d600ad1c3
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
2022-02-16 10:28:31 +01:00
Kevin Adler
eb13cc2927
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
2022-02-16 09:27:39 +01:00
Kevin Adler
657687fb17
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
2022-02-16 09:27:36 +01:00
Kevin Adler
9234547c34
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
2022-02-16 09:27:22 +01:00
Marcel Raad
897e8baa54
ntlm: remove unused feature defines
They're not used anymore and always supported.

Closes https://github.com/curl/curl/pull/8453
2022-02-15 14:12:41 +01:00
Kantanat Wannapaka
3369f9f289
README.md: fix link and layout
replace <a></a> tags and <img></img> tags

Closes #8448
2022-02-15 09:28:41 +01:00
Daniel Stenberg
114327f7c3
KNOWN_BUGS: fix typo "libpsl" 2022-02-14 22:46:34 +01:00