From: lwthiker Date: Mon, 28 Feb 2022 09:05:34 +0000 (+0200) Subject: openssl: enable CURLOPT_SSL_EC_CURVES with BoringSSL X-Git-Tag: curl-7_83_0~175 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=68dc5bcd4650ca0ced3175e5d2112e40c9da74a5;p=thirdparty%2Fcurl.git openssl: enable CURLOPT_SSL_EC_CURVES with BoringSSL The CURLOPT_SSL_EC_CURVES option (used by the '--curves' flag) in libcurl was ignored when compiling with BoringSSL because HAVE_SSL_CTX_SET_EC_CURVES was explicitly disabled if BoringSSL was detected. However, this feature is supported in BoringSSL since 5fd1807d. This commit enables it, and also reduces the required minimal OpenSSL version to 1.0.2 as per OpenSSL's official documentation. Fixes #8553 Closes #8556 --- diff --git a/lib/vtls/openssl.c b/lib/vtls/openssl.c index 616a510b0a..0b79fc50a9 100644 --- a/lib/vtls/openssl.c +++ b/lib/vtls/openssl.c @@ -208,9 +208,18 @@ !defined(OPENSSL_IS_BORINGSSL)) #define HAVE_SSL_CTX_SET_CIPHERSUITES #define HAVE_SSL_CTX_SET_POST_HANDSHAKE_AUTH -/* SET_EC_CURVES is available under the same preconditions: see - * https://www.openssl.org/docs/manmaster/man3/SSL_CTX_set1_groups.html +#endif + +/* + * Whether SSL_CTX_set1_curves_list is available. + * OpenSSL: supported since 1.0.2, see + * https://www.openssl.org/docs/manmaster/man3/SSL_CTX_set1_groups.html + * BoringSSL: supported since 5fd1807d95f7 (committed 2016-09-30) + * LibreSSL: not tested. */ +#if ((OPENSSL_VERSION_NUMBER >= 0x10002000L) && \ + !defined(LIBRESSL_VERSION_NUMBER)) || \ + defined(OPENSSL_IS_BORINGSSL) #define HAVE_SSL_CTX_SET_EC_CURVES #endif