New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BoringSSL with Schannel #2634
Comments
Yeah, clearly something like that should be done. Did you try it? I'm thinking maybe it will cause problems with |
I did the --- a/lib/ldap.c 2018-05-09 19:58:09
+++ b/ldap.c 2018-06-07 11:08:05
@@ -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"
--- a/lib/vtls/schannel.h 2018-05-22 08:43:49
+++ b/vtls/schannel.h 2018-06-07 10:44:05
@@ -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); Tested with BoringSSL, SChannel, NgHTTP2, libssh2, RTMP, WinLDAP, WinSSPI etc. |
Compiling libcurl with the combination
-DUSE_SCHANNEL
,-DHAVE_BORINGSSL
and-DUSE_OPENSSL
, breaks in several places because of (from clang-cl):A fix is already in ldap.c:
which IMHO should be moved to another place.
urldata.h
?The text was updated successfully, but these errors were encountered: