From 049f3765c7016a3f7a92b7f88aae6405c49b84fb Mon Sep 17 00:00:00 2001 From: Marcel Raad Date: Wed, 16 Feb 2022 09:19:58 +0100 Subject: [PATCH] des: fix compile break for OpenSSL without DES When `USE_OPENSSL` was defined but OpenSSL had no DES support and a different crypto library was used for that, `Curl_des_set_odd_parity` was called but not defined. This could for example happen on Windows and macOS when using OpenSSL v3 with deprecated features disabled. Use the same condition for the function definition as used at the caller side, but leaving out the OpenSSL part to avoid including OpenSSL headers. Closes https://github.com/curl/curl/pull/8459 --- lib/curl_des.c | 9 +++++++-- lib/curl_des.h | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/lib/curl_des.c b/lib/curl_des.c index 76185cbf21..8170f488a1 100644 --- a/lib/curl_des.c +++ b/lib/curl_des.c @@ -22,7 +22,12 @@ #include "curl_setup.h" -#if defined(USE_NTLM) && !defined(USE_OPENSSL) && !defined(USE_WOLFSSL) +#if defined(USE_CURL_NTLM_CORE) && !defined(USE_WOLFSSL) && \ + (defined(USE_GNUTLS) || \ + defined(USE_NSS) || \ + defined(USE_SECTRANSP) || \ + defined(USE_OS400CRYPTO) || \ + defined(USE_WIN32_CRYPTO)) #include "curl_des.h" @@ -60,4 +65,4 @@ void Curl_des_set_odd_parity(unsigned char *bytes, size_t len) } } -#endif /* USE_NTLM && !USE_OPENSSL */ +#endif diff --git a/lib/curl_des.h b/lib/curl_des.h index 438706a0d2..737945240f 100644 --- a/lib/curl_des.h +++ b/lib/curl_des.h @@ -24,11 +24,16 @@ #include "curl_setup.h" -#if defined(USE_NTLM) && !defined(USE_OPENSSL) +#if defined(USE_CURL_NTLM_CORE) && !defined(USE_WOLFSSL) && \ + (defined(USE_GNUTLS) || \ + defined(USE_NSS) || \ + defined(USE_SECTRANSP) || \ + defined(USE_OS400CRYPTO) || \ + defined(USE_WIN32_CRYPTO)) /* Applies odd parity to the given byte array */ void Curl_des_set_odd_parity(unsigned char *bytes, size_t length); -#endif /* USE_NTLM && !USE_OPENSSL */ +#endif #endif /* HEADER_CURL_DES_H */ -- 2.47.3