| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Changes numeric error codes into verbose error codes in two places.
Adds a prefix indicating that the error came from rustls, and in some
places which function it came from.
Adds special handling for RUSTLS_RESULT_UNEXPECTED_EOF, since the
default message of "Unexpected EOF" is insufficiently explanatory.
Closes #10463
|
|
|
|
|
|
|
|
|
|
|
| |
Follow-up to e8b00fcd6a
Due to the new 'if(!nonblocking)' check on the block a level above,
there is no need to check for it again within the same conditional.
Detected by Coverity
Closes #10473
|
|
|
|
|
|
|
|
| |
They were removed upstream.
Reported-by: Karthikdasari0423 on github
Fixes #10469
Closes #10474
|
| |
|
| |
|
|
|
|
|
|
| |
- checking that "103 Early Hints" are visible in curl's header dump file
Closes #10452
|
|
|
|
|
|
| |
Fixing missing slash for ws protocol scheme
Closes #10464
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
vquic stabilization
- udp send code shared between ngtcp2 and quiche
- quiche handling of data and events improved
ngtcp2 and pytest improvements
- fixes handling of "drain" situations, discovered in scorecard
tests with the Caddy server.
- improvements in handling transfers that have already data or
are already closed to make an early return on recv
pytest
- adding caddy tests when available
scorecard improvemnts.
- using correct caddy port
- allowing tests for only httpd or caddy
Closes #10451
|
|
|
|
| |
Closes #10458
|
|
|
|
| |
Receive them using a 256 bytes buffer in a loop.
|
|
|
|
|
|
|
|
|
| |
+ remove 'oleft' from the struct
+ deal with "overflow data" in a separate dynbuf
Reported-by: Mike Duglas
Fixes #10438
Closes #10447
|
| |
|
| |
|
|
|
|
|
| |
This cripples the test somewhat but the check was bad since depending on
timing it could exit before the output was done, making the test flaky.
|
| |
|
|
|
|
|
|
|
| |
A temporary error with a remote server shouldn't cause a CI run to fail.
Also, put a cap on the time to download to fail faster on a misbehaving
server or connection and use HTTP compression where possible to reduce
download times.
|
|
|
|
|
|
|
|
|
|
| |
... since they are expanded and the short-form gets mentioned
automatically so if the short form is mentioned as well, it gets
repeated.
Fixes #10461
Closes #10462
Reported-by: Dan Fandrich
|
|
|
|
| |
Closes #10448
|
|
|
|
| |
Closes #10455
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- as reported in #10433, HTTP/2 uploads may stall when a response is
received before the upload is done. This happens when the
data->state.drain is set for such a transfer, as the special handling
in transfer.c from then on only cared about downloads.
- add continuation of uploads, if applicable, in this case.
- add pytest case test_07_12_upload_seq_large to reproduce this scenario
(although, current nghttp2 implementation is using drain less often)
Reported-by: Lucas Pardue
Fixes #10433
Closes #10443
|
|
|
|
|
|
|
|
|
|
| |
- use memory buffer in full available size
- fail receive of reset/errored streams early
pytest:
- make test_05 error cases more reliable
Closes #10444
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If curl is built with openldap support (USE_OPENLDAP=1) but does not
have also some other protocol (IMAP/SMTP/POP3) enabled that brings
in Curl_sasl_* functions, then the build will fail with undefined
references to various symbols:
ld: ../lib/.libs/libcurl.so: undefined reference to `Curl_sasl_decode_mech'
ld: ../lib/.libs/libcurl.so: undefined reference to `Curl_sasl_parse_url_auth_option'
ld: ../lib/.libs/libcurl.so: undefined reference to `Curl_sasl_cleanup'
ld: ../lib/.libs/libcurl.so: undefined reference to `Curl_sasl_can_authenticate'
ld: ../lib/.libs/libcurl.so: undefined reference to `Curl_sasl_continue'
ld: ../lib/.libs/libcurl.so: undefined reference to `Curl_sasl_start'
ld: ../lib/.libs/libcurl.so: undefined reference to `Curl_sasl_init'
This was tracked down to these functions bein used in openldap.c but
defined in curl_sasl.c and then forward in two vauth/ files to have
a guard against a set of #define configurations that was now extended
to cover also this case.
Example configuration targeted that could reproduce the problem:
curl 7.87.1-DEV () libcurl/7.87.1-DEV .... OpenLDAP/2.6.3
Protocols: file ftp ftps http https ldap ldaps
Closes #10445
|
|
|
|
|
|
| |
Reported-by: Mike Duglas
Fixes #10439
Closes #10441
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Prior to this change a workaround for Windows to recv before every send
was enabled by default. The way it works is a recv is called before
every send and saves the received data, in case send fails because in
Windows apparently that can wipe out the socket's internal received
data buffer.
This feature has led to several bugs because the way libcurl operates
it waits on a socket to read or to write, and may not at all times
check for buffered receive data.
Two recent significant bugs this workaround caused:
- Broken Schannel TLS 1.3 connections (#9431)
- HTTP/2 arbitrary hangs (#10253)
The actual code remains though it is disabled by default. Though future
changes to connection filter buffering could improve the situation IMO
it's just not tenable to manage this workaround.
Ref: https://github.com/curl/curl/issues/657
Ref: https://github.com/curl/curl/pull/668
Ref: https://github.com/curl/curl/pull/720
Ref: https://github.com/curl/curl/issues/9431
Ref: https://github.com/curl/curl/issues/10253
Closes https://github.com/curl/curl/pull/10409
|
|
|
|
|
|
|
|
|
| |
add a small buffer to nghttp2 session sending in order to aggregate
small SETTINGS/PRIO/WIN_UPDATE frames that nghttp2 "writes" to the
callback individually.
Ref: #10389
Closes #10432
|
|
|
|
|
|
|
|
| |
move Curl_ssl_setup_x509_store() call after the first send (ClientHello)
this gives time to parse CA anchors while waiting on the server reply
Ref: #10389
Closes #10432
|
| |
|
|
|
|
| |
Closes #10440
|
|
|
|
| |
Closes #10437
|
|
|
|
|
|
|
|
|
|
|
| |
The variable had a few different names. Now try to use 'clientp'
consistently for all man pages using a custom pointer set by the
application.
Reported-by: Gerrit Renker
Fixes #10434
Closes #10435
|
|
|
|
|
|
| |
Fixes a Coverity warning.
Closes #10436
|
|
|
|
|
|
|
|
| |
I believe the code was secure before this, but limiting the accepted
name length to what is used in the structures should help Coverity's
analysis.
Closes #10431
|
|
|
|
|
|
|
| |
This was already done by Dan Fandrich in the previous PR but somehow I
lost that fixup.
Follow-up to 349c5391f2121e
|
|
|
|
|
|
| |
It would return CURLE_URL_MALFORMAT in an OOM condition.
Closes #10414
|
|
|
|
|
|
|
|
|
|
| |
curl would erroneously report CURLE_OUT_OF_MEMORY in some cases instead
of CURLE_URL_MALFORMAT. In other cases, it would erroneously return
CURLE_URL_MALFORMAT instead of CURLE_OUT_OF_MEMORY. Add a test case to
test the former condition.
Fixes #10130
Closes #10414
|
|
|
|
| |
Closes #10421
|
|
|
|
|
|
| |
Reported by Coverity
Closes #10422
|
|
|
|
|
|
|
|
| |
By getting the socket first and returning error in case of bad socket.
Detected by Coverity.
Closes #10423
|
|
|
|
|
|
| |
This was missed in commit #44141512
Ref: #10418
|
| |
|
|
|
|
|
| |
Fixes #10413
Closes #10420
|
|
|
|
|
|
|
|
| |
Follow-up to 671158242db3203
Reported-by: Marcel Raad
Fixes #10410
Closes #10419
|
|
|
|
| |
Closes #10412
|
|
|
|
| |
Closes #10408
|
|
|
|
| |
Closes #10407
|
| |
|
|
|
|
| |
Closes #10415
|
|
|
|
|
|
|
|
|
| |
- Nobody builds curl for Android using this anymore
- Refreshed the README and converted to markdown
Reported-by: John Porter
Fixes #10416
Closes #10418
|
|
|
|
|
|
|
|
| |
[CWE-1164] V1048: The '* tempname' variable was assigned the same value.
Ref: https://pvs-studio.com/en/docs/warnings/v1048/
Closes https://github.com/curl/curl/pull/10398
|
|
|
|
|
|
| |
.. because sleep() is used in some libtests.
Closes https://github.com/curl/curl/pull/10295
|