summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* rustls: improve error messagesJacob Hoffman-Andrews2023-02-111-10/+22
| | | | | | | | | | | 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
* openssl: remove dead codeDaniel Stenberg2023-02-111-6/+1
| | | | | | | | | | | 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
* ngtcp2: replace removed define and stop using removed functionDaniel Stenberg2023-02-111-10/+2
| | | | | | | | They were removed upstream. Reported-by: Karthikdasari0423 on github Fixes #10469 Closes #10474
* scripts/delta: show percent of number of files changed since last tagDaniel Stenberg2023-02-101-1/+1
|
* RELEASE-NOTES: syncedDaniel Stenberg2023-02-101-13/+41
|
* pytest: add a test case for PUSH related things.Stefan Eissing2023-02-102-7/+91
| | | | | | - checking that "103 Early Hints" are visible in curl's header dump file Closes #10452
* WEBSOCKET.md: typoGregory Panakkal2023-02-101-1/+1
| | | | | | Fixing missing slash for ws protocol scheme Closes #10464
* vquic: stabilization and improvementsStefan Eissing2023-02-1015-718/+1339
| | | | | | | | | | | | | | | | | | | | | 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
* Linux CI: update some dependecies to latest tagPhilip H2023-02-105-5/+5
| | | | Closes #10458
* test2305: send 3 frames, 4097 bytes each, as one messageDaniel Stenberg2023-02-105-2/+171
| | | | Receive them using a 256 bytes buffer in a loop.
* ws: fix recv of larger framesDaniel Stenberg2023-02-106-23/+52
| | | | | | | | | + remove 'oleft' from the struct + deal with "overflow data" in a separate dynbuf Reported-by: Mike Duglas Fixes #10438 Closes #10447
* curl/websockets.h: extend the websocket frame structDaniel Stenberg2023-02-101-0/+1
|
* sws: fix typo, indentation add more ws loggingDaniel Stenberg2023-02-101-27/+32
|
* test2304: remove stdout verificationDaniel Stenberg2023-02-101-3/+4
| | | | | 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.
* CI: Add more labeler match patternsDan Fandrich2023-02-091-2/+94
|
* CI: Retry failed downloads to reduce spurious failuresDan Fandrich2023-02-093-6/+6
| | | | | | | 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.
* no-clobber.d: only use long form options in man page textDaniel Stenberg2023-02-091-1/+1
| | | | | | | | | | ... 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
* GHA: enable websockets in the torture jobDaniel Stenberg2023-02-091-1/+1
| | | | Closes #10448
* header.d: add a header file exampleDaniel Stenberg2023-02-091-0/+1
| | | | Closes #10455
* HTTP/[23]: continue upload when state.drain is setStefan Eissing2023-02-094-22/+55
| | | | | | | | | | | | | | | - 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
* http2: minor buffer and error path fixesStefan Eissing2023-02-093-17/+30
| | | | | | | | | | - use memory buffer in full available size - fail receive of reset/errored streams early pytest: - make test_05 error cases more reliable Closes #10444
* openldap: fix missing sasl symbols at build in specific configsFederico Pellegrin2023-02-093-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* ws: use %Ou for outputting curl_off_t with info()Daniel Stenberg2023-02-091-1/+1
| | | | | | Reported-by: Mike Duglas Fixes #10439 Closes #10441
* curl_setup: Disable by default recv-before-send in WindowsJay Satiro2023-02-093-6/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* http2: aggregate small SETTINGS/PRIO/WIN_UPDATE framesStefan Eissing2023-02-082-42/+103
| | | | | | | | | 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
* openssl: store the CA after first send (ClientHello)Stefan Eissing2023-02-081-64/+35
| | | | | | | | 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
* RELEASE-NOTES: syncedDaniel Stenberg2023-02-081-14/+34
|
* wolfssl: remove deprecated post-quantum algorithmsAnthony Hu2023-02-081-20/+0
| | | | Closes #10440
* misc: fix spellingJohn Bampton2023-02-0810-12/+12
| | | | Closes #10437
* man pages: call the custom user pointer 'clientp' consistentlyDaniel Stenberg2023-02-0718-46/+46
| | | | | | | | | | | 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
* vtls: infof using %.*s needs to provide the length as intDaniel Stenberg2023-02-071-1/+1
| | | | | | Fixes a Coverity warning. Closes #10436
* vrls: addressing issues reported by coverityStefan Eissing2023-02-071-2/+2
| | | | | | | | 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
* tool_operate: move the 'updated' variableDaniel Stenberg2023-02-071-1/+1
| | | | | | | This was already done by Dan Fandrich in the previous PR but somehow I lost that fixup. Follow-up to 349c5391f2121e
* tool_operate: Fix error codes during DOS filename sanitizeDan Fandrich2023-02-071-8/+11
| | | | | | It would return CURLE_URL_MALFORMAT in an OOM condition. Closes #10414
* tool_operate: Fix error codes on bad URL & OOMDan Fandrich2023-02-075-51/+117
| | | | | | | | | | 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
* setopt: use >, not >=, when checking if uarg is larger than uint-maxDaniel Stenberg2023-02-061-4/+4
| | | | Closes #10421
* vtls: fix failf() format argument type for %.*s handlingDaniel Stenberg2023-02-061-1/+1
| | | | | | Reported by Coverity Closes #10422
* openssl: fix "Improper use of negative value"Daniel Stenberg2023-02-061-1/+4
| | | | | | | | By getting the socket first and returning error in case of bad socket. Detected by Coverity. Closes #10423
* packages: Remove Android.mk from makefileDan Fandrich2023-02-061-2/+1
| | | | | | This was missed in commit #44141512 Ref: #10418
* curl_ws_send.3: clarify how to send multi-frame messagesDaniel Stenberg2023-02-061-0/+2
|
* ws: fix multiframe send handlingMike Duglas2023-02-061-2/+12
| | | | | Fixes #10413 Closes #10420
* unit2600: make sure numerical curl_easy_setopt sets longDaniel Stenberg2023-02-061-2/+4
| | | | | | | | Follow-up to 671158242db3203 Reported-by: Marcel Raad Fixes #10410 Closes #10419
* GHA: move Slackware test into matrixandy59952023-02-061-24/+8
| | | | Closes #10412
* urlapi: fix part of conditional expression is always true: qlenPronyushkin Petr2023-02-061-1/+1
| | | | Closes #10408
* url: fix part of conditional expression is always truePronyushkin Petr2023-02-061-1/+1
| | | | Closes #10407
* RELEASE-NOTES: syncedDaniel Stenberg2023-02-061-15/+47
|
* GHA/macos.yml: bump to gcc-12Philip H2023-02-061-2/+2
| | | | Closes #10415
* packages: remove Android, update READMEDaniel Stenberg2023-02-065-165/+13
| | | | | | | | | - Nobody builds curl for Android using this anymore - Refreshed the README and converted to markdown Reported-by: John Porter Fixes #10416 Closes #10418
* fopen: remove unnecessary assignmentKvarec Lezki2023-02-051-1/+0
| | | | | | | | [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
* libtest: add a sleep macro for WindowsGisle Vanem2023-02-053-8/+4
| | | | | | .. because sleep() is used in some libtests. Closes https://github.com/curl/curl/pull/10295