Unverified Commit 274940d7 authored by Gisle Vanem's avatar Gisle Vanem Committed by Daniel Stenberg
Browse files

boringssl + schannel: undef X509_NAME in lib/schannel.h

Fixes the build problem when both boringssl and schannel are enabled.

Fixes #2634
Closes #2643
parent 9ff67f7b
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -54,15 +54,6 @@
# endif /* HAVE_LDAP_SSL && HAVE_LDAP_SSL_H */
#endif

/* These are macros in both <wincrypt.h> (in above <winldap.h>) and typedefs
 * in BoringSSL's <openssl/x509.h>
 */
#ifdef HAVE_BORINGSSL
# undef X509_NAME
# undef X509_CERT_PAIR
# undef X509_EXTENSIONS
#endif

#include "urldata.h"
#include <curl/curl.h>
#include "sendf.h"
+19 −0
Original line number Diff line number Diff line
@@ -32,6 +32,25 @@

#include "urldata.h"

/* <wincrypt.h> has been included via the above <schnlsp.h>.
 * Or in case of ldap.c, it was included via <winldap.h>.
 * And since <wincrypt.h> has this:
 *   #define X509_NAME  ((LPCSTR) 7)
 *
 * And in BoringSSL's <openssl/base.h> there is:
 *  typedef struct X509_name_st X509_NAME;
 *  etc.
 *
 * this wil cause all kinds of C-preprocessing paste errors in
 * BoringSSL's <openssl/x509.h>: So just undefine those defines here
 * (and only here).
 */
#if defined(HAVE_BORINGSSL) || defined(OPENSSL_IS_BORINGSSL)
# undef X509_NAME
# undef X509_CERT_PAIR
# undef X509_EXTENSIONS
#endif

extern const struct Curl_ssl Curl_ssl_schannel;

CURLcode verify_certificate(struct connectdata *conn, int sockindex);