curl/.github/workflows
Viktor Szakats 4a6fbd5e1d
NTLM: disable if DES support missing from OpenSSL or mbedTLS
Make autotools and cmake detect DES support in OpenSSL and mbedTLS.
Forward feature macros to C and omit NTLM from the feature preview list.
Use the feature macros in source. This ensure that `-V` output matches
the preview.

OpenSSL doesn't support DES when built with `no-des` or `no-deprecated`.
mbedTLS 4.x no longer supports it, and it's possible to disable it in
<4 with `scripts/config.py unset MBEDTLS_DES_C`.

Before this patch this worked for
mbedTLS 4 only, and with a regression for pending PR #16973.

Also:

- drop NTLM feature check from `curl_setup.h` in favour of autotools/
  cmake feature macros. This makes `curl_setup.h` no longer need
  to include an mbedTLS header, which in turn makes tests/server build
  without depending on mbedTLS.
  Fixing, in #16973:
  ```
  In file included from tests/server/first.h:40,
                   from bld/tests/server/servers.c:3:
  lib/curl_setup.h:741:10: fatal error: mbedtls/version.h: No such file or directory
    741 | #include <mbedtls/version.h>
        |          ^~~~~~~~~~~~~~~~~~~
  ```
  Ref: https://github.com/curl/curl/actions/runs/18689537893/job/53291322012?pr=16973
  Ref: #19181 (initial fix idea)
  Follow-up to 3a305831d1 #19077

- move back mbedTLS header include and version check from
  `curl_setup.h` to each source which consumes mbedTLS.

- GHA/http3-linux: drop workaround that disabled NTLM for
  `no-deprecated` OpenSSL builds.
  Follow-up to 006977859d #12384

- curl_ntlm_core: drop pointless macro `CURL_NTLM_NOT_SUPPORTED`.
  Follow-up to 006977859d #12384

Closes #19206
2025-10-24 12:12:20 +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/curl-for-win: drop libssh 2025-10-20 14:22:14 +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 NTLM: disable if DES support missing from OpenSSL or mbedTLS 2025-10-24 12:12:20 +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/windows: delete remains of Perl Win32-Process* caching 2025-10-20 00:25:23 +02:00