#
962097b8 |
| 09-Oct-2024 |
Stefan Eissing |
TLS: TLSv1.3 earlydata support for curl Based on #14135, implement TLSv1.3 earlydata support for the curl command line, libcurl and its implementation in GnuTLS. If a known TLS
TLS: TLSv1.3 earlydata support for curl Based on #14135, implement TLSv1.3 earlydata support for the curl command line, libcurl and its implementation in GnuTLS. If a known TLS session announces early data support, and the feature is enabled *and* it is not a "connect-only" transfer, delay the TLS handshake until the first request is being sent. - Add --tls-earldata as new boolean command line option for curl. - Add CURLSSLOPT_EARLYDATA to libcurl to enable use of the feature. - Add CURLINFO_EARLYDATA_SENT_T to libcurl, reporting the amount of bytes sent and accepted/rejected by the server. Implementation details: - store the ALPN protocol selected at the SSL session. - When reusing the session and enabling earlydata, use exactly that ALPN protocol for negoptiation with the server. When the sessions ALPN does not match the connections ALPN, earlydata will not be enabled. - Check that the server selected the correct ALPN protocol for an earlydata connect. If the server does not confirm or reports something different, the connect fails. - HTTP/2: delay sending the initial SETTINGS frames during connect, if not connect-only. Verification: - add test_02_32 to verify earlydata GET with nghttpx. - add test_07_70 to verify earlydata PUT with nghttpx. - add support in 'hx-download', 'hx-upload' clients for the feature Assisted-by: ad-chaos on github Closes #15211
show more ...
|
#
805bbf7c |
| 09-Sep-2024 |
Viktor Szakats |
NTLM_WB: delete remains in tests, docs updates Also update more docs to reflect the removal of NTLM_WB. Follow-up to 50def7c881ba560ab6e0235990e8f07fa69f4bc8 #13249 Closes #14832
|
#
13650419 |
| 15-Jul-2024 |
Alex Snast |
getinfo: add CURLINFO_POSTTRANSFER_TIME_T Returns the time, in microseconds, from the start until the last byte is sent by libcurl (i.e. the request is sent off). Closes #14189
|
#
b77d627d |
| 05-Jun-2024 |
Andy Pan |
tcpkeepalive: add CURLOPT_TCP_KEEPCNT and --keepalive-cnt Closes #13885
|
#
655d44d1 |
| 01-Jun-2024 |
Daniel Stenberg |
urlapi: add CURLU_NO_GUESS_SCHEME Used for extracting: - when used asking for a scheme, it will return CURLUE_NO_SCHEME if the stored information was a guess - when u
urlapi: add CURLU_NO_GUESS_SCHEME Used for extracting: - when used asking for a scheme, it will return CURLUE_NO_SCHEME if the stored information was a guess - when used asking for a URL, the URL is returned without a scheme, like when previously given to the URL parser when it was asked to guess - as soon as the scheme is set explicitly, it is no longer internally marked as guessed The idea being: 1. allow a user to figure out if a URL's scheme was set as a result of guessing 2. extract the URL without a guessed scheme 3. this makes it work similar to how we already deal with port numbers Extend test 1560 to verify. Closes #13616
show more ...
|
#
3eac21d8 |
| 17-Apr-2024 |
Daniel Stenberg |
urlapi: add CURLU_GET_EMPTY for empty queries and fragments By default the API inhibits empty queries and fragments extracted. Unless this new flag is set. This also makes the b
urlapi: add CURLU_GET_EMPTY for empty queries and fragments By default the API inhibits empty queries and fragments extracted. Unless this new flag is set. This also makes the behavior more consistent: without it set, zero length queries and fragments are considered not present in the URL. With the flag set, they are returned as a zero length strings if they were in fact present in the URL. This applies when extracting the individual query and fragment components and for the full URL. Closes #13396
show more ...
|
#
a362962b |
| 04-Apr-2024 |
Stephen Farrell |
TLS: add support for ECH (Encrypted Client Hello) An EXPERIMENTAL feature used with CURLOPT_ECH and --ech. Closes #11922
|
#
dde4b385 |
| 15-Apr-2024 |
Daniel Stenberg |
curl_version_info: provide librtmp version Ref: https://github.com/curl/curl/pull/13364#issuecomment-2054151942 Reported-by: talregev on github Closes #13368
|
#
cc04c736 |
| 22-Feb-2024 |
Daniel Stenberg |
CURLINFO_USED_PROXY: return bool whether the proxy was used Adds test536 to verify Closes #12719
|
#
68f96fc9 |
| 27-Dec-2023 |
Daniel Stenberg |
getinfo: CURLINFO_QUEUE_TIME_T Returns the time, in microseconds, during which this transfer was held in a waiting queue before it started "for real". A transfer might be put in a qu
getinfo: CURLINFO_QUEUE_TIME_T Returns the time, in microseconds, during which this transfer was held in a waiting queue before it started "for real". A transfer might be put in a queue if after getting started, it cannot create a new connection etc due to set conditions and limits imposed by the application. Ref: #12293 Closes #12368
show more ...
|
#
dd29622f |
| 20-Nov-2023 |
Daniel Stenberg |
CURLOPT_SERVER_RESPONSE_TIMEOUT_MS: add Proposed-by: Yifei Kong Ref: https://curl.se/mail/lib-2023-11/0023.html Closes #12369
|
#
f58e493e |
| 18-Dec-2023 |
Daniel Stenberg |
curl.h: add CURLE_TOO_LARGE A new error code to be used when an internal field grows too large, like when a dynbuf reaches its maximum. Previously it would return CURLE_OUT_OF_MEMORY
curl.h: add CURLE_TOO_LARGE A new error code to be used when an internal field grows too large, like when a dynbuf reaches its maximum. Previously it would return CURLE_OUT_OF_MEMORY for this, which is highly misleading. Ref: #12268 Closes #12269
show more ...
|
#
018f9cb4 |
| 02-Dec-2023 |
Daniel Stenberg |
symbols-in-versions: the CLOSEPOLICY options are deprecated The were used with the CURLOPT_CLOSEPOLICY option, which *never* worked.
|
#
e9a7d4a1 |
| 21-Nov-2023 |
Viktor Szakats |
windows: use built-in `_WIN32` macro to detect Windows Windows compilers define `_WIN32` automatically. Windows SDK headers or build env defines `WIN32`, or we have to take care of it. T
windows: use built-in `_WIN32` macro to detect Windows Windows compilers define `_WIN32` automatically. Windows SDK headers or build env defines `WIN32`, or we have to take care of it. The agreement seems to be that `_WIN32` is the preferred practice here. Make the source code rely on that to detect we're building for Windows. Public `curl.h` was using `WIN32`, `__WIN32__` and `CURL_WIN32` for Windows detection, next to the official `_WIN32`. After this patch it only uses `_WIN32` for this. Also, make it stop defining `CURL_WIN32`. There is a slight chance these break compatibility with Windows compilers that fail to define `_WIN32`. I'm not aware of any obsolete or modern compiler affected, but in case there is one, one possible solution is to define this macro manually. grepping for `WIN32` remains useful to discover Windows-specific code. Also: - extend `checksrc` to ensure we're not using `WIN32` anymore. - apply minor formatting here and there. - delete unnecessary checks for `!MSDOS` when `_WIN32` is present. Co-authored-by: Jay Satiro Reviewed-by: Daniel Stenberg Closes #12376
show more ...
|
#
a8c77384 |
| 28-Sep-2023 |
Viktor Szakats |
tidy-up: whitespace fixes Closes #11972
|
#
c350069f |
| 11-Aug-2023 |
Daniel Stenberg |
urlapi: CURLU_PUNY2IDN - convert from punycode to IDN name Asssisted-by: Jay Satiro Closes #11655
|
#
e024d566 |
| 23-May-2023 |
Stefan Eissing |
lib: add CURLINFO_CONN_ID and CURLINFO_XFER_ID - add an `id` long to Curl_easy, -1 on init - once added to a multi (or its own multi), it gets a non-negative number assigned by the
lib: add CURLINFO_CONN_ID and CURLINFO_XFER_ID - add an `id` long to Curl_easy, -1 on init - once added to a multi (or its own multi), it gets a non-negative number assigned by the connection cache - `id` is unique among all transfers using the same cache until reaching LONG_MAX where it will wrap around. So, not unique eternally. - CURLINFO_CONN_ID returns the connection id attached to data or, if none present, data->state.lastconnect_id - variables and type declared in tool for write out Closes #11185
show more ...
|
#
0a75964d |
| 16-Mar-2023 |
Raito Bezarius |
haproxy: add --haproxy-clientip flag to spoof client IPs CURLOPT_HAPROXY_CLIENT_IP in the library Closes #10779
|
#
fff65550 |
| 29-May-2023 |
Daniel Stenberg |
CURLOPT_MAIL_RCPT_ALLOWFAILS: replace CURLOPT_MAIL_RCPT_ALLLOWFAILS Deprecate the name using three Ls and prefer the name with two. Replaces #10047 Closes #11218
|
#
712e5f1e |
| 06-Apr-2023 |
Daniel Stenberg |
CURLPROXY_HTTPS2: for HTTPS proxy that may speak HTTP/2 Setting this proxy type allows curl to negotiate and use HTTP/2 with HTTPS proxies. Closes #10900
|
#
34ef4fab |
| 18-Jan-2023 |
Jim King |
openssl: interop with AWS-LC * Configure changes to detect AWS-LC * CMakeLists.txt changes to detect AWS-LC * Compile-time branches needed to support AWS-LC * Correctly set OSSL_
openssl: interop with AWS-LC * Configure changes to detect AWS-LC * CMakeLists.txt changes to detect AWS-LC * Compile-time branches needed to support AWS-LC * Correctly set OSSL_VERSION and report AWS-LC release number * GitHub Actions script to build with autoconf and cmake against AWS-LC AWS-LC is a BoringSSL/OpenSSL derivative For more information see https://github.com/awslabs/aws-lc/ Closes #10320
show more ...
|
#
a56d2b0b |
| 09-Jan-2023 |
Daniel Stenberg |
curl.h: add CURL_HTTP_VERSION_3ONLY As the previous CURL_HTTP_VERSION_3 option gets a slightly altered meaning. Closes #10264
|
#
076a2f62 |
| 27-Dec-2022 |
Daniel Stenberg |
share: add sharing of HSTS cache among handles Closes #10138
|
#
901392cb |
| 26-Dec-2022 |
Daniel Stenberg |
urlapi: add CURLU_PUNYCODE Allows curl_url_get() get the punycode version of host names for the host name and URL parts. Extend test 1560 to verify. Closes #10109
|
#
49798cac |
| 12-Jul-2022 |
Alexandre Ferrieux |
CURLOPT_QUICK_EXIT: don't wait for DNS thread on exit Fixes #2975 Closes #9147
|