curl/lib/vtls
Viktor Szakats f153b4bfa0
cmake: include wolfssl/options.h first
It was missing while detecting `wolfSSL_DES_ecb_encrypt`,
`wolfSSL_BIO_new` and `wolfSSL_BIO_set_shutdown`.

We have not seen it causing issues in stable wolfSSL releases as of
v5.7.4, until a recent commit in wolfSSL master, which broke detections:
```
curl/CMakeFiles/CMakeScratch//CheckSymbolExists.c:8:19: error: ‘wolfSSL_BIO_new’ undeclared (first use in this function); did you mean ‘wolfSSL_CTX_new’?
curl/CMakeFiles/CMakeScratch//CheckSymbolExists.c:8:19: error: ‘wolfSSL_BIO_set_shutdown’ undeclared (first use in this function); did you mean ‘wolfSSL_set_shutdown’?
```
This in turn disabled `HTTPS-proxy` and failed related pytests:
https://github.com/curl/curl/actions/runs/11953800545/job/33324250039?pr=15620

wolfSSL source diff causing the regression:
be70bea687..c06f65a8ac

The wolfSSL build says:
```
Note: Make sure your application includes "wolfssl/options.h" before any other wolfSSL headers.
      You can define "WOLFSSL_USE_OPTIONS_H" in your application to include this automatically.
```

This patch makes sure to follow this rule across the curl codebase.

Also:
- include `wolfssl/options.h` first in `lib/vtls/wolfssl.c`.
  It was preceded by `wolfssl/version.h`, which did not cause issues.
  Background for the pre-existing include order:
  Ref: deb9462ff2 #3903
  Ref: https://curl.se/mail/lib-2015-04/0069.html

Bug: https://github.com/curl/curl/pull/15620#issuecomment-2491872463
Follow-up to d68a121266 #14064

Closes #15623
2024-11-21 23:50:46 +01:00
..
.checksrc lib: enable strerror and strncpy checksrc warnings in subdirs 2024-09-09 16:51:21 +02:00
bearssl.c bearssl: improved session handling, test exceptions 2024-10-24 14:40:01 +02:00
bearssl.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
cipher_suite.c lib: use bool/TRUE/FALSE properly 2024-10-03 09:31:56 +02:00
cipher_suite.h rustls: add support for setting TLS version and ciphers 2024-08-16 09:55:02 +02:00
gtls.c source: avoid use of 'very' in comments 2024-10-17 13:36:33 +02:00
gtls.h gnutls: use session cache for QUIC 2024-10-11 23:37:47 +02:00
hostcheck.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
hostcheck.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
keylog.c lib: use bool/TRUE/FALSE properly 2024-10-03 09:31:56 +02:00
keylog.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
mbedtls_threadlock.c mbedtls: properly cleanup the thread-shared entropy 2024-03-12 03:09:37 -04:00
mbedtls_threadlock.h tidy-up: one comment and EOF newlines 2024-03-12 15:38:44 +00:00
mbedtls.c mbedtls: call psa_crypt_init() in global init 2024-11-07 13:14:41 +01:00
mbedtls.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
openssl.c ECH: enable support for the AWS-LC backend 2024-11-08 13:59:39 +01:00
openssl.h openssl: certinfo errors now fail correctly 2024-09-04 23:41:44 +02:00
rustls.c wolfssl: coexist with openssl, further work 2024-11-04 14:48:30 +01:00
rustls.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
schannel_int.h schannel: fix TLS cert verification by IP SAN 2024-10-31 08:59:37 +01:00
schannel_verify.c schannel: fix TLS cert verification by IP SAN 2024-10-31 08:59:37 +01:00
schannel.c schannel: remove TLS 1.3 ciphersuite-list support 2024-11-21 17:09:24 -05:00
schannel.h build: do not publish HAVE_BORINGSSL, HAVE_AWSLC macros 2023-10-08 22:29:45 +00:00
sectransp.c strtok: use namespaced strtok_r macro instead of redefining it 2024-11-14 09:55:45 +01:00
sectransp.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
vtls_int.h wolfssl: coexist with openssl, further work 2024-11-04 14:48:30 +01:00
vtls.c wolfssl: coexist with openssl, further work 2024-11-04 14:48:30 +01:00
vtls.h TLS: TLSv1.3 earlydata support for curl 2024-10-11 12:28:22 +02:00
wolfssl.c cmake: include wolfssl/options.h first 2024-11-21 23:50:46 +01:00
wolfssl.h wolfssl: coexist with openssl, further work 2024-11-04 14:48:30 +01:00
x509asn1.c lib/src: white space edits to comply better with code style 2024-09-19 14:59:12 +02:00
x509asn1.h x509asn1: unittests and fixes for gtime2str 2024-07-30 23:08:59 +02:00