History log of /curl/ (Results 1076 – 1100 of 33757)
Revision (<<< Hide revision tags) (Show revision tags >>>)Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
25321de318-Jul-2024 Daniel Stenberg

Revert "lib: send eos flag"

This reverts commit be93299f10ef0b2bf7fe5c82140120073831867a.

46ef34c016-Jul-2024 Viktor Szakats

GHA/windows: use default shell CI feature

It makes repeating a line in each step unnecessary.

Closes #14206

1e75edd317-Jul-2024 Viktor Szakats

GHA/macos: improve, fix gcc/llvm, add new test matrix

This PR began as an attempt to drop GCC support, after repeated reports
on fallouts when trying to use it on macOS.

Then it

GHA/macos: improve, fix gcc/llvm, add new test matrix

This PR began as an attempt to drop GCC support, after repeated reports
on fallouts when trying to use it on macOS.

Then it transformed into a 3-week project turning up the issues causing
the fallouts, ending up including llvm and all available Xcode / macOS
SDK, macOS runner image, build tools and compiler vendors and versions.
Accumulating 400 sub-commits.

I developed and tested all fixes under this PR, then merged them as
separate patches.

This PR retained CI jobs updates, extensively reworking and extending
them: [1]

At first it seemed GCC and the Apple SDK is "naturally" growing more
incompatible, as Apple added further non-standard features to their
headers. This is partly true, but reality is more complicated.

Besides some issues local to curl, there were bugs in Apple SDK
headers, Homebrew GCC builds, feature missing in the old llvm version
pre-installed on GitHub CI runner images, and subtle incompatibilities
between GCC and llvm/clang when handling language extensions.

Resulting compiler errors seldom pointed to a useful direction, and
internet search was silent about these issues too. Thus, I had to peel
them off layer by layer, using trial and error, and by recognizing
patterns of failures accross 150-200 builds combinations. Exposing
configure logs, and curl_config.h in the CI logs helped too.

1. GCC header compatibility layer ("hack" as GCC calls it)

The toughest issue is GCC's built-in compatibility layer:
https://github.com/gcc-mirror/gcc/tree/master/fixincludes

This patch layer is further patched by a "Darwin compatibility" project
applied on top by Homebrew GCC via:
https://github.com/iains/gcc-12-branch
https://github.com/iains/gcc-13-branch
https://github.com/iains/gcc-14-branch

The hack layer is designed in a way that breaks more builds than it
fixes, esp. in context of GHA runners. The idea is to build GCC
specifically for the SDK for the target macOS version. The problem with
this approach is that the Xcode + SDK installed on the local/CI machine
often does not match with the SDK used on while building GCC on
Homebrew's build machines. In these cases the GCC compatibility layer
turns into an "uncompatibility" layer and consistently breaks builds.
curl cannot offer a fix for this, because the solution (I found) is to
patch the toolchain on the local machine. I implemented this for our CI
builds and curl-for-win. In other case the user must do this patching
manually, or choose a compatible GCC + Xcode/SDK combination.

An upstream fix doesn't seem trivial either, because the issue is
ingrained in the compatibility layer's design. Offering an `-fapplesdk`
(or recognizing `-target`) option and/or fixing them within the compiler
would seem like a more robust option, and also how mainline llvm solves
this.

Here's a table summarizing the GCC + SDK combinations and curl build
failures: [2]

More info: https://github.com/curl/curl/issues/10356#issuecomment-2222734103

db135f8d7207b20d531e7e2100a49f3e16bdcfab #14119 macos: add workaround for gcc, non-c-ares, IPv6, compile error
Ref: https://github.com/curl/curl-for-win/commit/e2db3c475f5981352e6e6a79854a255805b28deb
Ref: https://github.com/curl/curl-for-win/commit/f5c58d7fef78e972be33ca2355dcb42ba56622a6

2. Homebrew GCC's `availability` extension

A recent minor Homebrew GCC upgrade caused major breakage. The "Darwin
compatibility" patch applied to GCC implemented the `availability`
compiler attribute in GCC. Apple SDK detected this and enabled using
them, but as it turns out GCC accepts compiler attributes with slightly
different rules than llvm/clang, and how the Apple SDK uses them,
breaking builds.

Affected Homebrew GCC versions are: 12.4.0, 13.3.0 and 14.1.0.

Possibly tracked here: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108796
More info: https://github.com/llvm/llvm-project/issues/81767

Commit implementing the `availability` macro:
gcc-12: https://github.com/iains/gcc-12-branch/commit/fd5530b7cb0012bf4faeddd45e13054a1dfa6783
gcc-13: https://github.com/iains/gcc-13-branch/commit/cb7e4eca68cfc4763474e2eb0935a844458842a8
gcc-14: https://github.com/iains/gcc-14-branch/commit/ff62a108865a6403f5017380d7018250c1d3306f

That applied to Homebrew GCC (12.4.0):
https://github.com/Homebrew/homebrew-core/commit/b904223d9893f62bec2a8f7483bf5992747fc6c7#diff-89dd0b4176eca7fcc24b591943509bf8a8d6ea904d71e5dfcd6b78fed62fc574R44-R48

Ref: #13700
More info: https://github.com/curl/curl/pull/14091#issuecomment-2222703468

e91fcbac7d86292858718a0bfebad57978761af4 #14155 macos: undo `availability` macro enabled by Homebrew gcc

3. Proprietary Apple SDK macros

Apple SDK expects certain macros predefined by the compiler. Missing
them may causes odd issues. Mainline llvm is keeping up with Apple
clang, but it needs a fresh version, while the one installed on GitHub
runners is old (v15). I patched these in `lib/curl_setup.h`.

baa3270846b2a7307cbd0dd5c02c4e5f00e388dd #14134 build: fix llvm 16 or older + Xcode 15 or newer, and gcc

4. Apple SDK header bug

Without certain predefined macros, SDK headers can take a codepath where
it mis-defines its own `TARGET_OS_OSX` macro, which make it break its
own headers later. I patched it in `lib/curl_setup.h`.

ff784af461175584c73e7e2b65af00b1a5a6f67f #14159 build: fix llvm 17 and older + macOS SDK 14.4 and newer

5. `TargetConditionals.h` requires `sys/types.h`

Fixed in curl. It caused feature-detection failurs with autotools, and
could break builds in certain configurations.

e1f6192939c9c5ab2310b60bedf4c07d635193f6 #14130 configure: fix `SystemConfiguration` detection

6. Differences between autotools and CMake compiler options

Fixed it by syncing compiler warning options.

59cadacfcc1d39472245979cdbd614c7a9af6f0d #14128 build: sync warning options between autotools, cmake & compilers

7. Differences between autotools and CMake dependency detection

Fixed it by improving detection of libidn2, with some more fixes
pending for the next feature window.

f43adc2c4978f7f82a359e89186e58a31d17b0ad #14137 cmake: detect `libidn2` also via `pkg-config`
Ref: #14136 cmake: detect `nghttp2` via `pkg-config`, enable by default

8. libidn2 detection bug with CMake

Fixed the root cause and also the trigger in the CI config.

764fbabf6ed4c1d36c0ab2033ac8df52d9923cd7 #14175 cmake: fix builds with detected libidn2 lib but undetected header

9. Suppressed compiler warnings inside Apple-specific curl code

Fixed these warnings, which allowed to stop silencing them.

b05dc7eb3592305de9fa85640767f3dd2a8d4c93 #14122 sectransp: fix `HAVE_BUILTIN_AVAILABLE` checks to not emit warnings
5fa534b0dacdc120aaab0766047e0ecac37be4b3 #14162 sectransp: fix clang compiler warnings, stop silencing them

10. CMake mis-detecting a CA bundle path on macOS

d2ef6255f4a040397d2f40ab7cbf65a203201cd9 #14182 cmake: sync CA bundle/path detection with autotools

11. Failure to build tests with LibreSSL or wolfSSL with CMake

Fixed by dropping unnecessary includes, makign test builds dependent
on dependency headers.

3765d75ce47b66289f946382b649d0e99389dc77 #14172 cmake: fix building `unit1600` due to missing `ssl/openssl.h`

12. curl tests with CMake

curl's CMake was missing bits for running the C preprocessor accurately.
It made tests 1119 and 1167 fail. I implemented the missing bits.

efc2c5184d008fe2e5910fd03263e1ab0331d4e6 #14124 tests: include current directory when running test Perl commands
c09db8b51b88ee6ad55bd637dcb4b47678e30906 #14129 cmake: create `configurehelp.pm` like autotools does
67cc1e3400b77536a3ca529c986247e1ef985e6e #14125 test1119: adapt for `.md` input

13. GCC missing `__builtin_available()` support

curl source code assumes this is available to enable certain codepaths.
It's also intermixed with monotonic timer support.

14. Monotonic timer support with GCC

Detected by GCC, while it probably shouldn't be. llvm/clang detects it
depending on target OS version. I've been playing with this, but so far
without a conclusion or fix.

15. Runtime/test failures with GCC

I couldn't find the reason for most of this. A bunch of RTSP tests fail
with GCC. SecureTransport + HTTP/2 is failing a bunch of tests. With
OpenSSL it fails two of those. SecureTransport builds also fail one DoH
test.

16. Runtime/test failure in llvm/clang

AppleIDN support received a fix with two more remaining.

fd0250869f7837e4a48d7e6f54cc0801ad3820e8 #14179 #14176 IDN: fix ß with AppleIDN

17. Other issues found and fixed while working on this:

2c15aa5765900d4351e733671a1c8c3785beee1a GHA/macos: delete misplaced `CFLAGS`, drop redundant CMake option
80fb7c0bef209735ab352bf4afa31193a7bc65f1 #14126 configure: limit `SystemConfiguration` test to non-c-ares, IPv6 builds
cfd6f43d6ca7e57670b422bab7bbf10221a2cf3e #14127 build: tidy up `__builtin_available` feature checks (Apple)
bae555359979016999a9425a2d489f219a78abdd #14174 runtests: show name and keywords for failed tests in summary
09cdf7e5315711dea4ce7dcf5d99a4d41e7f658b #14178 cmake: delete unused `HAVE_LIBSSH2`, `HAVE_LIBSOCKET` macros
d3595c74fab829f07ef44da1b7fc2f5668767020 #14186 configure: CA bundle/path detection fixes
58772b0e082eda333e0a5fc8fb0bc7f17a3cd99c #14187 runtests: set `SOURCE_DATE_EPOCH` to fix failing around midnight
18f1cd7a77c4beecfd977d43f55634eb593ac99e #14183 tests: sync feature names with `curl -V`
4c22d97be786ed801e050da6872dd3143d6d0a59 #14181 build: use `#error` instead of invalid syntax

Pending merge:

show more ...

792a17d718-Jul-2024 Daniel Stenberg

RELEASE-NOTES: synced

be93299f18-Jul-2024 Stefan Eissing

lib: send eos flag

Adds a `bool eos` flag to send methods to indicate that the data is the
last chunk the invovled transfer wants to send to the server.

This will help protocol

lib: send eos flag

Adds a `bool eos` flag to send methods to indicate that the data is the
last chunk the invovled transfer wants to send to the server.

This will help protocol filters like HTTP/2 and 3 to forward the
stream's EOF flag and also allow to EAGAIN such calls when buffers are
not yet fully flushed.

Closes #14220

show more ...

c98f6fcd18-Jul-2024 Bhanu Prakash <35184675+BhanuPrakash-P@users.noreply.github.com>

mbedtls: correct the error message for cert blob parsing failure

Closes #14224

8c1d937817-Jul-2024 Daniel Stenberg

curldown: make 'added-in:' a mandatory header field

- generate AVAILABILITY manpage sections automatically - for consistent
wording

- allows us to double-check against other d

curldown: make 'added-in:' a mandatory header field

- generate AVAILABILITY manpage sections automatically - for consistent
wording

- allows us to double-check against other documumentation (symbols-in-versions
etc)

- enables proper automation/scripting based on this data

- lots of them were wrong or missing in the manpages

- several of them repeated (sometimes mismatching) backend support info

Add test 1488 to verify "added-in" version numbers against
symbols-in-versions.

Closes #14217

show more ...


docs/CURLDOWN.md
docs/curl-config.md
docs/libcurl/curl_easy_cleanup.md
docs/libcurl/curl_easy_duphandle.md
docs/libcurl/curl_easy_escape.md
docs/libcurl/curl_easy_getinfo.md
docs/libcurl/curl_easy_header.md
docs/libcurl/curl_easy_init.md
docs/libcurl/curl_easy_nextheader.md
docs/libcurl/curl_easy_option_by_id.md
docs/libcurl/curl_easy_option_by_name.md
docs/libcurl/curl_easy_option_next.md
docs/libcurl/curl_easy_pause.md
docs/libcurl/curl_easy_perform.md
docs/libcurl/curl_easy_recv.md
docs/libcurl/curl_easy_reset.md
docs/libcurl/curl_easy_send.md
docs/libcurl/curl_easy_setopt.md
docs/libcurl/curl_easy_strerror.md
docs/libcurl/curl_easy_unescape.md
docs/libcurl/curl_easy_upkeep.md
docs/libcurl/curl_escape.md
docs/libcurl/curl_formadd.md
docs/libcurl/curl_formfree.md
docs/libcurl/curl_formget.md
docs/libcurl/curl_free.md
docs/libcurl/curl_getdate.md
docs/libcurl/curl_getenv.md
docs/libcurl/curl_global_cleanup.md
docs/libcurl/curl_global_init.md
docs/libcurl/curl_global_init_mem.md
docs/libcurl/curl_global_sslset.md
docs/libcurl/curl_global_trace.md
docs/libcurl/curl_mime_addpart.md
docs/libcurl/curl_mime_data.md
docs/libcurl/curl_mime_data_cb.md
docs/libcurl/curl_mime_encoder.md
docs/libcurl/curl_mime_filedata.md
docs/libcurl/curl_mime_filename.md
docs/libcurl/curl_mime_free.md
docs/libcurl/curl_mime_headers.md
docs/libcurl/curl_mime_init.md
docs/libcurl/curl_mime_name.md
docs/libcurl/curl_mime_subparts.md
docs/libcurl/curl_mime_type.md
docs/libcurl/curl_mprintf.md
docs/libcurl/curl_multi_add_handle.md
docs/libcurl/curl_multi_assign.md
docs/libcurl/curl_multi_cleanup.md
docs/libcurl/curl_multi_fdset.md
docs/libcurl/curl_multi_get_handles.md
docs/libcurl/curl_multi_info_read.md
docs/libcurl/curl_multi_init.md
docs/libcurl/curl_multi_perform.md
docs/libcurl/curl_multi_poll.md
docs/libcurl/curl_multi_remove_handle.md
docs/libcurl/curl_multi_setopt.md
docs/libcurl/curl_multi_socket.md
docs/libcurl/curl_multi_socket_action.md
docs/libcurl/curl_multi_socket_all.md
docs/libcurl/curl_multi_strerror.md
docs/libcurl/curl_multi_timeout.md
docs/libcurl/curl_multi_wait.md
docs/libcurl/curl_multi_waitfds.md
docs/libcurl/curl_multi_wakeup.md
docs/libcurl/curl_pushheader_byname.md
docs/libcurl/curl_pushheader_bynum.md
docs/libcurl/curl_share_cleanup.md
docs/libcurl/curl_share_init.md
docs/libcurl/curl_share_setopt.md
docs/libcurl/curl_share_strerror.md
docs/libcurl/curl_slist_append.md
docs/libcurl/curl_slist_free_all.md
docs/libcurl/curl_strequal.md
docs/libcurl/curl_strnequal.md
docs/libcurl/curl_unescape.md
docs/libcurl/curl_url.md
docs/libcurl/curl_url_cleanup.md
docs/libcurl/curl_url_dup.md
docs/libcurl/curl_url_get.md
docs/libcurl/curl_url_set.md
docs/libcurl/curl_url_strerror.md
docs/libcurl/curl_version.md
docs/libcurl/curl_version_info.md
docs/libcurl/curl_ws_meta.md
docs/libcurl/curl_ws_recv.md
docs/libcurl/curl_ws_send.md
docs/libcurl/libcurl-easy.md
docs/libcurl/libcurl-env-dbg.md
docs/libcurl/libcurl-env.md
docs/libcurl/libcurl-errors.md
docs/libcurl/libcurl-multi.md
docs/libcurl/libcurl-security.md
docs/libcurl/libcurl-share.md
docs/libcurl/libcurl-thread.md
docs/libcurl/libcurl-tutorial.md
docs/libcurl/libcurl-url.md
docs/libcurl/libcurl-ws.md
docs/libcurl/libcurl.md
docs/libcurl/mksymbolsmanpage.pl
docs/libcurl/opts/CURLINFO_ACTIVESOCKET.md
docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.md
docs/libcurl/opts/CURLINFO_APPCONNECT_TIME_T.md
docs/libcurl/opts/CURLINFO_CAINFO.md
docs/libcurl/opts/CURLINFO_CAPATH.md
docs/libcurl/opts/CURLINFO_CERTINFO.md
docs/libcurl/opts/CURLINFO_CONDITION_UNMET.md
docs/libcurl/opts/CURLINFO_CONNECT_TIME.md
docs/libcurl/opts/CURLINFO_CONNECT_TIME_T.md
docs/libcurl/opts/CURLINFO_CONN_ID.md
docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.md
docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.md
docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.md
docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD_T.md
docs/libcurl/opts/CURLINFO_CONTENT_TYPE.md
docs/libcurl/opts/CURLINFO_COOKIELIST.md
docs/libcurl/opts/CURLINFO_EFFECTIVE_METHOD.md
docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.md
docs/libcurl/opts/CURLINFO_FILETIME.md
docs/libcurl/opts/CURLINFO_FILETIME_T.md
docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.md
docs/libcurl/opts/CURLINFO_HEADER_SIZE.md
docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.md
docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.md
docs/libcurl/opts/CURLINFO_HTTP_VERSION.md
docs/libcurl/opts/CURLINFO_LASTSOCKET.md
docs/libcurl/opts/CURLINFO_LOCAL_IP.md
docs/libcurl/opts/CURLINFO_LOCAL_PORT.md
docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.md
docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME_T.md
docs/libcurl/opts/CURLINFO_NUM_CONNECTS.md
docs/libcurl/opts/CURLINFO_OS_ERRNO.md
docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.md
docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME_T.md
docs/libcurl/opts/CURLINFO_PRIMARY_IP.md
docs/libcurl/opts/CURLINFO_PRIMARY_PORT.md
docs/libcurl/opts/CURLINFO_PRIVATE.md
docs/libcurl/opts/CURLINFO_PROTOCOL.md
docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.md
docs/libcurl/opts/CURLINFO_PROXY_ERROR.md
docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.md
docs/libcurl/opts/CURLINFO_QUEUE_TIME_T.md
docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.md
docs/libcurl/opts/CURLINFO_REDIRECT_TIME.md
docs/libcurl/opts/CURLINFO_REDIRECT_TIME_T.md
docs/libcurl/opts/CURLINFO_REDIRECT_URL.md
docs/libcurl/opts/CURLINFO_REFERER.md
docs/libcurl/opts/CURLINFO_REQUEST_SIZE.md
docs/libcurl/opts/CURLINFO_RESPONSE_CODE.md
docs/libcurl/opts/CURLINFO_RETRY_AFTER.md
docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.md
docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.md
docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.md
docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.md
docs/libcurl/opts/CURLINFO_SCHEME.md
docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.md
docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD_T.md
docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.md
docs/libcurl/opts/CURLINFO_SIZE_UPLOAD_T.md
docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.md
docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD_T.md
docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.md
docs/libcurl/opts/CURLINFO_SPEED_UPLOAD_T.md
docs/libcurl/opts/CURLINFO_SSL_ENGINES.md
docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.md
docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.md
docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME_T.md
docs/libcurl/opts/CURLINFO_TLS_SESSION.md
docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.md
docs/libcurl/opts/CURLINFO_TOTAL_TIME.md
docs/libcurl/opts/CURLINFO_TOTAL_TIME_T.md
docs/libcurl/opts/CURLINFO_USED_PROXY.md
docs/libcurl/opts/CURLINFO_XFER_ID.md
docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.md
docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.md
docs/libcurl/opts/CURLMOPT_MAXCONNECTS.md
docs/libcurl/opts/CURLMOPT_MAX_CONCURRENT_STREAMS.md
docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.md
docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.md
docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.md
docs/libcurl/opts/CURLMOPT_PIPELINING.md
docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.md
docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.md
docs/libcurl/opts/CURLMOPT_PUSHDATA.md
docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.md
docs/libcurl/opts/CURLMOPT_SOCKETDATA.md
docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.md
docs/libcurl/opts/CURLMOPT_TIMERDATA.md
docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.md
docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.md
docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.md
docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.md
docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.md
docs/libcurl/opts/CURLOPT_ALTSVC.md
docs/libcurl/opts/CURLOPT_ALTSVC_CTRL.md
docs/libcurl/opts/CURLOPT_APPEND.md
docs/libcurl/opts/CURLOPT_AUTOREFERER.md
docs/libcurl/opts/CURLOPT_AWS_SIGV4.md
docs/libcurl/opts/CURLOPT_BUFFERSIZE.md
docs/libcurl/opts/CURLOPT_CAINFO.md
docs/libcurl/opts/CURLOPT_CAINFO_BLOB.md
docs/libcurl/opts/CURLOPT_CAPATH.md
docs/libcurl/opts/CURLOPT_CA_CACHE_TIMEOUT.md
docs/libcurl/opts/CURLOPT_CERTINFO.md
docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.md
docs/libcurl/opts/CURLOPT_CHUNK_DATA.md
docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.md
docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.md
docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.md
docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.md
docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.md
docs/libcurl/opts/CURLOPT_CONNECT_ONLY.md
docs/libcurl/opts/CURLOPT_CONNECT_TO.md
docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.md
docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.md
docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.md
docs/libcurl/opts/CURLOPT_COOKIE.md
docs/libcurl/opts/CURLOPT_COOKIEFILE.md
docs/libcurl/opts/CURLOPT_COOKIEJAR.md
docs/libcurl/opts/CURLOPT_COOKIELIST.md
docs/libcurl/opts/CURLOPT_COOKIESESSION.md
docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.md
docs/libcurl/opts/CURLOPT_CRLF.md
docs/libcurl/opts/CURLOPT_CRLFILE.md
docs/libcurl/opts/CURLOPT_CURLU.md
docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.md
docs/libcurl/opts/CURLOPT_DEBUGDATA.md
docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.md
docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.md
docs/libcurl/opts/CURLOPT_DIRLISTONLY.md
docs/libcurl/opts/CURLOPT_DISALLOW_USERNAME_IN_URL.md
docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.md
docs/libcurl/opts/CURLOPT_DNS_INTERFACE.md
docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.md
docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.md
docs/libcurl/opts/CURLOPT_DNS_SERVERS.md
docs/libcurl/opts/CURLOPT_DNS_SHUFFLE_ADDRESSES.md
docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.md
docs/libcurl/opts/CURLOPT_DOH_SSL_VERIFYHOST.md
docs/libcurl/opts/CURLOPT_DOH_SSL_VERIFYPEER.md
docs/libcurl/opts/CURLOPT_DOH_SSL_VERIFYSTATUS.md
docs/libcurl/opts/CURLOPT_DOH_URL.md
docs/libcurl/opts/CURLOPT_ECH.md
docs/libcurl/opts/CURLOPT_EGDSOCKET.md
docs/libcurl/opts/CURLOPT_ERRORBUFFER.md
docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.md
docs/libcurl/opts/CURLOPT_FAILONERROR.md
docs/libcurl/opts/CURLOPT_FILETIME.md
docs/libcurl/opts/CURLOPT_FNMATCH_DATA.md
docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.md
docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.md
docs/libcurl/opts/CURLOPT_FORBID_REUSE.md
docs/libcurl/opts/CURLOPT_FRESH_CONNECT.md
docs/libcurl/opts/CURLOPT_FTPPORT.md
docs/libcurl/opts/CURLOPT_FTPSSLAUTH.md
docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.md
docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.md
docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.md
docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.md
docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.md
docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.md
docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.md
docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.md
docs/libcurl/opts/CURLOPT_FTP_USE_PRET.md
docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.md
docs/libcurl/opts/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.md
docs/libcurl/opts/CURLOPT_HAPROXYPROTOCOL.md
docs/libcurl/opts/CURLOPT_HAPROXY_CLIENT_IP.md
docs/libcurl/opts/CURLOPT_HEADER.md
docs/libcurl/opts/CURLOPT_HEADERDATA.md
docs/libcurl/opts/CURLOPT_HEADERFUNCTION.md
docs/libcurl/opts/CURLOPT_HEADEROPT.md
docs/libcurl/opts/CURLOPT_HSTS.md
docs/libcurl/opts/CURLOPT_HSTSREADDATA.md
docs/libcurl/opts/CURLOPT_HSTSREADFUNCTION.md
docs/libcurl/opts/CURLOPT_HSTSWRITEDATA.md
docs/libcurl/opts/CURLOPT_HSTSWRITEFUNCTION.md
docs/libcurl/opts/CURLOPT_HSTS_CTRL.md
docs/libcurl/opts/CURLOPT_HTTP09_ALLOWED.md
docs/libcurl/opts/CURLOPT_HTTP200ALIASES.md
docs/libcurl/opts/CURLOPT_HTTPAUTH.md
docs/libcurl/opts/CURLOPT_HTTPGET.md
docs/libcurl/opts/CURLOPT_HTTPHEADER.md
docs/libcurl/opts/CURLOPT_HTTPPOST.md
docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.md
docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.md
docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.md
docs/libcurl/opts/CURLOPT_HTTP_VERSION.md
docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.md
docs/libcurl/opts/CURLOPT_INFILESIZE.md
docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.md
docs/libcurl/opts/CURLOPT_INTERFACE.md
docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.md
docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.md
docs/libcurl/opts/CURLOPT_IOCTLDATA.md
docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.md
docs/libcurl/opts/CURLOPT_IPRESOLVE.md
docs/libcurl/opts/CURLOPT_ISSUERCERT.md
docs/libcurl/opts/CURLOPT_ISSUERCERT_BLOB.md
docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.md
docs/libcurl/opts/CURLOPT_KEYPASSWD.md
docs/libcurl/opts/CURLOPT_KRBLEVEL.md
docs/libcurl/opts/CURLOPT_LOCALPORT.md
docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.md
docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.md
docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.md
docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.md
docs/libcurl/opts/CURLOPT_MAIL_AUTH.md
docs/libcurl/opts/CURLOPT_MAIL_FROM.md
docs/libcurl/opts/CURLOPT_MAIL_RCPT.md
docs/libcurl/opts/CURLOPT_MAIL_RCPT_ALLOWFAILS.md
docs/libcurl/opts/CURLOPT_MAXAGE_CONN.md
docs/libcurl/opts/CURLOPT_MAXCONNECTS.md
docs/libcurl/opts/CURLOPT_MAXFILESIZE.md
docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.md
docs/libcurl/opts/CURLOPT_MAXLIFETIME_CONN.md
docs/libcurl/opts/CURLOPT_MAXREDIRS.md
docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.md
docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.md
docs/libcurl/opts/CURLOPT_MIMEPOST.md
docs/libcurl/opts/CURLOPT_MIME_OPTIONS.md
docs/libcurl/opts/CURLOPT_NETRC.md
docs/libcurl/opts/CURLOPT_NETRC_FILE.md
docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.md
docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.md
docs/libcurl/opts/CURLOPT_NOBODY.md
docs/libcurl/opts/CURLOPT_NOPROGRESS.md
docs/libcurl/opts/CURLOPT_NOPROXY.md
docs/libcurl/opts/CURLOPT_NOSIGNAL.md
docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.md
docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.md
docs/libcurl/opts/CURLOPT_PASSWORD.md
docs/libcurl/opts/CURLOPT_PATH_AS_IS.md
docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.md
docs/libcurl/opts/CURLOPT_PIPEWAIT.md
docs/libcurl/opts/CURLOPT_PORT.md
docs/libcurl/opts/CURLOPT_POST.md
docs/libcurl/opts/CURLOPT_POSTFIELDS.md
docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.md
docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.md
docs/libcurl/opts/CURLOPT_POSTQUOTE.md
docs/libcurl/opts/CURLOPT_POSTREDIR.md
docs/libcurl/opts/CURLOPT_PREQUOTE.md
docs/libcurl/opts/CURLOPT_PREREQDATA.md
docs/libcurl/opts/CURLOPT_PREREQFUNCTION.md
docs/libcurl/opts/CURLOPT_PRE_PROXY.md
docs/libcurl/opts/CURLOPT_PRIVATE.md
docs/libcurl/opts/CURLOPT_PROGRESSDATA.md
docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.md
docs/libcurl/opts/CURLOPT_PROTOCOLS.md
docs/libcurl/opts/CURLOPT_PROTOCOLS_STR.md
docs/libcurl/opts/CURLOPT_PROXY.md
docs/libcurl/opts/CURLOPT_PROXYAUTH.md
docs/libcurl/opts/CURLOPT_PROXYHEADER.md
docs/libcurl/opts/CURLOPT_PROXYPASSWORD.md
docs/libcurl/opts/CURLOPT_PROXYPORT.md
docs/libcurl/opts/CURLOPT_PROXYTYPE.md
docs/libcurl/opts/CURLOPT_PROXYUSERNAME.md
docs/libcurl/opts/CURLOPT_PROXYUSERPWD.md
docs/libcurl/opts/CURLOPT_PROXY_CAINFO.md
docs/libcurl/opts/CURLOPT_PROXY_CAINFO_BLOB.md
docs/libcurl/opts/CURLOPT_PROXY_CAPATH.md
docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.md
docs/libcurl/opts/CURLOPT_PROXY_ISSUERCERT.md
docs/libcurl/opts/CURLOPT_PROXY_ISSUERCERT_BLOB.md
docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.md
docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.md
docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.md
docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.md
docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.md
docs/libcurl/opts/CURLOPT_PROXY_SSLCERT_BLOB.md
docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.md
docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.md
docs/libcurl/opts/CURLOPT_PROXY_SSLKEY_BLOB.md
docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.md
docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.md
docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.md
docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.md
docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.md
docs/libcurl/opts/CURLOPT_PROXY_TLS13_CIPHERS.md
docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.md
docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.md
docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.md
docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.md
docs/libcurl/opts/CURLOPT_PUT.md
docs/libcurl/opts/CURLOPT_QUICK_EXIT.md
docs/libcurl/opts/CURLOPT_QUOTE.md
docs/libcurl/opts/CURLOPT_RANDOM_FILE.md
docs/libcurl/opts/CURLOPT_RANGE.md
docs/libcurl/opts/CURLOPT_READDATA.md
docs/libcurl/opts/CURLOPT_READFUNCTION.md
docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.md
docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS_STR.md
docs/libcurl/opts/CURLOPT_REFERER.md
docs/libcurl/opts/CURLOPT_REQUEST_TARGET.md
docs/libcurl/opts/CURLOPT_RESOLVE.md
docs/libcurl/opts/CURLOPT_RESOLVER_START_DATA.md
docs/libcurl/opts/CURLOPT_RESOLVER_START_FUNCTION.md
docs/libcurl/opts/CURLOPT_RESUME_FROM.md
docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.md
docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.md
docs/libcurl/opts/CURLOPT_RTSP_REQUEST.md
docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.md
docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.md
docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.md
docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.md
docs/libcurl/opts/CURLOPT_SASL_AUTHZID.md
docs/libcurl/opts/CURLOPT_SASL_IR.md
docs/libcurl/opts/CURLOPT_SEEKDATA.md
docs/libcurl/opts/CURLOPT_SEEKFUNCTION.md
docs/libcurl/opts/CURLOPT_SERVER_RESPONSE_TIMEOUT.md
docs/libcurl/opts/CURLOPT_SERVER_RESPONSE_TIMEOUT_MS.md
docs/libcurl/opts/CURLOPT_SERVICE_NAME.md
docs/libcurl/opts/CURLOPT_SHARE.md
docs/libcurl/opts/CURLOPT_SOCKOPTDATA.md
docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.md
docs/libcurl/opts/CURLOPT_SOCKS5_AUTH.md
docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.md
docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.md
docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.md
docs/libcurl/opts/CURLOPT_SSH_COMPRESSION.md
docs/libcurl/opts/CURLOPT_SSH_HOSTKEYDATA.md
docs/libcurl/opts/CURLOPT_SSH_HOSTKEYFUNCTION.md
docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.md
docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256.md
docs/libcurl/opts/CURLOPT_SSH_KEYDATA.md
docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.md
docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.md
docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.md
docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.md
docs/libcurl/opts/CURLOPT_SSLCERT.md
docs/libcurl/opts/CURLOPT_SSLCERTTYPE.md
docs/libcurl/opts/CURLOPT_SSLCERT_BLOB.md
docs/libcurl/opts/CURLOPT_SSLENGINE.md
docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.md
docs/libcurl/opts/CURLOPT_SSLKEY.md
docs/libcurl/opts/CURLOPT_SSLKEYTYPE.md
docs/libcurl/opts/CURLOPT_SSLKEY_BLOB.md
docs/libcurl/opts/CURLOPT_SSLVERSION.md
docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.md
docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.md
docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.md
docs/libcurl/opts/CURLOPT_SSL_EC_CURVES.md
docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.md
docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.md
docs/libcurl/opts/CURLOPT_SSL_FALSESTART.md
docs/libcurl/opts/CURLOPT_SSL_OPTIONS.md
docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.md
docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.md
docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.md
docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.md
docs/libcurl/opts/CURLOPT_STDERR.md
docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.md
docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.md
docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.md
docs/libcurl/opts/CURLOPT_SUPPRESS_CONNECT_HEADERS.md
docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.md
docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.md
docs/libcurl/opts/CURLOPT_TCP_KEEPCNT.md
docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.md
docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.md
docs/libcurl/opts/CURLOPT_TCP_NODELAY.md
docs/libcurl/opts/CURLOPT_TELNETOPTIONS.md
docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.md
docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.md
docs/libcurl/opts/CURLOPT_TIMECONDITION.md
docs/libcurl/opts/CURLOPT_TIMEOUT.md
docs/libcurl/opts/CURLOPT_TIMEOUT_MS.md
docs/libcurl/opts/CURLOPT_TIMEVALUE.md
docs/libcurl/opts/CURLOPT_TIMEVALUE_LARGE.md
docs/libcurl/opts/CURLOPT_TLS13_CIPHERS.md
docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.md
docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.md
docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.md
docs/libcurl/opts/CURLOPT_TRAILERDATA.md
docs/libcurl/opts/CURLOPT_TRAILERFUNCTION.md
docs/libcurl/opts/CURLOPT_TRANSFERTEXT.md
docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.md
docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.md
docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.md
docs/libcurl/opts/CURLOPT_UPKEEP_INTERVAL_MS.md
docs/libcurl/opts/CURLOPT_UPLOAD.md
docs/libcurl/opts/CURLOPT_UPLOAD_BUFFERSIZE.md
docs/libcurl/opts/CURLOPT_URL.md
docs/libcurl/opts/CURLOPT_USERAGENT.md
docs/libcurl/opts/CURLOPT_USERNAME.md
docs/libcurl/opts/CURLOPT_USERPWD.md
docs/libcurl/opts/CURLOPT_USE_SSL.md
docs/libcurl/opts/CURLOPT_VERBOSE.md
docs/libcurl/opts/CURLOPT_WILDCARDMATCH.md
docs/libcurl/opts/CURLOPT_WRITEDATA.md
docs/libcurl/opts/CURLOPT_WRITEFUNCTION.md
docs/libcurl/opts/CURLOPT_WS_OPTIONS.md
docs/libcurl/opts/CURLOPT_XFERINFODATA.md
docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.md
docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.md
docs/libcurl/opts/CURLSHOPT_LOCKFUNC.md
docs/libcurl/opts/CURLSHOPT_SHARE.md
docs/libcurl/opts/CURLSHOPT_UNLOCKFUNC.md
docs/libcurl/opts/CURLSHOPT_UNSHARE.md
docs/libcurl/opts/CURLSHOPT_USERDATA.md
docs/mk-ca-bundle.md
scripts/cd2nroff
tests/Makefile.am
tests/data/Makefile.inc
tests/data/test1488
tests/test1222.pl
tests/test1488.pl
d8696dc817-Jul-2024 Stefan Eissing

doh: fix cleanup

When removing an easy handle that had DoH sub-easy handles going, those
were not removed from the multi handle. Their memory was reclaimed on
curl_easy_cleanup() of

doh: fix cleanup

When removing an easy handle that had DoH sub-easy handles going, those
were not removed from the multi handle. Their memory was reclaimed on
curl_easy_cleanup() of the owning handle, but multi still had them in
their list.

Add `Curl_doh_close()` and `Curl_doh_cleanup()` as common point for
handling the DoH resource management. Use the `multi` present in the doh
handles (if so), for removal, as the `data->multi` might already have
been NULLed at this time.

Reported-by: 罗朝辉
Fixes #14207
Closes #14212

show more ...

5eba0a4b17-Jul-2024 Daniel Stenberg

tests/scripts: call it 'manpage' (single word)

Mostly in comments

Closes #14216

f504db8917-Jul-2024 Alex Snast

http/3: resume upload on ack if we have more data to send

Currently we're waiting for sendbuf_len_in_flight to hit zero before
resuming upload which means we're blocking and waiting for

http/3: resume upload on ack if we have more data to send

Currently we're waiting for sendbuf_len_in_flight to hit zero before
resuming upload which means we're blocking and waiting for _all_ acks to
arrive before sending more data. This causes significant delays especially
when ack delay is used on the server side.

The fix addresses several issues in h3 over ngtcp2:
- On ack we now call nghttp3_conn_resume_stream() when we have more
data to send.
- upload_left was incorrectly computed on CF_CTRL_DATA_DONE_SEND as
we need to subtract the ammount of data we have in flight.
- Remove upload_blocked_len as we Curl_bufq_write call will do the
right thing when called from cf_ngtcp2_send.

Fixes #14198
Closes #14209

show more ...

c3c7992a16-Jul-2024 Daniel Stenberg

idn: make macidn fail before trying conversion if name too long

- double the max name length to 512 bytes

Closes #14215

686d54ba17-Jul-2024 z2_ <88509734+z2-2z@users.noreply.github.com>

idn: tweak buffer use when converting with macidn

Closes #14215

0dbc4eb018-Jul-2024 Orgad Shaneh

lib: add failure reason on bind errors

Closes #14221

35ed3f7a17-Jul-2024 Stefan Eissing

pytests: scorecard upload tests

- add upload tests to scorecard, invoke with
> python3 tests/http/scorecard.py -u h1|h2|h3
- add a reverse proxy setup from Caddy to httpd for

pytests: scorecard upload tests

- add upload tests to scorecard, invoke with
> python3 tests/http/scorecard.py -u h1|h2|h3
- add a reverse proxy setup from Caddy to httpd for
upload tests since Caddy does not have other PUT/POST handling
- add caddy tests in test_08 for POST/PUT
- increase read buffer in mod_curltest for larger reads

Closes #14208

show more ...

1dd7131217-Jul-2024 Viktor Szakats

runtests: fix newline glitch in FAIL details

Follow-up to bae555359979016999a9425a2d489f219a78abdd #14174

bae5553513-Jul-2024 Viktor Szakats

runtests: show name and keywords for failed tests in summary

Useful to see what the numbers listed in the `TESTFAIL:` and `IGNORED:`
lines mean. Also list test keywords to help catching

runtests: show name and keywords for failed tests in summary

Useful to see what the numbers listed in the `TESTFAIL:` and `IGNORED:`
lines mean. Also list test keywords to help catching failure patterns.

Example:
```
FAIL 1034: 'HTTP over proxy with malformatted IDN host name' HTTP, HTTP GET, HTTP proxy, IDN, FAILURE, config file
FAIL 1035: 'HTTP over proxy with too long IDN host name' HTTP, HTTP GET, HTTP proxy, IDN, FAILURE

TESTFAIL: These test cases failed: 1034 1035
```

Closes #14174

show more ...

dfbdcb9315-Jul-2024 Tal Regev

GHA/windows: add MSVC wolfSSL job with test

Fix the file of wolfssl.c because of this warning/error:
```
curl\lib\vtls\wolfssl.c(1017,42): error C2220: the following warning is treat

GHA/windows: add MSVC wolfSSL job with test

Fix the file of wolfssl.c because of this warning/error:
```
curl\lib\vtls\wolfssl.c(1017,42): error C2220: the following warning is treated as an error [curl\bld\lib\libcurl_object.vcxproj]
curl\lib\vtls\wolfssl.c(1017,42): warning C4267: 'function': conversion from 'size_t' to 'unsigned long', possible loss of data [curl\bld\lib\libcurl_object.vcxproj]
```

`size_t` in MSVC is different. Change it to `unsigned long` because
`wolfSSL_ERR_error_string_n` last argument is defined as
`unsigned long`.

Closes #14193

show more ...

09cdf7e513-Jul-2024 Viktor Szakats

cmake: delete unused `HAVE_LIBSSH2`, `HAVE_LIBSOCKET` macros

- `HAVE_LIBSSH2`: unused in source. Not defined in CMake.

- `HAVE_LIBSOCKET`: unused in source. Used internally in CMake

cmake: delete unused `HAVE_LIBSSH2`, `HAVE_LIBSOCKET` macros

- `HAVE_LIBSSH2`: unused in source. Not defined in CMake.

- `HAVE_LIBSOCKET`: unused in source. Used internally in CMake.

autotools sets them implicitly, so add them to the flag comparison
ignore-list.

Closes #14178

show more ...

c09db8b508-Jul-2024 Viktor Szakats

cmake: create `configurehelp.pm` like autotools does

Required by tests 1119 and 1167 to run a C preprocessor.

Tested OK: https://github.com/curl/curl/actions/runs/9915343826

cmake: create `configurehelp.pm` like autotools does

Required by tests 1119 and 1167 to run a C preprocessor.

Tested OK: https://github.com/curl/curl/actions/runs/9915343826

Besides Apple, it also supports any gcc and clang builds, and MSVC.
For other platforms, it defaults to `cpp` (like autotools).

Follow-up to efc2c5184d008fe2e5910fd03263e1ab0331d4e6 #14124
Cherry-picked from #14097
Closes #14129

show more ...

d2ef625514-Jul-2024 Viktor Szakats

cmake: sync CA bundle/path detection with autotools

- skip the entire CA logic if no selected TLS backend support CA
certs/bundles.
Follow-up to 082bb41311a832ae1b83bb8fe1dfdefcf

cmake: sync CA bundle/path detection with autotools

- skip the entire CA logic if no selected TLS backend support CA
certs/bundles.
Follow-up to 082bb41311a832ae1b83bb8fe1dfdefcf4e68ea5 #2545

- sync bundle path detection logic with `./configure`.

- fix to not auto-detect CA bundle/path on Windows.

- fix to reflect that BearSSL has CA bundle support.

- show the detected bundle path (as with the cert bundle).

- tidy up CMake syntax, fix typos in comments.

Closes #14182

show more ...

d3595c7414-Jul-2024 Viktor Szakats

configure: CA bundle/path detection fixes

- fix to not auto-detect CA bundle/path on Windows.

- two checks missed BearSSL, but they were only run for supported
TLS backends an

configure: CA bundle/path detection fixes

- fix to not auto-detect CA bundle/path on Windows.

- two checks missed BearSSL, but they were only run for supported
TLS backends anyway. Delete these redundant checks.

- fix typos in a comment nearby.

Follow-up to 082bb41311a832ae1b83bb8fe1dfdefcf4e68ea5 #2545
Closes #14186

show more ...

58772b0e15-Jul-2024 Viktor Szakats

runtests: set `SOURCE_DATE_EPOCH` to fix failing around midnight

To make sure that `managen` called by test 1706 uses the same date as
the test expects in the `%DATE` macro.

Bef

runtests: set `SOURCE_DATE_EPOCH` to fix failing around midnight

To make sure that `managen` called by test 1706 uses the same date as
the test expects in the `%DATE` macro.

Before this patch when tests started running before UTC midnight and
reached test 1706 after, these dates were different and the test failed.

Follow-up to 0e73b69b3dd6d174226c60406d3c4266754d70f8
Fixes #14173
Closes #14187

show more ...

c21c51db15-Jul-2024 Viktor Szakats

GHA/windows: verify 1448 2046 2047 in IDN Unicode jobs

These IDN tests pass with Unicode and fail without.

Follow-up to cb22cfca69bded45bf7f9c72c8e6764990490f11 #14077
Closes #1

GHA/windows: verify 1448 2046 2047 in IDN Unicode jobs

These IDN tests pass with Unicode and fail without.

Follow-up to cb22cfca69bded45bf7f9c72c8e6764990490f11 #14077
Closes #14188

show more ...

18f1cd7a15-Jul-2024 Viktor Szakats

tests: sync feature names with `curl -V`

Some feature names used in tests had minor differences compared to
the well-known ones from `curl -V`. This patch syncs them to make test
res

tests: sync feature names with `curl -V`

Some feature names used in tests had minor differences compared to
the well-known ones from `curl -V`. This patch syncs them to make test
results easier to grok.

Closes #14183

show more ...


tests/FILEFORMAT.md
tests/data/test1034
tests/data/test1035
tests/data/test1044
tests/data/test1046
tests/data/test1048
tests/data/test1050
tests/data/test1056
tests/data/test1063
tests/data/test1083
tests/data/test1085
tests/data/test1100
tests/data/test116
tests/data/test1203
tests/data/test1210
tests/data/test1230
tests/data/test1268
tests/data/test1294
tests/data/test1295
tests/data/test1310
tests/data/test1311
tests/data/test1312
tests/data/test1313
tests/data/test1334
tests/data/test1335
tests/data/test1336
tests/data/test1337
tests/data/test1338
tests/data/test1339
tests/data/test1340
tests/data/test1341
tests/data/test1342
tests/data/test1343
tests/data/test1344
tests/data/test1345
tests/data/test1346
tests/data/test1347
tests/data/test1348
tests/data/test1349
tests/data/test1350
tests/data/test1351
tests/data/test1352
tests/data/test1353
tests/data/test1354
tests/data/test1355
tests/data/test1356
tests/data/test1357
tests/data/test1358
tests/data/test1359
tests/data/test1360
tests/data/test1361
tests/data/test1362
tests/data/test1363
tests/data/test1408
tests/data/test1422
tests/data/test1425
tests/data/test1426
tests/data/test1435
tests/data/test1436
tests/data/test1443
tests/data/test1448
tests/data/test1454
tests/data/test1456
tests/data/test1460
tests/data/test1467
tests/data/test1468
tests/data/test1470
tests/data/test1487
tests/data/test159
tests/data/test165
tests/data/test1662
tests/data/test1908
tests/data/test1933
tests/data/test1934
tests/data/test1935
tests/data/test1936
tests/data/test1937
tests/data/test1938
tests/data/test1955
tests/data/test1956
tests/data/test1957
tests/data/test1958
tests/data/test1959
tests/data/test1970
tests/data/test1971
tests/data/test1972
tests/data/test1973
tests/data/test1974
tests/data/test1975
tests/data/test2046
tests/data/test2047
tests/data/test2056
tests/data/test2057
tests/data/test2100
tests/data/test212
tests/data/test2300
tests/data/test2301
tests/data/test2302
tests/data/test2303
tests/data/test2304
tests/data/test2305
tests/data/test2307
tests/data/test240
tests/data/test2400
tests/data/test2401
tests/data/test2406
tests/data/test241
tests/data/test242
tests/data/test2501
tests/data/test252
tests/data/test253
tests/data/test254
tests/data/test255
tests/data/test2600
tests/data/test263
tests/data/test3202
tests/data/test356
tests/data/test358
tests/data/test359
tests/data/test363
tests/data/test412
tests/data/test413
tests/data/test437
tests/data/test438
tests/data/test439
tests/data/test446
tests/data/test447
tests/data/test472
tests/data/test558
tests/data/test644
tests/data/test687
tests/data/test688
tests/data/test719
tests/data/test823
tests/data/test832
tests/data/test835
tests/data/test869
tests/data/test878
tests/data/test881
tests/data/test907
tests/data/test934
tests/data/test937
tests/data/test959
tests/data/test960
tests/data/test961
tests/data/test962
tests/data/test963
tests/data/test964
tests/data/test965
tests/data/test966
tests/data/test967
tests/data/test968
tests/data/test969
tests/data/test970
tests/data/test972
tests/data/test99
tests/runner.pm
tests/runtests.pl
9e5b11c612-Jul-2024 Stefan Eissing

sendf: fix CRLF conversion of input

When CRLF line end conversion was enabled (--crlf), input after the last
newline in the upload buffer was not sent, if the buffer contained a
newl

sendf: fix CRLF conversion of input

When CRLF line end conversion was enabled (--crlf), input after the last
newline in the upload buffer was not sent, if the buffer contained a
newline.

Reported-by: vuonganh1993 on github
Fixes #14165
Closes #14169

show more ...

1...<<41424344454647484950>>...1351