From 1bb406c7ed51f37065b9061443f26abd77c88104 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Sat, 8 Jan 2022 10:40:21 +0100 Subject: openssl.h: avoid including OpenSSL headers here ... by instead using the struct version of the typedef'ed pointer. To fix build errors when both Schannel and OpenSSL are enabled. Fixes #8240 Reported-by: Jan Ehrhardt Closes #8246 --- lib/vtls/openssl.h | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/vtls/openssl.h b/lib/vtls/openssl.h index 28058453c..7df642bc9 100644 --- a/lib/vtls/openssl.h +++ b/lib/vtls/openssl.h @@ -7,7 +7,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2021, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2022, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -30,11 +30,17 @@ * and ngtcp2.c */ -#include #include "urldata.h" +/* + * In an effort to avoid using 'X509 *' here, we instead use the struct + * x509_st version of the type so that we can forward-declare it here without + * having to include . Including that header causes name + * conflicts when libcurl is built with both Schannel and OpenSSL support. + */ +struct x509_st; CURLcode Curl_ossl_verifyhost(struct Curl_easy *data, struct connectdata *conn, - X509 *server_cert); + struct x509_st *server_cert); extern const struct Curl_ssl Curl_ssl_openssl; #endif /* USE_OPENSSL */ -- cgit v1.2.1