curl/lib/vtls
Viktor Szakats 8e6149598b
gnutls: report accurate error when TLS-SRP is not built-in
With GnuTLS 3.8.0+ the build-time SRP feature detection always succeeds.
It's also disabled by default in these GnuTLS versions.

When using TLS-SRP without it being available in GnuTLS, report
the correct error code `CURLE_NOT_BUILT_IN`, replacing the out of memory
error reported before this patch.

Also add comments to autotools and cmake scripts about this feature
detection property.

Detecting it at build-time would need to run code which doesn't work
in cross-builds. Once curl requires 3.8.0 as minimum, the build-time
checks can be deleted.

```
# before:
curl: (27) gnutls_srp_allocate_client_cred() failed: An unimplemented or disabled feature has been requested.
# after:
curl: (4) GnuTLS: TLS-SRP support not built in: An unimplemented or disabled feature has been requested.
```

Ref: dab063fca2
Ref: a21e89edac

Closes #19365
2025-11-06 11:42:34 +01:00
..
apple.c apple sectrust: add to features 2025-10-16 10:58:45 +02:00
apple.h apple sectrust: add to features 2025-10-16 10:58:45 +02:00
cipher_suite.c lib: stop overriding system printf symbols 2025-10-06 20:57:59 +02:00
cipher_suite.h TLS: remove support for Secure Transport and BearSSL 2025-06-11 07:54:19 +02:00
gtls.c gnutls: report accurate error when TLS-SRP is not built-in 2025-11-06 11:42:34 +01:00
gtls.h ssl: support Apple SecTrust configurations 2025-10-03 12:02:23 +02:00
hostcheck.c tidy-up: more whitespace/indent, comments 2025-07-25 11:47:51 +02:00
hostcheck.h openssl: some small cleanups 2025-07-18 00:40:26 +02:00
keylog.c build: avoid overriding system symbols for fopen functions 2025-09-30 01:10:36 +02:00
keylog.h spelling: 'a' vs 'an' 2025-05-30 11:38:35 +02:00
mbedtls.c lib: cleanup for some typos about spaces and code style 2025-11-05 14:07:28 +01:00
mbedtls.h lib: include files using known path 2025-04-08 17:00:00 +02:00
mbedtls_threadlock.c lib: stop overriding system printf symbols 2025-10-06 20:57:59 +02:00
mbedtls_threadlock.h lib: include files using known path 2025-04-08 17:00:00 +02:00
openssl.c openssl: remove code handling default version 2025-11-05 14:14:58 +01:00
openssl.h ssl: support Apple SecTrust configurations 2025-10-03 12:02:23 +02:00
rustls.c lib: cleanup for some typos about spaces and code style 2025-11-05 14:07:28 +01:00
rustls.h lib: include files using known path 2025-04-08 17:00:00 +02:00
schannel.c lib: cleanup for some typos about spaces and code style 2025-11-05 14:07:28 +01:00
schannel.h openssl: BoringSSL / AWS-LC tidy-ups 2025-08-24 00:30:06 +02:00
schannel_int.h vtls: drop duplicate CURL_SHA256_DIGEST_LENGTH definition 2025-10-24 19:16:53 +02:00
schannel_verify.c schannel_verify: do not call infof with an appended \n 2025-10-18 22:15:26 +02:00
vtls.c lib: cleanup for some typos about spaces and code style 2025-11-05 14:07:28 +01:00
vtls.h vtls: drop duplicate CURL_SHA256_DIGEST_LENGTH definition 2025-10-24 19:16:53 +02:00
vtls_int.h vtls_int.h: clarify data_pending 2025-09-21 09:43:28 +02:00
vtls_scache.c ssl-session-cache: check use on config and availability 2025-10-29 03:07:59 -04:00
vtls_scache.h ssl-session-cache: check use on config and availability 2025-10-29 03:07:59 -04:00
vtls_spack.c build: fix build errors/warnings in rare configurations 2025-07-23 22:17:03 +02:00
vtls_spack.h build: fix build errors/warnings in rare configurations 2025-07-23 22:17:03 +02:00
wolfssl.c lib: cleanup for some typos about spaces and code style 2025-11-05 14:07:28 +01:00
wolfssl.h GHA/checksrc: expand spellcheck, fix issues found 2025-07-21 16:09:01 +02:00
x509asn1.c lib: cleanup for some typos about spaces and code style 2025-11-05 14:07:28 +01:00
x509asn1.h build: address some -Weverything warnings, update picky warnings 2025-09-20 10:16:15 +02:00