curl-curl/.github/workflows
Viktor Szakats 3a305831d1
mbedtls: add support for 4.0.0
After this patch libcurl requires (as already documented)
the `curl_global_init()` call when using the `curl_formadd()` API with
mbedTLS.

Note: NTLM is not supported with mbedTLS 4+, because it lacks
the necessary crypto primitive: DES.

Also:
- lib: de-dupe mbedTLS minimum version checks into `curl_setup.h`.
- lib: initialize PSA Crypto as part of `curl_global_init()`.
  For MD5, SHA-256, `curl_formadd()`, and MultiSSL builds with mbedTLS
  but where mbedTLS isn't the default backend.
- lib1308: fix to call `curl_global_init()` (for the Form API).
- curl_ntlm_core: disable with mbedTLS 4+.
- md4: disable mbedTLS implementation when building against 4.x.
- md5: use mbedTLS PSA Crypto API when available, otherwise use
  the default local implementation.
- sha256: use mbedTLS PSA Crypto API when available, otherwise use
  the default local implementation.
- vtls/mbedtls: drop PSA Crypto initialization in favor of
  `curl_global_init()`.
- vtls/mbedtls: use PSA Crypto random API with all mbedTLS versions.
- vtls/mbedtls: do the same for the SHA-256 callback.
- autotools: detect mbedTLS 4+, and disable NTLM for 3.x.
- cmake: disable NTLM for mbedTLS 3.x.
- GHA/linux: keep building mbedTLS 3.x manually and use it in
  an existing job, while also enabling pytest in it.
- GHA/linux: bump to mbedTLS 4.0.0.
  Closes #19075
  Closes #19074

Refs:
https://github.com/Mbed-TLS/mbedtls/releases/tag/mbedtls-4.0.0
https://github.com/Mbed-TLS/mbedtls/blob/mbedtls-4.0.0/docs/4.0-migration-guide.md
https://github.com/Mbed-TLS/mbedtls/blob/mbedtls-4.0.0/tf-psa-crypto/docs/1.0-migration-guide.md [404]
https://github.com/Mbed-TLS/TF-PSA-Crypto/blob/tf-psa-crypto-1.0.0/docs/1.0-migration-guide.md
https://github.com/Mbed-TLS/TF-PSA-Crypto/blob/tf-psa-crypto-1.0.0/docs/psa-transition.md
627f727bbe/docs/4.0-migration-guide

Closes #19077
2025-10-17 11:50:48 +02:00
..
appveyor-status.yml scripts: pass -- before passing xargs 2025-10-16 20:45:28 +02:00
checkdocs.yml scripts: pass -- before passing xargs 2025-10-16 20:45:28 +02:00
checksrc.yml GHA/checksrc: also run on .md file changes 2025-10-08 14:33:57 +02:00
codeql.yml build: drop Heimdal support, update docs, replace with MIT Kerberos in CI 2025-10-09 02:27:29 +02:00
configure-vs-cmake.yml GHA/configure-vs-cmake: reduce windows cross-toolchain apt installs 2025-10-06 20:09:13 +02:00
curl-for-win.yml GHA: show full versions next to pinned actions 2025-10-03 16:34:44 +02:00
distcheck.yml GHA: show full versions next to pinned actions 2025-10-03 16:34:44 +02:00
fuzz.yml build: drop the winbuild build system 2025-09-20 01:20:25 +02:00
http3-linux.yml GHA: sync up curl -V step descriptions 2025-10-16 20:18:25 +02:00
label.yml tidy-up: miscellaneous (cont.) 2025-10-06 22:33:38 +02:00
linux-old.yml GHA: sync up curl -V step descriptions 2025-10-16 20:18:25 +02:00
linux.yml mbedtls: add support for 4.0.0 2025-10-17 11:50:48 +02:00
macos.yml GHA: sync up curl -V step descriptions 2025-10-16 20:18:25 +02:00
non-native.yml build: drop Heimdal support, update docs, replace with MIT Kerberos in CI 2025-10-09 02:27:29 +02:00
windows.yml GHA: sync up curl -V step descriptions 2025-10-16 20:18:25 +02:00