]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
curl: Update to version 8.13.0
authorAdolf Belka <adolf.belka@ipfire.org>
Sun, 11 May 2025 10:12:56 +0000 (12:12 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 12 May 2025 14:41:27 +0000 (14:41 +0000)
- Update from version 8.11.0 to 8.13.0
- Update of rootfile
- Knock on effect of this update is to require a newer version of cmake due to changes
   in some variable from curl that cmake uses.
- This therefore the first of a patch set.
- Changelog
    8.13.0
Changes:
    curl: add write-out variable 'tls_earlydata'
    curl: make --url support a file with URLs
    gnutls: set priority via --ciphers
    IMAP: add CURLOPT_UPLOAD_FLAGS and --upload-flags
    lib: add CURLFOLLOW_OBEYCODE and CURLFOLLOW_FIRSTONLY
    OpenSSL/quictls: add support for TLSv1.3 early data
    rustls: add support for CERTINFO
    rustls: add support for SSLKEYLOGFILE
    rustls: support ECH w/ DoH lookup for config
    rustls: support native platform verifier
    var: add a '64dec' function that can base64 decode a string
    wolfssl: tls early data support
Bugfixes:
    addrinfo: add curl macro to avoid redefining foreign symbols
    asyn-thread: avoid the separate 'struct resdata' alloc
    asyn-thread: avoid the separate curl_mutex_t alloc
    asyn-thread: do not allocate thread_data separately
    asyn-thread: remove 'status' from struct Curl_async
    autotools: fix `dllmain.c` in unity builds
    autotools: fix `libtest` bundle to depend on `FIRSTFILES`
    autotools: use `CURLDEBUG` to exclude TrackMemory code from unity
    aws_sigv4: cannot be used for proxy
    aws_sigv4: merge repeated headers in canonical request
    aws_sigv4: use strparse more for parsing
    base64: drop `BUILDING_CURL` macro, always include in tests/server
    build: add Windows CE / CeGCC support, with CI jobs
    build: cmake multi-pkg-config detection improvements (brotli, ldap, mbedtls)
    build: do not apply curl debug macros to `tests/server` by default
    build: drop unused `getpart` tool
    build: enable -Wjump-misses-init for GCC 4.5+
    build: enable `-Wcast-qual`, fix or silence compiler warnings
    build: fix compiler warnings in feature detections
    build: replace Curl_ prefix with curlx_ for functions used in servers
    build: set `-O3` and tune WinCE in CI, fix `getpart`, `vtls_scache` fallouts
    build: set `HAVE_STDINT_H` if `stdint.h` is available
    build: set `HAVE_WRITABLE_ARGV` for Apple cross-builds
    build: silence bogus `-Wconversion` warnings with gcc 5.1-5.4
    build: silence mingw32ce C99 format warnings, simplify CI
    build: tidy-ups around `inet_pton`
    c-ares httpsrr: fix ifdef
    c-ares: error out for unsupported versions, drop unused macros
    ca-native.md: sync with CURLSSLOPT_NATIVE_CA
    cf-socket: deduplicate Windows Vista detection
    cf-socket: remove empty switch
    client writer: handle pause before decoding
    cmake: `CURL_LIBDIRS` improvements (upstreamed from vcpkg)
    cmake: `SHARE_LIB_OBJECT=ON` requires CMake 3.12 or newer
    cmake: add custom command scripts as dependencies where missing
    cmake: add pre-fill for Unix, enable in GHA/macos, verify pre-fills
    cmake: add shell completion support
    cmake: allow `CURL_STATIC_CRT` with shared libcurl and no curl exe
    cmake: allow `CURL_STATIC_CRT` with UCRT VS2015+ builds
    cmake: allow empty `IMPORT_LIB_SUFFIX`, add suffix collision detection
    cmake: avoid `-Wnonnull` warning in `HAVE_FSETXATTR_5` detection
    cmake: disable HTTPS-proxy as a feature if proxy is disabled
    cmake: drop `CURL_DISABLE_TESTS` option
    cmake: drop `HAVE_C_FLAG_Wno_long_double` logic for ancient Apple gcc
    cmake: drop `HAVE_IN_ADDR_T` from pre-fill too
    cmake: drop two stray TLS feature checks for wolfSSL
    cmake: exclude `-MP` for `clang-cl` again
    cmake: fix `HAVE_ATOMIC`/`HAVE_STDATOMIC` pre-fill for clang-cl
    cmake: fix clang-tidy builds to verify tests, fix fallouts
    cmake: fix detection pre-fills for iOS
    cmake: fix ECH detection in custom-patched OpenSSL
    cmake: fix typo in ECH config error msg
    cmake: hide empty `MINGW64_VERSION` output for mingw32ce
    cmake: improve httpd detection for pytest
    cmake: mention 'insecure' in the debug build warning
    cmake: misc tidy-ups
    cmake: pre-fill known type sizes for Windows OSes
    cmake: replace CMAKE_COMPILER_IS_GNUCC with CMAKE_C_COMPILER_ID
    cmake: replace exec_program() with execute_process()
    cmake: restrict static CRT builds to static curl exe, test in CI
    cmake: sync cutoff version with autotools for picky option `-ftree-vrp`
    cmake: sync OpenSSL(-fork) feature checks with `./configure`
    cmake: unity mode optimization for non-`CURLDEBUG` `testdeps` targets
    CODE_STYLE: readability and banned functions
    config-win32: set `HAVE_STDINT_H` where available
    configure: call the blocking resolver "blocking", not "default"
    configure: fix ECH detection with MultiSSL
    configure: silence compiler warnings in feature checks, drop duplicates
    configure: tidy up shell completion rules
    configure: use `curl_cv_apple` variable
    conn: eliminate `conn->now`
    conn: fix connection reuse when SSL is optional
    conncache: eliminate `conn->destination_len` as premature optimization
    contributors.sh: lowercase 'github' for consistency
    contrithanks.sh: update docs/THANKS in place
    cookie: do prefix matching case-sensitively
    cookie: minor parser simplification
    cookie: simplify invalid_octets()
    core: stop redefining `E*` macros on Windows, map `EACCES`, related fixes
    curl.h: change some enums to defines with L suffix
    curl.h: convert CURLUSESSL* names to defines
    curl.h: stop defining non-curl `__has_declspec_attribute`
    curl.h: switch `CURL_HTTP_VERSION*` enums to long constants
    curl/system.h: drop leftover comment about 32 bit curl_off_t
    curl: add my_setopt_long() and _offt()
    curl_msh3: remove verify bypass from DEBUGBUILDs
    curl_setup: drop `ERANGE` (for WinCE), no longer used
    curl_setup_once: drop `E*` macro redefines unused (with winsock2)
    curl_setup_once: stop redefining `ENAMETOOLONG` to winsock2 error code
    curl_trc: fix build with CURL_DISABLE_VERBOSE_STRINGS
    curl_ws_recv.md: expand a little on the fragments the API delivers
    CURLMOPT_SOCKETFUNCTION.md: add advice for socket callback invocation
    CURLOPT_HTTPHEADER.md: add comments to the example
    CURLOPT_HTTPHEADER.md: rephrases
    curltime: use libcurl time functions in src and tests/server
    DISABLED: add 313 for sectransp (move from GHA/macos)
    docs/cmdline-opts: use imperative form
    docs: adapt to removed --with-random
    docs: add FD_ZERO to curl_multi_fdset example
    docs: bump `rustls` to 0.14.1
    docs: correct argument names & URL redirection
    docs: minor edits to please the new spellchecker regime
    docs: rework RUSTLS install instructions
    docs: unify HTTP version style in --help output
    docs: vulnerabilities in debug code are not eligible for a bounty
    doh: improve HTTPS RR svcparams parsing
    doh: remove wrong but unreachable exit path from doh_decode_rdata_name
    dynbuf: assert init on free
    easy: drop `break` after `return`
    easy: fix warning about possible comma misuse
    eventfd: allow use on all CPUs
    examples: prefer `return` over `exit()` (cont.)
    ftp/sftp: strdup data info memory
    ftp: fix comment
    gnutls: fix connection state check on handshake
    gnutls: fix use of pkcs11 urls for keys/certs
    gtls: fix uninitialized variable
    hash: use single linked list for entries
    hostip: don't use alarm() for DoH resolves
    hostip: make CURLOPT_RESOLVE support replacing IPv6 addresses
    http2: add on_invalid_frame callback for error detection
    http2: detect session being closed on ingress handling
    http2: enhance error messages on Curl_dyn* upon receiving headers
    http2: fix stream assignemnt for pushes
    http2: reset stream on response header error
    HTTP3.md: only speak about minimal versions
    http: convert parsers to strparse
    http: fix NTLM info message typo
    http: fix the auth check
    http: make the RTSP version check stricter
    http: negotiation and room for alt-svc/https rr to navigate
    http: remove a HTTP method size restriction
    http: version negotiation
    http_chunks: replace a strofft call with curl_str_hex
    https-rr: implementation improvements
    httpsrr: fix port detection
    httpsrr: fix the HTTPS-RR threaded-resolver build combo
    INFRASTRUCTURE.md: add IRC and Matrix details
    INSTALL-CMAKE.md: CMake usage updates
    INSTALL-CMAKE.md: mention `ZLIB_USE_STATIC_LIBS`
    lib1156: pass longs to `curl_easy_setopt()`
    lib1560: test set path containing LR or CR
    lib2302: fix crash due to stack overflow on MSVC and clang Windows
    lib696: fix building on Windows in non-bundle mode
    lib: better optimized casecompare() and ncasecompare()
    lib: clear up CURLRES_ASYNCH vs USE_CURL_ASYNC use
    lib: fix two curlx_strtoofft invokes
    lib: rename curlx_strtoofft to Curl_str_numblanks()
    lib: replace while(ISBLANK()) loops with Curl_str_passblanks()
    lib: simplify more white space loops
    lib: strtoofft.h header cleanup
    lib: use Curl_str_* instead of strtok_r()
    lib: use Curl_str_number() for parsing decimal numbers
    libssh2: fix freeing of resources in disconnect
    libssh2: fix memory leak in `SSH_SFTP_REALPATH` state
    libssh2: fix to ignore `known_hosts` if SHA256 host public key is set
    libssh2: print user with verbose flag
    libssh2: show crypto backend in the verbose connect log
    libssh: fix freeing of resources in disconnect
    libssh: fix scp large file upload for 32-bit size_t systems
    libtest/first.c: remove the Test: stderr output for unity builds
    libtest/libprereq.c: set CURLOPT_FOLLOWLOCATION with a long
    managen: accept more markdown-quote-markers
    managen: correct the warning for un-escaped '<' and '>'
    mbedtls: re-enable an error check
    memdebug.h: avoid `-Wredundant-decls` with an extra guard
    memdebug: drop dynamic allocation from `curl_dbg_log()`
    mprintf: switch three number parsers to use strparse
    mqtt: convert sendleftovers to dynbuf
    msvc: drop support for VS2005 and older
    multi: call protocol handler done() if PROTOCONNECT or later
    multi: event based rework
    multi: kill off remaining internal handles in curl_multi_cleanup
    multi: start the loop over when handles are removed
    multi_ev: fixes regarding connection shutdowns
    ngtcp2: do not iterate over multi handles
    ntlm: merge ntlm.h into ntlm.c
    openssl-quic: do not iterate over multi handles
    openssl: check return value of X509_get0_pubkey
    openssl: drop support for old OpenSSL/LibreSSL versions
    openssl: fix crash on missing cert password
    openssl: fix pkcs11 URI checking for key files.
    openssl: remove bad `goto`s into other scope
    prox/preproxy.md: document argument within <brackets>
    pytest: test negotiate with http proxy
    quiche: do not iterate over multi handles
    RELEASE-PROCEDURE.md: explain release candidates
    request: clear sendbuf_hds_len when resetting request bufq
    resolve: fix building without Unix sockets and `CURLDEBUG`
    runtests: accept `CURL_DIRSUFFIX` without ending slash
    runtests: add feature-based filtering
    runtests: check and report if `diff` tool is missing
    runtests: drop logic calling the `handle` tool (Windows)
    runtests: drop recognizing 'winssl' as Schannel
    runtests: drop ref to unused external function
    runtests: fix bundled test invocation with `-g` option
    runtests: fix SSH server not starting in cases, re-ignore failing vcpkg CI jobs
    runtests: fix test key format for libssh2 WinCNG (and others)
    runtests: generate certs dynamically, bump to EC-256, tidy up
    runtests: recognize AWS-LC as OpenSSL
    runtests: rewrite `genserv.sh` in Perl
    runtests: support multi-target cmake, drop workarounds from CI
    runtests: support running tests under wine or qemu (cont.)
    runtests: support running tests under wine or qemu
    runtests: use `setfacl` on Cygwin/MSYS, if present
    rustls: add ECH support w/ string ECH config
    rustls: cap maximum allowed CRL file size to 8MB
    rustls: support ECH GREASE
    rustls: use client cert and key if available
    schannel: deduplicate Windows Vista detection
    schannel: enable ALPN support under WINE 6.0+
    schannel: enable ALPN with MinGW, fix ALPN for UWP builds
    schannel: guard ALPN init code to ALPN builds
    scripts/managen: fix option 'single'
    scripts/managen: fix parsing of markdown code sections
    scripts: update completion.pl to parse options from docs
    sectransp: add support for HTTP/2 in gcc builds
    sendf: client reader line conversion: do not change data->state.infilesize
    setopt: illegal CURLOPT_SOCKS5_AUTH should return error
    setopt: remove unnecessary void pointer typecasts
    setopt: setting PROXYUSERPWD after PROXYUSERNAME/PASSWORD is fine
    shutdowns: split shutdown handling from connection pool
    socks: remove bad assert from do_SOCKS5()
    src: avoid strdup on platforms not doing UTF-8 conversions
    src: cleanup ISBLANK vs ISSPACE
    src: remove Curl_ prefix from tool-specific function
    src: remove final uses of Curl_ symbol prefixes in tool code
    src: replace strto[u][ld] with curlx_str_ parsers
    ssh: consider sftp quote commands case sensitive
    sshserver.pl: adjust `AuthorizedKeysFile2` cutoff version
    sshserver.pl: use Perl `chmod`
    sshserver: fix excluding obsolete client config lines
    ssl session cache: add exportable flag
    SSLCERTS: list support for SSL_CERT_FILE and SSL_CERT_DIR
    strparse: make Curl_str_number() return error for no digits
    strparse: switch the API to work on 'const char *'
    strparse: switch to curl_off_t as base data type
    test1022: add support for rc releases
    test1167: catch #defines with extra whitespace
    test313: disable CRL test for Schannel due to lack of support and flakiness
    test313: disable via `<features>` for backends without CRL support
    test489: set output dir
    test612: SCP `rm` the uploaded remote file (not the local source), unignore in CI
    test613: make it pass on Windows, fix postprocess, unignore in CI
    test615: fix for Cygwin, unignore in CI
    tests/certs: cleanup
    tests/server: drop unused `base64.pl`
    tests/server: fix to check against winsock2 error codes on Windows
    tests/server: give global `path` variable a more descriptive name
    tests/server: make the signal handler signal-safe
    tests/server: replace `errno` with `SOCKERRNO` in sockfilt, socksd, sws
    tests/server: replace `strerror` with `sstrerror` in socksd
    tests/server: support bundle binary
    tests/server: sync `wait_ms()` with the libcurl implementation
    tests/server: use `curlx_str_numblanks()` to avoid `errno`
    tests/servers.pm: remove unused variable 'portrange'
    tests: build non-debug unit tests with autotools, run them
    tests: fix comment in lib533
    tests: fix enum/int confusion, fix autotools `CFLAGS` for `servers`
    tests: make sure 'commands.log' is generated in the correct logdir
    tests: mark tests 1631, 1632 flaky
    tests: reformat error messages to avoid tripping MSBuild
    tests: remove base64 encoded sections
    tests: Remove unused variables
    tests: replace remaining non-ASCII bytes with hex markup
    tftpd: prefix TFTP protocol error `E*` constants with `TFTP_`
    tidy-up: align MSYS2/Cygwin codepaths, follow Cygwin `MAX_PID` bump
    tidy-up: delete, comment or scope C macros reported unused
    tidy-up: drop unused `CURL_INADDR_NONE` macro and `in_addr_t` type
    tidy-up: use `CURL_ARRAYSIZE()`
    timediff: fix comment for curlx_mstotv()
    timediff: remove unnecessary double typecast
    tool_dirhie: create dir hierarchy without strtok
    tool_getparam: clear sensitive arguments better
    tool_getparam: do parse_upload_flags without the alloc/free
    tool_getparam: parse --trace-config without strdup()/free()
    tool_getparam: parse_header() without strtok
    tool_operate: change "1 retries" to "1 retry"
    tool_operate: fail SSH transfers without server auth
    tool_operate: fix pluralization of seconds
    tool_operate: remove unnecessary (long) typecasts
    tool_paramhlp: do --proto parsing without strtok
    tool_parsecfg: make my_get_line skip comments and newlines
    tool_setopt: reduce use of "code hiding" macros
    url: call protocol handler's disconnect in Curl_conn_free
    urlapi: fix redirect from file:// with query, and simplify
    urlapi: remove percent encoded dot sequences from the URL path
    urlapi: simplify junkscan
    urldata: remove 'hostname' from struct Curl_async
    variable.md: clarify 'trim' example
    vquic: obey IOV_MAX
    vtls: fix compiler warnings seen with gcc 7.3.0 and mbedTLS
    winbuild: reduce command-line length by dropping whitespace
    windows: do not use winsock2 `inet_ntop()`/`inet_pton()`
    windows: drop code and curl manifest targeting W2K and older
    windows: fix issues detected by clang-tidy, and some more
    wolfssh: fix freeing of resources in disconnect
    wolfssh: retrieve the error using wolfSSH_get_error
    wolfssl: fix CA certificate multiple location import
    wolfssl: fix unused variable warning
    wolfssl: warn if CA native import option is ignored
    wolfssl: when using PQ KEM, use ML-KEM, not Kyber
    ws: corrected curlws_cont to reflect its documented purpose
    ws: fix and extend CURLWS_CONT handling
    zlib: bump minimum to 1.2.5.2 (was: 1.2.0.4)
    8.12.1
Bugfixes:
    all: remove FIXME and TODO comments
    asyn-thread: fix build with `CURL_DISABLE_SOCKETPAIR`
    asyn-thread: fix HTTPS RR crash
    asyn-thread: fix the returned bitmask from Curl_resolver_getsock
    asyn-thread: survive a c-ares channel set to NULL
    build: add tool_hugehelp.c into IBMi build
    checksrc.pl: warn on FIXME/TODO comments
    cmake/Find: set `<Modulename>_FOUND` for compatibility when found via
     `pkg-config`
    cmake: add integration tests, run them in CI
    cmake: always reference OpenSSL and ZLIB via imported targets
    cmake: avoid unnecessary `-L` for implicit link dirs
    cmake: drop `LDAP_DEPRECATED=1` macro, to sync with autotools
    cmake: fix `HAVE_GETHOSTBYNAME_R_*` detections with `CURL_WERROR=ON`
    cmake: fix to detect `HAVE_OPENSSL_SRP` in MSVC UWP builds
    cmake: fix/add missing feature detections for Windows/MS-DOS
    cmake: initialize variables where missing
    cmake: lib order fixes for picky linkers (e.g. binutils `ld`)
    cmake: normalize before matching paths with syspaths
    cmake: respect `GNUTLS_CFLAGS` when detected via `pkg-config`
    cmake: respect `GNUTLS_LIBRARY_DIRS` in `libcurl.pc` and `curl-config`
    cmake: save a line with `CMAKE_C_IMPLICIT_LINK_DIRECTORIES` exclusion
    cmake: tidy up string append and list prepend syntax
    configure/cmake: check for realpath
    configure/cmake: set asyn-rr a feature only if httpsrr is enabled
    content_encoding: #error on too old zlib
    curl_global_sslset.md: Add SSL backend names
    CURLOPT_SSH_KNOWNHOSTS.md: strongly recommend using this
    CURLSHOPT_SHARE.md: adjust for the new SSL session cache
    docs: better explain multi-part byte range behavior
    docs: use valid example domain names
    generate.bat: remove curl_get_line.c from the curlx file list
    header.md: mention `Authorization:` and `Cookie:` special treatment
    imap: TLS upgrade fix
    INTERNALS: fix c-ares, as we actually support 1.6.0 or later
    ldap: drop support for legacy Novell LDAP SDK
    lib: include necessary headers for `inet_ntop`/`inet_pton`
    lib: silence LibreSSL collision warning on non-MSVC Windows
    libssh2: comparison is always true because rc <= -1
    libssh2: raise lowest supported version to 1.2.8
    libssh: drop support for libssh older than 0.9.0
    libssh: silence `-Wconversion` with a cast (Windows 32-bit)
    netrc: return code cleanup, fix missing file error
    openssl-quic: ignore ciphers for h3
    openssl: fix out of scope variables in goto
    pop3: TLS upgrade fix
    runtests: fix the disabling of the memory tracking
    runtests: quote commands to support paths with spaces
    scache: add magic checks
    smb: silence `-Warray-bounds` with gcc 13+
    smtp: TLS upgrade fix
    SPONSORS.md: clarify that we don't promise goods or services
    test1516: avoid failure due to spaces in path
    test2080: simplify, avoid the null byte
    tests: fix test 558, 1330 for MSVC, allow TrackMemory with MSVC in cmake
    tidy-up: make per-file `ARRAYSIZE` macros global as `CURL_ARRAYSIZE`
    tool_cfgable: sort struct fields by size, use bitfields for booleans
    tool_getparam: add "TLS required" flag for each such option
    tool_progress: fix percent output of large parallel transfers
    tool_ssls: switch to tool-specific get_line function
    verbose.md: mention how carriage-return might occur in headers
    vquic: make the "disable GSO" use infof, not failf
    vtls: fix multissl-init
    vtsl: eliminate 'data->state.ssl_scache'
    wakeup_write: make sure the eventfd write sends eight bytes
    wolfssl: silence compiler warning (MSVC 2019), simplify existing
    8.12.0
Changes:
    curl: add byte range support to --variable reading from file
    curl: make --etag-save acknowledge --create-dirs
    getinfo: fix CURLINFO_QUEUE_TIME_T and add 'time_queue' var
    getinfo: provide info which auth was used for HTTP and proxy
    hyper: drop support
    openssl: add support to use keys and certificates from PKCS#11 provider
    QUIC: 0RTT for gnutls via CURLSSLOPT_EARLYDATA
    vtls: feature ssls-export for SSL session im-/export
Bugfixes:
    altsvc: avoid integer overflow in expire calculation
    altsvc: return error on dot-only name
    android: add CI jobs, buildinfo, cmake docs, disable `CURL_USE_PKGCONFIG`
     by default
    asyn-ares: acknowledge CURLOPT_DNS_SERVERS set to NULL
    asyn-ares: fix memory leak
    asyn-ares: initial HTTPS resolve support
    asyn-thread: use c-ares to resolve HTTPS RR
    async-thread: avoid closing eventfd twice
    autotools: add support for mingw UWP builds
    autotools: silence gcc warnings in libtool code
    binmode: convert to macro and use it from tests
    build: delete `-Wsign-conversion` related FIXMEs
    build: drop `-Winline` picky warning
    build: drop `tool_hugehelp.c.cvs`, tidy up macros, drop `buildconf.bat`
    build: drop unused feature macros, update exception list
    build: fix `-Wtrampolines` picky warning for gcc 4.x versions
    build: fix compiling with GCC 4.x versions
    build: fix the tidy targets for autotools
    build: fix unsigned `time_t` detection for cmake, MS-DOS, AmigaOS
    build: replace configure check with PP condition (Android <21)
    build: stop detecting `sched_yield()` on Windows
    c-ares: fix/tidy-up macro initializations, avoid a deprecated function
    cd2nroff: do not insist on quoted <> within backticks
    cd2nroff: support "none" as a TLS backend
    cf-https-connect: look into httpsrr alpns when available
    cf-socket: error if address can't be copied
    cfilters: kill connection filter events attach+detach
    checksrc.bat: remove explicit SNPRINTF bypass
    checksrc: ban use of sscanf()
    checksrc: check for return with parens around a value/name
    checksrc: exclude generated bundle files to avoid race condition
    checksrc: fix the return() checker
    checksrc: introduce 'banfunc' to ban specific functions
    cmake/Find: add `iphlpapi` for c-ares, omit syslibs if dep not found
    cmake/FindLDAP: avoid empty 'Requires' item when omitting `pkg-config` module
    cmake/FindLDAP: avoid framework locations for libs too (Apple)
    cmake/FindLibpsl: protect against `pkg-config` "half-detection"
    cmake/FindLibssh: sync header comment with other modules
    cmake/FindMbedTLS: drop lib duplicates early
    cmake: add `librtmp` Find module
    cmake: add LDAP Find module
    cmake: add native `pkg-config` detection for remaining Find modules
    cmake: allow `CURL_LTO` regardless of `CURL_BUILD_TYPE`, enable in CI
    cmake: clang-cl improvements
    cmake: delete accidental debug message
    cmake: deprecate winbuild, add migration guide from legacy build methods
    cmake: detect mingw-w64 version, pre-fill `HAVE_STRTOK_R`
    cmake: do not store `MINGW64_VERSION` in cache
    cmake: drop `CURL_USE_PKGCONFIG` from `curl-config.cmake.in`
    cmake: drop `fseeko()` pre-fill and check for Windows
    cmake: drop duplicate Windows cache value
    cmake: drop redundant FOUND checks (libgsasl, libssh, libuv)
    cmake: drop redundant opening/closing `.*` from `MATCH` expressions
    cmake: drop unused `HAVE_SYS_XATTR_H` detection
    cmake: drop VS2010 "Dialog Hell" workaround added in 2013
    cmake: extend zlib's `AUTO` option to brotli, zstd and enable if found
    cmake: fix `net/in.h` detection for MS-DOS
    cmake: improve `curl_dumpvars()` and move to `Utilities.cmake`
    cmake: make libpsl required by default
    cmake: make system libraries `dl`, `m`, `pthread` customizable
    cmake: move `pkg-config` names to Find modules
    cmake: move GSS init before feature detections
    cmake: move mingw UWP workaround from GHA to `CMakeLists.txt`
    cmake: namespace functions and macros
    cmake: optimize out 4 picky warning option detections with gcc
    cmake: pick a better IPv6 feature flag when assembling the feature list
    cmake: pre-fill `HAVE_STDATOMIC_H`, `HAVE_ATOMIC` for mingw-w64
    cmake: pre-fill `HAVE_STDINT_H` on Windows
    cmake: prefer dash-style MSVC options
    cmake: publish/check supported protocols/features via `CURLConfig.cmake`
    cmake: replace `unset(VAR)` with `set(VAR "")` for init
    cmake: sync OpenSSL QUIC fork detection with autotools
    cmake: use `CMAKE_REQUIRED_LINK_DIRECTORIES`
    cmake: use `STREQUAL` to detect Linux
    cmake: warn for OpenSSL versions missing TLS 1.3 support
    cmdline-opts/version.md: describe multissl, mention SSLS-EXPORT
    completion.pl: add completion for paths after @ for fish
    config-mac: drop `MACOS_SSL_SUPPORT` macro
    config: drop unused code and variables
    configure: do not inline 'dnl' comments
    configure: drop unused detections and macros
    configure: streamline Windows large file feature check
    configure: UWP and Android follow-up fixes
    conncache: count shutdowns against host and max limits
    conncache: result_cb comment removed from function docs
    content_encoding: drop support for zlib before 1.2.0.4
    content_encoding: namespace GZIP flag constants
    content_encoding: put the decomp buffers into the writer structs
    content_encoding: support use of custom libzstd memory functions
    cookie: cap expire times to 400 days
    cookie: fix crash in netscape cookie parsing
    cookie: parse only the exact expire date
    curl-functions.m4: fix indentation in `CURL_SIZEOF()`
    curl: return error if etag options are used with multiple URLs
    curl_multi_fdset: include the shutdown connections in the set
    curl_multi_waitfds.md: tidy up the example
    curl_multibyte: support Windows paths longer than MAX_PATH
    curl_setup: fix missing `ADDRESS_FAMILY` type in rare build cases
    curl_sha512_256: rename symbols to the curl namespace
    curl_url_set.md: adjust the added-in to 7.62.0
    curl_ws_recv.md: fix typo
    CURLOPT_CONNECT_ONLY.md: an easy handle with this option set cannot be reused
    CURLOPT_PROXY.md: clarify the crendential support in proxy URLs
    CURLOPT_RESOLVE.md: fix wording
    CURLOPT_SEEKFUNCTION.md: used for FTP, HTTP and SFTP (only)
    docs/BUGS.md: remove leading space from a link
    docs/cmdline-opts/_ENVIRONMENT.md: minor language fix
    docs/cmdline-opts/location.md: fix typos for location flag
    docs/HTTP-COOKIES.md: link to more information
    docs/HTTPSRR.md: initial HTTPS RR documentation
    docs/libcurl/opts: clarify the return values
    docs/libcurl: return value overhall
    docs/TLS-SESSIONS: fix typo, the->they
    docs: document the behavior of -- in the curl command line
    docs: use lowercase curl and libcurl
    doh: cleanups and extended HTTPS RR code
    doh: send HTTPS RR requests for all HTTP(S) transfers
    easy: allow connect-only handle reuse with easy_perform
    easy: make curl_easy_perform() return error if connection still there
    easy_lock: use Sleep(1) for thread yield on old Windows
    ECH: update APIs to those agreed with OpenSSL maintainers
    examples/block-ip: drop redundant `memory.h` include
    examples/block-ip: show how to block IP addresses
    examples/complicated: fix warnings, bump deprecated callback, tidy up
    examples/synctime.c: remove references to dead URLs and functionality
    examples: make them compile with compatibility functions disabled (Windows)
    examples: use return according to code style
    file: drop `OPEN_NEEDS_ARG3` option
    file: fix Android compiler warning
    gitignore: add generated unity sources for lib and src
    GnuTLS: fix 'time_appconnect' for early data
    hash: add asserts in hash_element_dtor()
    HTTP/2: strip TE request header
    http2: fix data_pending check
    http2: fix value stored to 'result' is never read
    http: fix build with `CURL_DISABLE_COOKIES`
    http: ignore invalid Retry-After times
    http_aws_sigv4: Fix invalid compare function handling zero-length pairs
    https-connect: start next immediately on failure
    INFRASTRUCTURE.md: project infra
    INSTALL-CMAKE.md: fix punctuation
    INSTALL.md: add CMake examples for macOS and iOS
    INSTALL.md: document VS2008 and mingw-w64
    INTERNALS.md: sync wolfSSL version requirement with source code
    lib517: extend the getdate test with quotes and leading "junk"
    lib: clarify 'conn->httpversion'
    lib: redirect handling by protocol handler
    lib: remove `__EMX__` guards
    lib: replace `inline` redefine with `CURL_INLINE` macro
    lib: supress deprecation warnings in apple builds
    lib: TLS session ticket caching reworked
    libcurl/opts: do not save files in dirs where attackers have access
    Makefile.dist: delete
    Makefile.mk: drop in favour of autotools and cmake (MS-DOS, AmigaOS3)
    mbedtls: fix handling of blocked sends
    mbedtls: PSA can be used independently of TLS 1.3 (avoid runtime errors)
    mime: explicitly rewind subparts at attachment time.
    mprintf: fix integer handling in float precision
    mprintf: terminate snprintf output on windows
    msvc: add missing push/pop for warning pragmas
    msvc: assume `_INTEGRAL_MAX_BITS >= 64`
    msvc: drop checks for ancient versions
    msvc: fix building with `HAVE_INET_NTOP` and MSVC <=1900
    msvc: require VS2005 for large file support
    msvc: tidy up `_CRT_*_NO_DEPRECATE` definitions
    multi: fix curl_multi_waitfds reporting of fd_count
    multi: fix return code for an already-removed easy handle
    multihandle: add an ssl_scache here
    multissl: auto-enable `OPENSSL_COEXIST` for wolfSSL + OpenSSL
    multissl: make openssl + wolfssl builds work
    netrc: 'default' with no credentials is not a match
    netrc: fix password-only entries
    netrc: restore _netrc fallback logic
    ngtcp2: fix memory leak on connect failure
    ngtcp2: fix two cases of value stored never read
    openssl: define `HAVE_KEYLOG_CALLBACK` before use
    openssl: drop unused `HAVE_SSL_GET_SHUTDOWN` macro
    openssl: fix ECH logic
    osslq: use SSL_poll to determine writeability of QUIC streams
    projects/Windows: remove wolfSSL from legacy projects
    projects: fix `INSTALL-CMAKE.md` references
    pytest: remove 'repeat' parameter
    pytest: use httpd/apache2 directly, no apachectl
    RELEASE-PROCEDURE.md: mention how to publish security advisories
    runtests.pl: fix precedence issue
    scripts/mdlinkcheck: markdown link checker
    sectransp: free certificate on error
    select: avoid a NULL deref in cwfds_add_sock
    smb: fix compiler warning
    src: add `CURL_STRICMP()` macro, use `_stricmp()` on Windows
    src: drop support for `CURL_TESTDIR` debug env
    src: omit hugehelp and ca-embed from libcurltool
    ssl session cache: change cache dimensions
    strparse: string parsing helper functions
    symbols-in-versions: update version for LIBCURL_VERSION and
     LIBCURL_VERSION_NUM
    system.h: add 64-bit curl_off_t definitions for NonStop
    system.h: drop compilers lacking 64-bit integer type (Windows/MS-DOS)
    system.h: drop duplicate and no-op code
    system.h: fix indentation
    telnet: handle single-byte input option
    test1960: don't close the socket too early
    test483: require cookie support
    tests/http/clients: use proper sleep() call on NonStop
    tests: change the behavior of swsbounce
    tests: stop promoting perl warnings to fatal errors
    TheArtOfHttpScripting.md: rewrite double 'that'
    tidy-up: `curl_setup.h`, `curl_setup_once.h`, `config-win32ce.h`
    tidy-up: drop parenthesis around `return` expression
    tidy-up: drop parenthesis around `return` values
    tidy-up: extend `CURL_O_BINARY` to lib and tests
    TLS: check connection for SSL use, not handler
    tool_formparse.c: make curlx_uztoso a static in here
    tool_formparse: accept digits in --form type= strings
    tool_getparam: ECH param parsing refix
    tool_getparam: fail --hostpubsha256 if libssh2 is not used
    tool_getparam: fix "Ignored Return Value"
    tool_getparam: fix memory leak on error in parse_ech
    tool_getparam: fix the ECH parser
    tool_operate: make --etag-compare always accept a non-existing file
    transfer: fix CURLOPT_CURLU override logic
    urlapi: fix redirect to a new fragment or query (only)
    urldata: tweak the UserDefined struct
    variable.md: mention --expand-variable for variables to variables
    variable.md: show function use with examples
    version: fix the IDN feature for winidn and appleidn
    vquic: fix 4th function call argument is an uninitialized value
    vquic: make vquic_send_packets not return without setting psent
    vtls: fix default SSL backend as a fallback
    vtls: only remember the expiry timestamp in session cache
    vtls: remove 'detach/attach' functions from TLS handler struct
    vtls: remove unusued 'check_cxn' from TLS handler struct
    vtls: replace "none"-functions with NULL pointers
    VULN-DISCLOSURE-POLICY.md: mention the not setting CVSS
    VULN-DISCLOSURE-POLICY: on legacy dependencies
    websocket: fix message send corruption
    windows: drop dupe macros, detect `CURL_OS` for WinCE ARM, indentation
    windows: drop redundant `USE_WIN32_SMALL_FILES` macro
    windows: drop two missed `buildconf.bat` references
    windows: merge `config-win32ce.h` into `config-win32.h`
    ws-docs: extend WebSocket documentation
    ws-docs: remove the outdated texts saying ws support is experimental
    ws: reject frames with unknown reserved bits set
    x509asn1: add parse recursion limit
    8.11.1
Bugfixes:
    build: fix ECH to always enable HTTPS RR
    build: fix MSVC UWP builds
    build: omit certain deps from `libcurl.pc` unless found via `pkg-config`
    build: use `_fseeki64()` on Windows, drop detections
    cmake: do not echo most inherited `LDFLAGS` to config files
    cmake: drop cmake args list from `buildinfo.txt`
    cmake: include `wolfssl/options.h` first
    cmake: remove legacy unused IMMEDIATE keyword
    cmake: restore cmake args list in `buildinfo.txt`
    cmake: set `CURL_STATICLIB` for static lib when `SHARE_LIB_OBJECT=OFF`
    cmake: sync GSS config code with other deps
    cmake: typo in comment
    cmake: work around `ios.toolchain.cmake` breaking feature-detections
    cmakelint: fix to check root `CMakeLists.txt`
    cmdline/ech.md: formatting cleanups
    configure: add FIXMEs for disabled pkg-config references
    configure: do not echo most inherited `LDFLAGS` to config files
    configure: replace `$#` shell syntax
    cookie: treat cookie name case sensitively
    curl-rustls.m4: keep existing `CPPFLAGS`/`LDFLAGS` when detected
    curl.h: mark two error codes as obsolete
    curl: --continue-at is mutually exclusive with --no-clobber
    curl: --continue-at is mutually exclusive with --range
    curl: --continue-at is mutually exclusive with --remove-on-error
    curl: --test-duphandle in debug builds runs "duphandled"
    curl: do more command line parsing in sub functions
    curl: rename struct var to fix AIX build
    curl: use realtime in trace timestamps
    curl_multi_socket_all.md: soften the deprecation warning
    CURLOPT_PREREQFUNCTION.md: add result code on failure
    digest: produce a shorter cnonce in Digest headers
    DISTROS: update Alt Linux links
    dmaketgz: use --no-cache when building docker image
    docs: bring back ALTSVC.md and HSTS.md
    docs: document default `User-Agent`
    docs: suggest --ssl-reqd instead of --ftp-ssl
    duphandle: also init netrc
    ECH: enable support for the AWS-LC backend
    hostip: don't use the resolver for FQDN localhost
    http_negotiate: allow for a one byte larger channel binding buffer
    http_proxy: move dynhds_add_custom here from http.c
    KNOWN_BUGS: setting a disabled option should return CURLE_NOT_BUILT_IN
    krb5: fix socket/sockindex confusion, MSVC compiler warnings
    lib: fixes for wolfSSL OPENSSL_COEXIST
    libssh: use libssh sftp_aio to upload file
    libssh: when using IPv6 numerical address, add brackets
    macos: disable gcc `availability` workaround as needed
    mbedtls: call psa_crypt_init() in global init
    mime: fix reader stall on small read lengths
    mk-ca-bundle: remove CKA_NSS_SERVER_DISTRUST_AFTER conditions
    mprintf: fix the integer overflow checks
    multi: add clarifying comment for wakeup_write()
    multi: fix callback for `CURLMOPT_TIMERFUNCTION` not being called again
     when...
    netrc: address several netrc parser flaws
    netrc: support large file, longer lines, longer tokens
    nghttp2: use custom memory functions
    OpenSSL: improvde error message on expired certificate
    openssl: remove three "Useless Assignments"
    openssl: stop using SSL_CTX_ function prefix for our functions
    os400: Fix IBMi builds
    os400: Fix IBMi EBCDIC conversion of arguments
    pytest: add test for use of CURLMOPT_MAX_HOST_CONNECTIONS
    rtsp: check EOS in the RTSP receive and return an error code
    schannel: remove TLS 1.3 ciphersuite-list support
    setopt: fix CURLOPT_HTTP_CONTENT_DECODING
    setopt: fix missing options for builds without HTTP & MQTT
    show-headers.md: clarify the headers are saved with the data
    socket: handle binding to "host!<ip>"
    socketpair: fix enabling `USE_EVENTFD`
    strtok: use namespaced `strtok_r` macro instead of redefining it
    tests: add the ending time stamp in testcurl.pl
    tests: re-enable 2086, and 472, 1299, 1613 for Windows
    TODO: consider OCSP stapling by default
    tool_formparse: remove use of sscanf()
    tool_getparam: parse --localport without using sscanf
    tool_getpass: fix UWP `-Wnull-dereference`
    tool_getpass: replace `getch()` call with `_getch()` on Windows
    tool_urlglob: parse character globbing range without sscanf
    vtls: fix compile warning when ALPN is not available

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
config/rootfiles/common/curl
lfs/curl

index 7d0f4775602aa8a1c0ef47a008f1546b1a5ff1b5..f27d3b93985374301122b7301a15ff7dbf5d3ce1 100644 (file)
@@ -45,6 +45,7 @@ usr/lib/libcurl.so.4.8.0
 #usr/share/man/man3/CURLINFO_FTP_ENTRY_PATH.3
 #usr/share/man/man3/CURLINFO_HEADER_SIZE.3
 #usr/share/man/man3/CURLINFO_HTTPAUTH_AVAIL.3
+#usr/share/man/man3/CURLINFO_HTTPAUTH_USED.3
 #usr/share/man/man3/CURLINFO_HTTP_CONNECTCODE.3
 #usr/share/man/man3/CURLINFO_HTTP_VERSION.3
 #usr/share/man/man3/CURLINFO_LASTSOCKET.3
@@ -62,6 +63,7 @@ usr/lib/libcurl.so.4.8.0
 #usr/share/man/man3/CURLINFO_PRIVATE.3
 #usr/share/man/man3/CURLINFO_PROTOCOL.3
 #usr/share/man/man3/CURLINFO_PROXYAUTH_AVAIL.3
+#usr/share/man/man3/CURLINFO_PROXYAUTH_USED.3
 #usr/share/man/man3/CURLINFO_PROXY_ERROR.3
 #usr/share/man/man3/CURLINFO_PROXY_SSL_VERIFYRESULT.3
 #usr/share/man/man3/CURLINFO_QUEUE_TIME_T.3
@@ -406,6 +408,7 @@ usr/lib/libcurl.so.4.8.0
 #usr/share/man/man3/CURLOPT_UPKEEP_INTERVAL_MS.3
 #usr/share/man/man3/CURLOPT_UPLOAD.3
 #usr/share/man/man3/CURLOPT_UPLOAD_BUFFERSIZE.3
+#usr/share/man/man3/CURLOPT_UPLOAD_FLAGS.3
 #usr/share/man/man3/CURLOPT_URL.3
 #usr/share/man/man3/CURLOPT_USERAGENT.3
 #usr/share/man/man3/CURLOPT_USERNAME.3
@@ -440,6 +443,8 @@ usr/lib/libcurl.so.4.8.0
 #usr/share/man/man3/curl_easy_reset.3
 #usr/share/man/man3/curl_easy_send.3
 #usr/share/man/man3/curl_easy_setopt.3
+#usr/share/man/man3/curl_easy_ssls_export.3
+#usr/share/man/man3/curl_easy_ssls_import.3
 #usr/share/man/man3/curl_easy_strerror.3
 #usr/share/man/man3/curl_easy_unescape.3
 #usr/share/man/man3/curl_easy_upkeep.3
index c3d5d2762a9ed5a413904469ababb00648582eb5..a6cb3bb3de3bc6504d2682576a025bcf862dce8e 100644 (file)
--- a/lfs/curl
+++ b/lfs/curl
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2024  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2025  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 8.11.0
+VER        = 8.13.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 = 3db13ed558bee332e07e1eab878b5ecae14cd049c115eea3a25fcb78cf28aadfe577dc224df75b62844529994ec478a9a74fed5c9bae338f809d231420ae5d0a
+$(DL_FILE)_BLAKE2 = 6869634ad50f015d5c7526699034d5a3f27d9588bc32eacc8080dbd6c690f63b1f25cee40d3fdf8fd9dd8535c305ea9c5edf1d5a02bc6d9ce60fd8c88230aca0
 
 install : $(TARGET)