curl/m4
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
..
.gitignore tidy-up: .gitignore lines mostly 2025-01-27 20:59:46 +01:00
curl-amissl.m4 Makefile.mk: drop in favour of autotools and cmake (MS-DOS, AmigaOS3) 2024-12-16 23:20:55 +01:00
curl-apple-sectrust.m4 apple sectrust: add to features 2025-10-16 10:58:45 +02:00
curl-compilers.m4 build: address some -Weverything warnings, update picky warnings 2025-09-20 10:16:15 +02:00
curl-confopts.m4 build: do not apply curl debug macros to tests/server by default 2025-03-14 12:59:32 +01:00
curl-functions.m4 autotools: make --enable-code-coverage support llvm/clang 2025-09-20 01:28:35 +02:00
curl-gnutls.m4 build: drop unused feature macros, update exception list 2024-12-16 18:05:24 +01:00
curl-mbedtls.m4 NTLM: disable if DES support missing from OpenSSL or mbedTLS 2025-10-24 12:12:20 +02:00
curl-openssl.m4 NTLM: disable if DES support missing from OpenSSL or mbedTLS 2025-10-24 12:12:20 +02:00
curl-override.m4 build: fix compiler warnings in feature detections 2025-02-16 02:39:35 +01:00
curl-reentrant.m4 lib: use Curl_str_* instead of strtok_r() 2025-02-17 13:18:28 +01:00
curl-rustls.m4 autotools: capitalize 'Rustls' in the log output 2025-09-22 10:11:31 +02:00
curl-schannel.m4 schannel: not supported with UWP, drop redundant code 2025-07-31 20:05:32 +02:00
curl-sysconfig.m4 cmake: fix to restrict SystemConfiguration to macOS 2025-08-03 23:35:28 +02:00
curl-wolfssl.m4 build: link to Apple frameworks required by static wolfSSL 2025-07-18 00:54:34 +02:00
xc-am-iface.m4 misc: cleanup after removing years from copyright 2024-07-30 14:11:48 +02:00
xc-cc-check.m4 misc: cleanup after removing years from copyright 2024-07-30 14:11:48 +02:00
xc-lt-iface.m4 autotools: stop checking for the pw32 platform 2025-07-15 18:43:12 +02:00
xc-val-flgs.m4 configure: fix indentation more 2024-08-26 11:14:01 +02:00
zz40-xc-ovr.m4 misc: cleanup after removing years from copyright 2024-07-30 14:11:48 +02:00
zz50-xc-ovr.m4 misc: cleanup after removing years from copyright 2024-07-30 14:11:48 +02:00
zz60-xc-ovr.m4 misc: cleanup after removing years from copyright 2024-07-30 14:11:48 +02:00