[1/3] curl: Update to version 8.16.0

Message ID 20250915154727.2630616-1-adolf.belka@ipfire.org
State Staged
Commit 1ff80986d5200d9cdb19458f53b6a611bd8219a5
Headers
Series [1/3] curl: Update to version 8.16.0 |

Commit Message

Adolf Belka 15 Sep 2025, 3:47 p.m. UTC
- Update from version 8.15.0 to 8.16.0
- Update of rootfile
- Changelog
    8.16.0
      changes:
	 o build: bump minimum required mingw-w64 to v3.0 (from v1.0) [33]
	 o curl: add --follow [129]
	 o curl: add --out-null [101]
	 o curl: add --parallel-max-host to limit concurrent connections per host [81]
	 o curl: make --retry-delay and --retry-max-time accept decimal seconds [112]
	 o hostip: cache negative name resolves [175]
	 o ip happy eyeballing: keep attempts running [80]
	 o mbedtls: bump minimum version required to 3.2.0 [180]
	 o multi: add curl_multi_get_offt [56]
	 o multi: add CURLMOPT_NETWORK_CHANGED to signal network changed [84]
	 o netrc: use the NETRC environment variable (first) if set [70]
	 o smtp: allow suffix behind a mail address for RFC 3461 [127]
	 o tls: make default TLS version be minimum 1.2 [71]
	 o tool_getparam: add support for `--longopt=value` [69]
	 o vquic: drop msh3 [8]
	 o websocket: support CURLOPT_READFUNCTION [193]
	 o writeout: add %time{} [74]
      bugfixes:
	 o _PROTOCOLS.md: mention file:// is only for absolute paths [102]
	 o acinclude: --with-ca-fallback only works with OpenSSL [217]
	 o alpn: query filter [104]
	 o ares: destroy channel on shutdown [178]
	 o ares: use `ares_strerror()` to retrieve error messages [236]
	 o asyn-thrdd: fix --disable-socketpair builds [235]
	 o asyn-thrdd: fix Curl_async_pollset without socketpair [205]
	 o asyn-thrdd: fix no `HAVE_GETADDRINFO` builds [214]
	 o asyn-thrdd: manage DEFERRED and locks better [228]
	 o autotools: make curl-config executable [253]
	 o aws-lc: do not use large buffer [250]
	 o BINDINGS.md: add LibQurl [156]
	 o bufq: add integer overflow checks before chunk allocations [108]
	 o bufq: removed "Useless Assignment" [188]
	 o bufq: simplify condition [207]
	 o build: allow libtests/clients to use libcurl dependencies directly [87]
	 o build: disable `TCP_NODELAY` for emscripten [176]
	 o build: enable _GNU_SOURCE on GNU/Hurd [27]
	 o build: extend GNU C guards to clang where applicable, fix fallouts [61]
	 o build: fix build errors/warnings in rare configurations [7]
	 o build: fix disable-verbose [48]
	 o build: fix mingw-w64 version guard for mingw32ce [124]
	 o build: if no perl, fix to use the pre-built hugehelp, if present [144]
	 o build: link to Apple frameworks required by static wolfSSL [40]
	 o build: support LibreSSL native crypto lib with ngtcp2 1.15.0+ [209]
	 o build: tidy up compiler definition for tests [37]
	 o cf-https-connect: delete unused declaration [15]
	 o clang-tidy: disable `clang-analyzer-security.ArrayBound` [265]
	 o cmake: `CURL_CA_FALLBACK` only works with OpenSSL [215]
	 o cmake: capitalize 'Rustls' in the config summary
	 o cmake: defer building `unitprotos.h` till a test target needs it [75]
	 o cmake: define `WIN32_LEAN_AND_MEAN` for examples [159]
	 o cmake: drop redundant unity mode for `curlinfo` [155]
	 o cmake: enable `-Wall` for MSVC 1944 [128]
	 o cmake: fix `ENABLE_UNIX_SOCKETS=OFF` with pre-fill enabled on unix
	 o cmake: fix setting LTO properties on the wrong targets [258]
	 o cmake: fix to disable Schannel and SSPI for non-Windows targets
	 o cmake: fix to restrict `SystemConfiguration` to macOS [139]
	 o cmake: honor `CMAKE_C_FLAGS` in test 1119 and 1167 [206]
	 o cmake: improve error message for invalid HTTP/3 MultiSSL configs [187]
	 o cmake: keep websockets disabled if HTTP is disabled
	 o cmake: make `runtests` targets build the curl tool [32]
	 o cmake: make the ExternalProject test work [183]
	 o cmake: omit linking duplicate/unnecessary libs to tests & examples [45]
	 o cmake: re-add simple test target, and name it `tests` [142]
	 o cmake: set `CURL_DIRSUFFIX` automatically in multi-config builds [154]
	 o CODE_STYLE: sync with recent `checksrc.pl` updates [49]
	 o config-win32.h: do not use winsock2 `inet_ntop()`/`inet_pton()` [58]
	 o configure: if no perl, disable unity and shell completion, related tidy ups
		      [137]
	 o configure: tidy up internal names in ngtcp2 ossl detection logic [212]
	 o connectdata: remove primary+secondary ip_quadruple [126]
	 o connection: terminate after goaway [62]
	 o contrithanks: fix for BSD `sed` tool [98]
	 o cookie: don't treat the leading slash as trailing [185]
	 o cookie: remove expired cookies before listing [158]
	 o curl-config: remove X prefix use [138]
	 o curl/system.h: fix for GCC 3.3.x and older [38]
	 o curl: make the URL indexes 64 bit [117]
	 o curl: tool_read_cb fix of segfault [18]
	 o curl_addrinfo: drop workaround for old-mingw [14]
	 o curl_easy_ssls_export: make the example more clear [78]
	 o curl_fnmatch, servers: drop local macros in favour of `sizeof()` [21]
	 o curl_mime_data_cb.md: mention what datasize is for [107]
	 o curl_ossl: extend callback table for nghttp3 1.11.0 [46]
	 o curl_setup.h: include `stdint.h` earlier [260]
	 o curl_setup.h: move UWP detection after `config-win32.h` (revert) [51]
	 o curl_setup.h: move UWP detection after `config-win32.h` [23]
	 o CURLINFO_FILETIME*.md: correct the examples [242]
	 o CURLOPT: bump `CURL_REDIR_*` macros to `long` [110]
	 o CURLOPT: bump `CURL_SSLVERSION_*` macros to `long` [149]
	 o CURLOPT: bump `CURLALTSVC_*` macros to `long` [96]
	 o CURLOPT: bump `CURLFTP*` enums to `long`, drop casts [54]
	 o CURLOPT: bump `CURLHEADER_*` macros to `long`, drop casts [94]
	 o CURLOPT: bump `CURLPROTO_*` macros to `long` [148]
	 o CURLOPT: bump `CURLPROXY_*` enums to `long`, drop casts [95]
	 o CURLOPT: bump `CURLWS_NOAUTOPONG`, `CURLWS_RAW_MODE` macros to `long` [150]
	 o CURLOPT: bump remaining macros to `long` [147]
	 o CURLOPT: drop redundant `long` casts [55]
	 o CURLOPT: replace `(long)` cast with `L` suffix for `CURLHSTS_*` macros
	 o CURLOPT_HTTP_VERSION: mention new default value [179]
	 o CURLOPT_SSL_CTX_*: replace the base64 with XXXX [171]
	 o delta: fix warnings, fix for non-GNU `date` tool [99]
	 o DEPRECATE.md: drop old OpenSSL versions [266]
	 o DEPRECATE.md: drop support for c-ares versions before 1.16.0 [191]
	 o DEPRECATE.md: drop support for Windows XP/2003 [31]
	 o DEPRECATE.md: remove leftover "nothing" [57]
	 o DISTROS.md: add Haiku [39]
	 o docs/cmdline-opts: the auth types are not mutually exclusive [103]
	 o docs: add CURLOPT type change history, drop casts where present [143]
	 o docs: add major incident section to vuln disclosure policy [271]
	 o docs: fix link CONTRIBUTE.md link [192]
	 o docs: fix name in curl_easy_ssls_export man page [12]
	 o docs: fix typo (staring -> starting) [211]
	 o docs: point two broken links to archive.org [134]
	 o docs: put `<>` within backticks in titles [261]
	 o doh: rename symbols to avoid collision with mingw-w64 headers [66]
	 o easy handle: check validity on external calls [28]
	 o examples: drop long cast for `CURLALTSVC_*`
	 o examples: make `CURLPIPE_MULTIPLEX` fallback `long` [233]
	 o examples: remove base64 encoded chunks from examples [189]
	 o examples: remove href_extractor.c [186]
	 o ftp: store dir components as start+len instead of memdup'ing [198]
	 o ftp: use 'conn' instead of 'data->conn' [208]
	 o gnutls: fix building with older supported GnuTLS versions [241]
	 o gnutls: some small cleanups [41]
	 o hmac: return error if init fails [2]
	 o hostip: do DNS cache pruning in milliseconds [132]
	 o HTTP3.md: avoid `configure` issue for ngtcp2 1.14.0+ compatibility [182]
	 o http: const up readonly H2_NON_FIELD [10]
	 o http: do the cookie list access under lock [270]
	 o http: silence `-Warray-bounds` with gcc 13+ [44]
	 o idn: reject conversions that end up as a zero length hostname [273]
	 o inet_pton, inet_ntop: drop declarations when unused [59]
	 o lib1560: fix memory leak when run without UTF-8 support [17]
	 o lib1560: replace an `int` with `bool` [97]
	 o lib2700: use `testnum` [151]
	 o lib517: use `LL` 64-bit literals & re-enable a test case (`time_t`) [100]
	 o lib: drop `UNUSED_PARAM` macro [259]
	 o libcurl: reset rewind flag in curl_easy_reset() [184]
	 o libssh: Use sftp_aio instead of sftp_async for sftp_recv [92]
	 o libtests: update format strings to avoid casts, drop some macros [109]
	 o libtests: use `FMT_SOCKET_T`, drop more casts [136]
	 o managen: reset text mode at end of table marker [145]
	 o mbedtls: check for feature macros instead of version [166]
	 o mdlinkcheck: handle links with a leading slash properly [195]
	 o memanalyze: fix warnings [22]
	 o memory: make function overrides work reliably in unity builds [93]
	 o multi event: remove only announced [25]
	 o multi: don't insert a node into the splay tree twice [68]
	 o multi: fix assert in multi_getsock() [53]
	 o multi: fix bad splay management [133]
	 o multi: process pending, one by one [90]
	 o multi: replace remaining EXPIRE_RUN_NOW [67]
	 o multissl: initialize when requesting a random number [30]
	 o ngtcp2: extend callback tables for nghttp3 1.11.0 and ngtcp2 1.14.0 [47]
	 o ngtcp2: handshake timeout should be equal to --connect-timeout [262]
	 o ngtcp2: use custom mem funcs [204]
	 o openldap: fix `-Wtentative-definition-compat` [268]
	 o openssl: add and use `HAVE_BORINGSSL_LIKE` internal macro [222]
	 o openssl: add and use `HAVE_OPENSSL3` internal macro [223]
	 o openssl: assume `OPENSSL_VERSION_NUMBER` [181]
	 o openssl: auto-pause on verify callback retry [167]
	 o openssl: check SSL_write() length on retries [152]
	 o openssl: clear errors after a failed `d2i_X509()` [161]
	 o openssl: drop more legacy cruft [224]
	 o openssl: drop redundant `HAVE_OPENSSL_VERSION` macro [221]
	 o openssl: drop redundant version check [246]
	 o openssl: drop single-use interim macro `USE_OPENSSL_SRP` [201]
	 o openssl: enable `HAVE_KEYLOG_CALLBACK` for AWS-LC [220]
	 o openssl: merge two `#if` blocks [218]
	 o openssl: output unescaped utf8 x509 issuer/subject DNs [169]
	 o openssl: remove legacy cruft, document macro guards [231]
	 o openssl: save and restore OpenSSL error queue in two functions [172]
	 o openssl: some small cleanups [42]
	 o openssl: split cert_stuff into smaller sub functions [72]
	 o openssl: sync an AWS-LC guard with BoringSSL [199]
	 o openssl: use `RSA_flags()` again with BoringSSL [219]
	 o parallel-max: bump the max value to 65535 [86]
	 o parsedate: make Curl_getdate_capped able to return epoch [229]
	 o processhelp.pm: fix to use the correct null device on Windows [164]
	 o processhelp.pm: use `Win32::Process*` perl modules if available [200]
	 o projects: drop unused logic from `generate.bat` [157]
	 o projects: fix Windows project 'clean' function [203]
	 o pytest: add SOCKS tests and scoring [9]
	 o pytest: fix test_17_09_ssl_min_max for BoringSSL [197]
	 o pytest: increase server KeepAliveTimeout [26]
	 o pytest: relax error check on test_07_22 [16]
	 o resolving: dns error tracing [196]
	 o runtests: assume `Time::HiRes`, drop Perl Win32 dependency [163]
	 o runtests: remove warning message [230]
	 o runtests: replace `--ci` with `--buidinfo`, show OS/Perl version again [247]
	 o runtests: show still running tests when nothing has happened for a while [227]
	 o schannel: add an error message for client cert not found [165]
	 o schannel: assume `CERT_CHAIN_REVOCATION_CHECK_CHAIN` [114]
	 o schannel: drop fallbacks for 4 macros [121]
	 o schannel: drop fallbacks for unused `BCRYPT_*` macros [122]
	 o schannel: drop old-mingw special case [77]
	 o schannel: fix recent update for mingw32ce [123]
	 o schannel: fix renegotiation [202]
	 o schannel: improve handshake procedure [239]
	 o schannel: not supported with UWP, drop redundant code [105]
	 o schannel: use if(result) like the code style says [125]
	 o scripts: enable strict warnings in Perl where missing, fix fallouts [63]
	 o scripts: fix two Perl uninitialized value warnings [60]
	 o sendf: getting less data than "max allowed" is okay [170]
	 o servers: convert two macros to scoped static const strings [89]
	 o setopt: refactor out the booleans from setopt_long to setopt_bool [83]
	 o setopt: split out cookielist() and cookiefile() [130]
	 o socks: do_SOCKS5: Fix invalid buffer content on short send [43]
	 o socks_sspi: simplify, clean up Curl_SOCKS5_gssapi_negotiate [237]
	 o spacecheck.pl: when detecting unicode, mention line number [85]
	 o spacecheck: warn for 3+ empty lines in a row, fix fallouts [240]
	 o spelling: file system [232]
	 o test1148: drop redundant `LC_NUMBER=` env setting [13]
	 o test1557: pass `long` type to `multi_setopt()` [234]
	 o test1560: set locale/codeset with `LC_ALL` (was: `LANG`), test in CI [19]
	 o test1560: skip some URLs if UTF-8 is not supported [34]
	 o test1: raise alloc limits [11]
	 o test428: re-enable for Windows [5]
	 o test436: fix running on Windows with `_curlrc` present [153]
	 o test: add `cygwin` feature and use it (test 1056, 1517) [249]
	 o tests/ech_tests.sh: indent, if/for style, inline ifs [131]
	 o tests: constify command-line arguments [82]
	 o tests: delete unused commands [177]
	 o tests: drop unused `BLANK` envs, unset `CURL_NOT_SET` [248]
	 o tests: drop unused `CURL_FORCEHOST` envs [36]
	 o tests: fix perl warnings in http2-server, http3-server [119]
	 o tests: fix prechecks to call the bundle libtest tool [120]
	 o tests: fix UTF-8 detection, per-test `LC_*` settings, CI coverage [6]
	 o tests: merge clients into libtests, drop duplicate code [76]
	 o tests: remove the QUIT filters [210]
	 o tests: set `CURL_ENTROPY` per test, not globally [35]
	 o tests: unset some envs instead of blanking them [4]
	 o threaded-resolver: fix shutdown [252]
	 o tidy-up: `Curl_thread_create()` callback return type [20]
	 o tidy-up: move literal to the right side of comparisons [65]
	 o tidy-up: prefer `ifdef`/`ifndef` for single checks [64]
	 o tls: CURLINFO_TLS_SSL_PTR testing [79]
	 o TODO: remove session export item [194]
	 o TODO: remove the expand ~ idea [216]
	 o tool_cb_wrt: stop alloc/free for every chunk windows console output [140]
	 o tool_filetime: accept setting negative filetime [256]
	 o tool_getparam: let --trace-config override -v [238]
	 o tool_getparam: warn on more unicode prefixes [275]
	 o tool_operate: avoid superfluous strdup'ing output [1]
	 o tool_operate: use stricter curl_multi_setopt() arguments [225]
	 o tool_operate: use the correct config pointer [115]
	 o tool_paramhlp: fix secs2ms() [116]
	 o tool_parsecfg: use dynbuf for quoted arguments [162]
	 o tool_urlglob: add integer overflow protection [244]
	 o tool_urlglob: polish, cleanups, improvements [141]
	 o typecheck-gcc: add type checks for curl_multi_setopt() [226]
	 o unit-tests: build the unitprotos.h from here [73]
	 o unit2604: avoid `UNCONST()` [135]
	 o URL-SYNTAX.md: drop link to codepoints.net to pass linkcheck [190]
	 o urlapi: allow more path characters "raw" when asked to URL encode [146]
	 o urldata: reduce two long struct fields to unsigned short [174]
	 o urlglob: only accept 255 globs
	 o vquic-tls: fix SSL backend type for QUIC connections using gnutls [29]
	 o vquic: replace assert [254]
	 o vquic: use curl_getenv [168]
	 o vtls: set seen http version on successful ALPN [160]
	 o websocket example: cast print values to unsigned int [251]
	 o websocket: handling of PONG frames [213]
	 o websocket: improve handling of 0-len frames [269]
	 o websocket: reset upload_done when sending data [245]
	 o windows: assume `ADDRESS_FAMILY`, drop feature checks [88]
	 o windows: document toolchain support for `CERT_NAME_SEARCH_ALL_NAMES_FLAG`
	 o windows: document toolchain support for some macros (cont.) [111]
	 o windows: document toolchain support for some macros [113]
	 o windows: drop `CRYPT_E_*` macro fallbacks, limit one to mingw32ce [118]
	 o windows: drop two interim, single-use macros [106]
	 o windows: drop unused `curlx/version_win32.h` includes [52]
	 o windows: fix `if_nametoindex()` detection with autotools, improve with
		    cmake [24]
	 o windows: include `wincrypt.h` before `iphlpapi.h` for mingw-w64 <6 [50]
	 o windows: target version macro tidy-ups [3]
	 o wolfssl: rename ML-KEM hybrids to match IETF draft [173]
	 o write-out.md: header_json is not included the json object [243]
	 o ws: avoid NULL pointer deref in curl_ws_recv [91]
	 o ws: get a new mask for each new outgoing frame [255]

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/common/curl | 8 ++++++++
 lfs/curl                     | 4 ++--
 2 files changed, 10 insertions(+), 2 deletions(-)
  

Patch

diff --git a/config/rootfiles/common/curl b/config/rootfiles/common/curl
index ad9f8397b..42ad12a98 100644
--- a/config/rootfiles/common/curl
+++ b/config/rootfiles/common/curl
@@ -100,6 +100,11 @@  usr/lib/libcurl.so.4.8.0
 #usr/share/man/man3/CURLINFO_TOTAL_TIME_T.3
 #usr/share/man/man3/CURLINFO_USED_PROXY.3
 #usr/share/man/man3/CURLINFO_XFER_ID.3
+#usr/share/man/man3/CURLMINFO_XFERS_ADDED.3
+#usr/share/man/man3/CURLMINFO_XFERS_CURRENT.3
+#usr/share/man/man3/CURLMINFO_XFERS_DONE.3
+#usr/share/man/man3/CURLMINFO_XFERS_PENDING.3
+#usr/share/man/man3/CURLMINFO_XFERS_RUNNING.3
 #usr/share/man/man3/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3
 #usr/share/man/man3/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3
 #usr/share/man/man3/CURLMOPT_MAXCONNECTS.3
@@ -107,6 +112,7 @@  usr/lib/libcurl.so.4.8.0
 #usr/share/man/man3/CURLMOPT_MAX_HOST_CONNECTIONS.3
 #usr/share/man/man3/CURLMOPT_MAX_PIPELINE_LENGTH.3
 #usr/share/man/man3/CURLMOPT_MAX_TOTAL_CONNECTIONS.3
+#usr/share/man/man3/CURLMOPT_NETWORK_CHANGED.3
 #usr/share/man/man3/CURLMOPT_PIPELINING.3
 #usr/share/man/man3/CURLMOPT_PIPELINING_SERVER_BL.3
 #usr/share/man/man3/CURLMOPT_PIPELINING_SITE_BL.3
@@ -481,6 +487,7 @@  usr/lib/libcurl.so.4.8.0
 #usr/share/man/man3/curl_multi_cleanup.3
 #usr/share/man/man3/curl_multi_fdset.3
 #usr/share/man/man3/curl_multi_get_handles.3
+#usr/share/man/man3/curl_multi_get_offt.3
 #usr/share/man/man3/curl_multi_info_read.3
 #usr/share/man/man3/curl_multi_init.3
 #usr/share/man/man3/curl_multi_perform.3
@@ -517,6 +524,7 @@  usr/lib/libcurl.so.4.8.0
 #usr/share/man/man3/curl_ws_meta.3
 #usr/share/man/man3/curl_ws_recv.3
 #usr/share/man/man3/curl_ws_send.3
+#usr/share/man/man3/curl_ws_start_frame.3
 #usr/share/man/man3/libcurl-easy.3
 #usr/share/man/man3/libcurl-env-dbg.3
 #usr/share/man/man3/libcurl-env.3
diff --git a/lfs/curl b/lfs/curl
index 9671a0cf4..e999ed3e6 100644
--- a/lfs/curl
+++ b/lfs/curl
@@ -24,7 +24,7 @@ 
 
 include Config
 
-VER        = 8.15.0
+VER        = 8.16.0
 
 THISAPP    = curl-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@  objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = ae809be87f34d079413129c27e618a6d15c2bf9087fd7e679cefe9b6d8645f0dd092e8c3e1f62b7bd0dffdd0b77e0bc5ac031ffce4e50060ec20b280618c8e68
+$(DL_FILE)_BLAKE2 = 573d56779481abf0b7d20225bba4f068cb726f23f69ce10076438e32cc6c16d1229c211aee05fc5e3e9cb9d78bbfdc5da0d8b73e730c0865879000eb90accf6a
 
 install : $(TARGET)