01a81579 | 11-Oct-2024 |
Viktor Szakats |
cmake: tidy-ups and rebase fixups - limit `SIZEOF_SA_FAMILY_T` detection to non-Windows. - make sure `sys/socket.h` exists before detecting `SIZEOF_SA_FAMILY_T`. - limit `mach_absolu
cmake: tidy-ups and rebase fixups - limit `SIZEOF_SA_FAMILY_T` detection to non-Windows. - make sure `sys/socket.h` exists before detecting `SIZEOF_SA_FAMILY_T`. - limit `mach_absolute_time()` detection to `APPLE`. Drop from Windows pre-cache. - skip `HAVE_LIBSOCKET` detection for Windows, drop pre-cached value. - drop redundant pre-cached `HAVE_LIBZ` for Windows. - `curl_required_libpaths()`: stop accepting multiple arguments. To prepare for `CMAKE_REQUIRED_LINK_DIRECTORIES` support. Follow-up to 7bab201abe3915a0167c002f9308950cb8a06e4b #15193 - GSS: fix recent rebase mistakes: - fix variable name. - do not add a header twice. Follow-up to 91d451b48809f20415ba8627786f5d4f5aaf8bfe #15157 - GSS: quote a variable. Closes #15271
show more ...
|
a3601cf5 | 10-Oct-2024 |
Dan Fandrich |
tests: allow pytests to run in out-of-tree builds Some of the files it needs are in the build directory but the code did not make a distinction. Closes #15257 |
79809ffe | 12-Oct-2024 |
Viktor Szakats |
GHA/linux: mbedTLS 3.6.1 Closes #15274 |
ba68eb02 | 08-Oct-2024 |
renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
CI: update rojopolis/spellcheck, actions/checkout, actions/upload-artifact - update rojopolis/spellcheck-github-actions digest to 7ff888c - update actions/checkout digest to eef6144
CI: update rojopolis/spellcheck, actions/checkout, actions/upload-artifact - update rojopolis/spellcheck-github-actions digest to 7ff888c - update actions/checkout digest to eef6144 - update actions/upload-artifact digest to b4b15b8 Closes #15207 Closes #15184 Closes #15187
show more ...
|
7d53a592 | 07-Oct-2024 |
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
CI: bump github/codeql-action, vmactions/omnios-vm and actions/cache - bump github/codeql-action from 3.26.10 to 3.26.11 - bump vmactions/omnios-vm from 1.0.7 to 1.0.8 - bump actions
CI: bump github/codeql-action, vmactions/omnios-vm and actions/cache - bump github/codeql-action from 3.26.10 to 3.26.11 - bump vmactions/omnios-vm from 1.0.7 to 1.0.8 - bump actions/cache from 4.0.2 to 4.1.1 Closes #15178 Closes #15179 Closes #15244
show more ...
|
fe8399f0 | 11-Oct-2024 |
Stefan Eissing |
gnutls: use session cache for QUIC Add session reuse for QUIC transfers using GnuTLS. This does not include support for TLS early data, yet. Fix check of early data support in c
gnutls: use session cache for QUIC Add session reuse for QUIC transfers using GnuTLS. This does not include support for TLS early data, yet. Fix check of early data support in common GnuTLS init code to not access the filter context, as the struct varies between TCP and QUIC connections. Closes #15265
show more ...
|
954177b9 | 09-Oct-2024 |
Dan Fandrich |
tool_xattr: create the user.creator xattr attribute This indicates that the file was created by curl which can help a user determine the origin of a file. Like the other attributes, this
tool_xattr: create the user.creator xattr attribute This indicates that the file was created by curl which can help a user determine the origin of a file. Like the other attributes, this is only enabled with the --xattr option. Closes #15237
show more ...
|
dfd36d3e | 10-Oct-2024 |
Viktor Szakats |
cmake: apply `WIN32_LEAN_AND_MEAN` to all feature checks Enable `WIN32_LEAN_AND_MEAN` for all feature detections on Windows. (Also drop it from individual detections.) Cher
cmake: apply `WIN32_LEAN_AND_MEAN` to all feature checks Enable `WIN32_LEAN_AND_MEAN` for all feature detections on Windows. (Also drop it from individual detections.) Cherry-picked from #15164
show more ...
|
8e345057 | 05-Oct-2024 |
Viktor Szakats |
cmake: untangle feature detection interdependencies - reduce `check_include_file_concat()` use to those headers that either depend on a previously detected header, or another header or
cmake: untangle feature detection interdependencies - reduce `check_include_file_concat()` use to those headers that either depend on a previously detected header, or another header or symbol detection depend on it. - replace `check_symbol_exists()` with `check_function_exists()` for functions that are detected with `AC_CHECK_FUNCS()` in `./configure`. This makes `setmode()` no longer be detected with MSYS, syncing this with `./configure`. Instead `_setmode()` is used now also in CMake MSYS builds. This is consistent with Cygwin builds also. - add comment about which header/symbol detection depends on what header. Based on `./configure` mainly. - form `CURL_TEST_DEFINES` manually, and include only those macros which are actually used in `CMake/CurlTests.c`. - change `curl_internal_test()` to use `CMAKE_REQUIRED_DEFINITIONS`, instead of `CMAKE_REQUIRED_FLAGS` to simplify the logic, and to allow dropping the latter macro completely. - drop `windows.h` from header and symbol checks. - `./configure`: add comment about whether `netinet/in6.h`, `sys/un.h` are indeed meant to be included for all detections. There is a chance they were added there by accident. Detection resuls were cross-checked between 436bbbe7abebf0ee3a2b0bfb3ec5db7ce8c8db4c (master) and 48ff4694e608ccfdedf7ce5bab2b96d6b2c23cda (this PR), for CI GHA Linux, Linux HTTP/3, non-native, macOS and Windows jobs. Closes #15164
show more ...
|
7bff6864 | 11-Oct-2024 |
Viktor Szakats |
ci: dump `curl_config.h` to log in all jobs Also: - GHA/windows: merge full and brief dump into a single job step. - fix shellcheck warning 'useless cat'. Closes #15266 |
617feb7c | 11-Oct-2024 |
Daniel Stenberg |
RELEASE-NOTES: synced |
0095f984 | 10-Oct-2024 |
Daniel Stenberg |
libssh2: split the statemachine function into smaller sub functions A giant function is hard to read. Closes #15250 |
3b43a05e | 10-Oct-2024 |
Daniel Stenberg |
netrc: cache the netrc file in memory So that on redirects etc it does not reread the file but just parses it again. Reported-by: Pierre-Etienne Meunier Fixes #15248 Clo
netrc: cache the netrc file in memory So that on redirects etc it does not reread the file but just parses it again. Reported-by: Pierre-Etienne Meunier Fixes #15248 Closes #15259
show more ...
|
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 ...
|
d0377f5a | 11-Oct-2024 |
Daniel Stenberg |
multi: convert Curl_follow to static multi_follow Moved over from transfer.c because it is only used in multi.c Closes #15260 |
be39ed19 | 10-Oct-2024 |
Daniel Stenberg |
cookie: overhaul and cleanup - split the huge Curl_cookie_add() into several smaller static functions - switch to using the common llist instead of custom linked list - use
cookie: overhaul and cleanup - split the huge Curl_cookie_add() into several smaller static functions - switch to using the common llist instead of custom linked list - use less memory for *getlist() - use bitfields for flags in the Cookie struct - avoid the copy for date parsing - more consistent variable naming Closes #15247
show more ...
|
91d451b4 | 05-Oct-2024 |
Viktor Szakats |
cmake: replace `check_include_file_concat()` for LDAP and GSS detection Replace `check_include_file_concat()` with `check_include_file()` in GSS/LDAP detection to avoid these headers spi
cmake: replace `check_include_file_concat()` for LDAP and GSS detection Replace `check_include_file_concat()` with `check_include_file()` in GSS/LDAP detection to avoid these headers spilling into subsequent feature checks. - For LDAP, reverse detection order to match with `./configure`. Though, in current LDAP packages `ldap.h` does include `lber.h`. - For GSS, align header detection logic with `./configure`, where `gssapi/gssapi_generic.h` might require `gssapi/gssapi.h`, and `gssapi/gssapi_krb5.h` might require both. Ref: #436 Closes #15157
show more ...
|
2c90f7f6 | 05-Oct-2024 |
Viktor Szakats |
cmake: allow manual configuration for LDAP Via these configuration values: - `LDAP_LIBRARY` - `LDAP_LBER_LIBRARY` - `LDAP_INCLUDE_DIR` Following the naming scheme used i
cmake: allow manual configuration for LDAP Via these configuration values: - `LDAP_LIBRARY` - `LDAP_LBER_LIBRARY` - `LDAP_INCLUDE_DIR` Following the naming scheme used in `Find` modules. Cherry-picked from #15157 Closes #15255
show more ...
|
6074e335 | 05-Oct-2024 |
Viktor Szakats |
cmake: add comments to feature check options applied globally Add comments saying when we want values set in feature check option variables to apply to all feature checks, globally. Thes
cmake: add comments to feature check options applied globally Add comments saying when we want values set in feature check option variables to apply to all feature checks, globally. These are currently: `ws2_32` and `socket` libraries, and `-D_WIN32_WINNT=` macro. Also use `list(APPEND ...)` for the libraries to avoid overwriting potentially existing values. Cherry-picked from #15157 Closes #15253
show more ...
|
447bcea5 | 05-Oct-2024 |
Viktor Szakats |
cmake: stop adding dependency headers to global `CMAKE_REQUIRED_INCLUDES` It was done for `zlib`, `brotli`, `libpsl`, `libssh2`, `wolfssh` (a copy-paste case for `wolfssh`). Fea
cmake: stop adding dependency headers to global `CMAKE_REQUIRED_INCLUDES` It was done for `zlib`, `brotli`, `libpsl`, `libssh2`, `wolfssh` (a copy-paste case for `wolfssh`). Feature detections should not rely by default on dependency headers. There is no evidence they do now. If it becomes necessary, headers should added for the duration of the feature check. Ref: 118977f19d2d7e842bdf4424c7cfbc5991781412 Cherry-picked from #15157 Closes #15252
show more ...
|
91519bfb | 04-Oct-2024 |
Viktor Szakats |
cmake: use `cmake_push_check_state()` around feature checks Enclose `CMAKE_EXTRA_INCLUDE_FILES`, `CMAKE_REQUIRED_DEFINITIONS`, `CMAKE_REQUIRED_FLAGS`, `CMAKE_REQUIRED_INCLUDE
cmake: use `cmake_push_check_state()` around feature checks Enclose `CMAKE_EXTRA_INCLUDE_FILES`, `CMAKE_REQUIRED_DEFINITIONS`, `CMAKE_REQUIRED_FLAGS`, `CMAKE_REQUIRED_INCLUDES`, `CMAKE_REQUIRED_LIBRARIES`, `CMAKE_REQUIRED_LINK_OPTIONS`, settings within `cmake_push_check_state()`/`cmake_pop_check_state()` calls. It prevents spilling them into other feature checks. It also replaces manual resets found in some places (which can have the undesired side-effect of destroying values meant for global use.) Cherry-picked from #15157 Closes #15251
show more ...
|
ae5e538e | 10-Oct-2024 |
Viktor Szakats |
GHA: drop `--parallel` option for CMake + Ninja jobs It's managed by Ninja automatically. Closes #15249 |
7bab201a | 08-Oct-2024 |
Viktor Szakats |
cmake: add native `pkg-config` detection for mbedTLS, MSH3, Quiche, Rustls, wolfSSL Also: - detect and add required system libraries for Rustls on macOS and non-Windows. - add
cmake: add native `pkg-config` detection for mbedTLS, MSH3, Quiche, Rustls, wolfSSL Also: - detect and add required system libraries for Rustls on macOS and non-Windows. - add Linux CMake jobs for the touched dependencies. Caveats: - MSH3 generates a broken `libmsh3.pc`, so needs manual config. Upstream PR: https://github.com/nibanks/msh3/pull/225 - Rustls `.pc` file missing, so needs manual config. An internal change worthy of mention is that we are using the lib path and name information returned by `pkg-config` as-is. Meaning the libname doesn't include the full path, like it's usual with native cmake detection. The path comes separately and needs to be rolled separately. For this we add it to targets via `link_directories()`. We also keep tab of them in `CURL_LIBDIRS` and use that in `libcurl.pc`. Feature checks also need to receive these paths. CMake doesn't offer a `CMAKE_REQUIRED_*` variable for this purpose, only a `CMAKE_REQUIRED_LINK_OPTIONS` accepting raw linker flags. Add a macro to convert a list of paths to linker options to solve it. wolfSSL requires this for now. Closes #15193
show more ...
|
ae535169 | 08-Oct-2024 |
Viktor Szakats |
cmake: tidy up detection C code Closes #15195 |
436bbbe7 | 10-Oct-2024 |
Viktor Szakats |
GHA/linux: skip installing rust if rustls is in cache Rust remains installed for the Hyper job, because the rustls cache flag is always false in that case. Closes #15246 |