This project is mirrored from https://*****:*****@github.com/curl/curl.
Pull mirroring updated .
- Jul 30, 2025
-
-
Viktor Szakats authored
They are defined by all mingw-w64 versions and all supported MSVC versions (VS2008 and up). Also by OpenWatcom 2: https://github.com/open-watcom/open-watcom-v2/blob/ce6c37eb29f3fda95f9c4e8e37dee866b8c4e496/bld/w32api/include/winerror.mh mingw32ce misses `CRYPT_E_NOT_IN_REVOCATION_DATABASE`. Closes #18092
-
Viktor Szakats authored
AM libressl heimdal: ``` Global symbol "$verbose" requires explicit package name (did you forget to declare "my $verbose"?) at tests/http2-server.pl line 52. Global symbol "$certfile" requires explicit package name (did you forget to declare "my $certfile"?) at tests/http2-server.pl line 109. Global symbol "$keyfile" requires explicit package name (did you forget to declare "my $keyfile"?) at tests/http2-server.pl line 110. Execution of tests/http2-server.pl aborted due to compilation errors. [...] ``` Ref: https://github.com/curl/curl/actions/runs/16622030370/job/47028537336?pr=18099#step:39:3148 Follow-up to 2ec54556 #17877 Closes #18100
-
Viktor Szakats authored
Some tests make a hard-coded call to the libtest binary in the precheck step. With bundle builds the binary changed name and calling convention. Before this patch these tests failed the pre-check and did not run for the 5 affected tests: 518, 537, 678, 1517, 1960 Fixing, e.g.: ``` test 1517 SKIPPED: precheck command error ``` https://github.com/curl/curl/actions/runs/16611990422/job/46996698437?pr=18039#step:13:4832 It also fixes builds with a custom `CURL_DIRSUFFIX` set. Follow-up to 2c27a67d #17590 Follow-up to 71cf0d1f #14772 Closes #18099
-
Viktor Szakats authored
They are defined by all mingw-w64 versions and all supported MSVC versions (SDK 7.1A+). Also by OpenWatcom 2: https://github.com/open-watcom/open-watcom-v2/blob/ce6c37eb29f3fda95f9c4e8e37dee866b8c4e496/bld/w32api/include/wincrypt.mh These aren't defined by mingw32ce. And likely defined by MS WinCE SDK, but curl code doesn't use them in WinCE builds. Closes #18093
-
Viktor Szakats authored
In case they are used again in the future, the fallbacks are not necessary for the supported mingw-w64 (v3+) and MSVC versions. Follow-up to 6238888c #15621 Closes #18091
-
Viktor Szakats authored
Follow-up to 952c929b #18084 Closes #18097
-
Viktor Szakats authored
Follow-up to a28f5f68 #18010 Closes #18095
-
Daniel Stenberg authored
instead of comparing != CURLE_OK Closes #18094
-
Stefan Eissing authored
Since the content varies during connection setup and while doing it (eyeballing), remove these strcut from `connectdata` and replace use with querying the connection filters. Those keep that information already. Change the info logging of established connections to also give the local address and port. Closes #17960
-
Dominik Tomecki authored
Verified in test 3215 Closes #16643
-
Daniel Stenberg authored
-
Daniel Stenberg authored
Closes #18080
-
Daniel Stenberg authored
- rename it client_cert - make it return CURLcode Closes #18081
-
Daniel Stenberg authored
Make the bundle depend on the header in the lib dir and built it now if not present. Reported-by: Todd Gamblin Fixes #18088 Closes #18089
-
Viktor Szakats authored
Closes #18090
-
Viktor Szakats authored
Follow-up to c9bb9cd1 #17750 Ref: https://github.com/curl/curl/pull/17750#issuecomment-3133749477 Closes #18086
-
Viktor Szakats authored
libtests and clients were built the same way after recent overhauls. libtests are used by runtests, clients by pytests. Merge clients into libtests, aligning their entry function signature, dropping common utility functions, and simplifying the build. Note: After this patch `CURLDEBUG` applies to cli tests, when enabled. Also: - lib552: drop local copy-paste debug callback in favor of testtrace. - lib552: drop local copy-paste dump function in favor of testtrace. - clients: use `long` for HTTP version, drop casts. - clients: replace local dump function in favor of testrace clone. - sync cli test entry function prototype with libtests'. - h2_serverpush: replace local trace callback with testtrace. - de-duplicate 3 websocket close, ping, ping, functions. Kept the pong iteration from `ws_pingpong`. Note: the pong clone in `lib2304` was returning an error when `curl_ws_recv()` returned non-zero and the payload matched the expected one anyway. After this patch, this case returns success, as it does in `ws_pingpong`. `lib2304` keeps passing, but I'm not sure if the previous behavior was intentional. - display full value in websocket close, ping, pong, drop casts. Closes #18079
-
- Jul 29, 2025
-
-
Viktor Szakats authored
mingw-w64 always defines `CERT_CHAIN_REVOCATION_CHECK_CHAIN`. Also confirmed in CI. Follow-up to 38029101 #11625 Ref: a28f5f68 #18010 Closes #18084
-
Viktor Szakats authored
Closes #18087
-
Daniel Stenberg authored
This function would set some options to NULL and some not. This change now more consistently set the value, even if NULL/0/default. Also removes the 'new in [version]' comments as they were not consistently used and as they have moved around probably aren't correct anymore. Closes #18078
-
Daniel Stenberg authored
- let the caller do the cleanup on fail - avoid gotos and use direct returns more - use while() loop Closes #18077
-
Stefan Eissing authored
- add startup check for 'danted' to avoid fails on low cpu - rename 'sockd' to 'danted' everywhere to clarify what we use - add proper defaults for 'danted' for debian - install 'dante-server' in pytest ci runs Closes #18075
-
Viktor Szakats authored
For libtests, tunits, units. Also: - lib3033: tidy up headers. - lib/netrc: constify an arg in `Curl_parsenetrc()`. Closes #18076
-
Daniel Stenberg authored
- add a message if a boolean is set to something not 1 or 0 (as it might be made to mean something else in a future) - use 's->' in all setopt_* functions Closes #17887
-
Stefan Eissing authored
New multi option CURLMOPT_NETWORK_CHANGED with a long bitmask value: - CURLM_NWCOPT_CLEAR_CONNS: do not reuse existing connections, close all idle connections. - CURLM_NWCOPT_CLEAR_DNS: clear the multi's DNS cache. All other bits reserved for future extensions. Fixes #17225 Reported-by: ウさん Closes #17613
-
Daniel Stenberg authored
Follow-up to b1df1d38 Closes #18072
-
Daniel Stenberg authored
When doing HTTP/2 and HTTP/3, it is possible to achieve quite a massive parallelism so limiting this to 300 seems restrictive. With other protocols, going beyond 300-400 might not be recommended but curl does not have to enforce the limit. Closes #18068
-
Viktor Szakats authored
For libcurl API tests that need interacting directly with TLS-backends. Partial revert of 58b9c613 #17696 for cmake, and implementing the same for autotools. Ref: #18066 Closes #18069
-
Viktor Szakats authored
Early mingw-w64 releases missed it, but by requiring v3.0, this is no longer an issue. Supported Visual Studio SDKs also offer it. Follow-up to a28f5f68 #18010 Closes #18057
-
Viktor Szakats authored
Closes #18067
-
- Jul 28, 2025
-
-
Stefan Eissing authored
Before curl 8.14.0, when pending was a list, `process_pending_handles()` move a single transfer to processing. In 8.14.0 we changed that to move all pending transfers to processing. This lead to unwanted performance drops as reported in #18017. Restore the old behaviour. While the old behviour is better, the overall handling of "pending" transfers is not optimal, since we do not keep track of the "condition" a pending transfer is waiting on. This means, when moving a single, pending transfer, we might move one that still cannot be processed while another that could is kept pending. Since we trigger `process_pending_handles()` from various changes, the stalled pending will eventually make it to the processing queue, but this is not optimal. Fixes #18017 Reported-by: rm-rmonaghan on github Closes #18056
-
Daniel Stenberg authored
If a NULL easy handle is passed in. Pointed out by Coverity Follow-up to 960fb492 Closes #18065
-
Eshan Kelkar authored
This commit replaces the usage of the old deprecated sftp_async API with the new sftp_aio API for remote file reading. Signed-off-by:
Eshan Kelkar <eshankelkar@galorithm.com> Closes #17440
-
Viktor Szakats authored
Fixing: - HTTPS-RR builds with c-ares and Linux MUSL. - curl-for-win minimal builds with Linux MUSL. It should fix all other kinds of entaglement between curl's redefintions of system symbols and system (or 3rd-party) headers sensitive to that. It also syncs memory override behavior between unity & non-unity builds, thus reducing build variations. The idea is to define and declare everything once in `curl_setup.h`, without overriding any system symbols with curl ones yet. Then, like before this patch, override them, if necessary, in each source file via `curl_memory.h` and `memdebug.h`, after including system headers. To ensure a clean slate with no overrides at the beginning of each source file, reset all of them unconditionally at the end of `curl_setup.h`, by including `curl_mem_undef.h`. (This assumes `curl_setup.h` is always included first, which is already the case throughout the codebase.) `curl_mem_undef.h` can also be included explicitly wherever overrides are causing problems. E.g. in tests which use unity-style builds and a previously included `curl_memory.h`/`memdebug.h` can be spilling into other source files. The simplified role of the two override headers: - `curl_memory.h`: overrides system memory allocator functions to libcurl ones, when memory tracing (aka `CURLDEBUG`) is disabled. - `memdebug.h`: overrides system memory allocator and some other functions to curl debug functions, when memory tracing is enabled. Changed made in this patch, step-by-step: - curl_memory.h: move allocator typedefs and protos to `curl_setup.h`. - memdebug.h: move `ALLOC_*` macros to `curl_setup.h`. - memdebug.h: move allocator protos to `curl_setup.h`. - memdebug.h: move `Curl_safefree()` macro to `curl_setup.h`. (it's a regular macro, with a one-time, global, definition.) - curl_memory.h: move system symbol undefs to a new, separate header: `curl_mem_undef.h`. - curl_setup.h: include `curl_mem_undef.h` at the end, unconditionally, to reset system symbol macros after each inclusion. - handle `sclose()` and `fake_sclose()` in `curl_setup.h`. They are not system symbols, a one-time definition does the job. Also: - GHA/linux: enable unity mode for the HTTP-RR c-ares MUSL job. Follow-up to 17ab4d62 #16413 That said, I'd still find it better to avoid redefining system macros. To communicate clearly the fact that they are not the original system calls and they do behave differently. And, it would allow dropping the undef/redef dance in each source file, and maintaining the logic with it. The "last #include files should be in this order" comments in each source would also become unnecessary. Also the trick of using `(func)` (or interim macros) to call the non-overridden function where required. This method works for printf and most everything else already. For `_tcsdup`, socket and fopen functions this could work without disturbing the codebase much. Ref: #16428 (clean reboot of) Closes #17827
-
Viktor Szakats authored
This patch bumps the size of these macros from `int` to `long`, while keeping their actual values the same. It may cause incompatibilities in user code, requiring the bump of holder variables and/or adding casts: - CURLHEADER_SEPARATE - CURLHEADER_UNIFIED Also: - keep existing cast within the documentation to make sure it applies to older curl versions as well. Closes #18055
-
Viktor Szakats authored
This patch bumps the size of these macros from `int` to `long`, while keeping their actual values the same. It may cause incompatibilities in user code, requiring the bump of holder variables and/or adding casts: - CURLPROXY_HTTP - CURLPROXY_HTTP_1_0 - CURLPROXY_HTTPS - CURLPROXY_HTTPS2 - CURLPROXY_SOCKS4 - CURLPROXY_SOCKS4A - CURLPROXY_SOCKS5 - CURLPROXY_SOCKS5_HOSTNAME Also: - keep existing cast within the documentation to make sure it applies to older curl versions as well. Closes #18054
-
Viktor Szakats authored
This patch bumps the size of these macros from `int` to `long`, while keeping their actual values the same. It may cause incompatibilities in user code, requiring the bump of holder variables and/or adding casts: - CURLALTSVC_H1 - CURLALTSVC_H2 - CURLALTSVC_H3 - CURLALTSVC_READONLYFILE Also: - keep existing cast within the documentation to make sure it applies to older curl versions as well. Closes #18063
-
Viktor Szakats authored
Follow-up to 7d1ca2e7 #17933 Closes #18064
-
Viktor Szakats authored
Fixing on macOS, and possibly other BSDs: ``` sed: 83: ./docs/THANKS-filter: RE error: illegal byte sequence ``` Where line 83 contains `\xED`. Switch to raw encoding to avoid `sed` evaluating the stream of bytes. Ref: #18061 Closes #18062
-
Viktor Szakats authored
It makes the script run on BSD-like envs. Follow-up to f63bdea7 #18058 Follow-up to 2ec54556 #17877 Closes #18061
-