v01-0001-approach02-undefine-macro-after-gssapi-includes.patch

application/octet-stream

Filename: v01-0001-approach02-undefine-macro-after-gssapi-includes.patch
Type: application/octet-stream
Part: 1
Message: Re: Windows: openssl & gssapi dislike each other

Patch

Same data as JSON: GET /api/v1/attachments/:id/patch the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes. API reference →
Format: unified
Series: patch v1-0001
File+
src/include/libpq/libpq-be.h 9 0
diff --git a/src/include/libpq/libpq-be.h b/src/include/libpq/libpq-be.h
index 05cb1874c5..e82514dfbe 100644
--- a/src/include/libpq/libpq-be.h
+++ b/src/include/libpq/libpq-be.h
@@ -31,6 +31,15 @@
 #else
 #include <gssapi/gssapi.h>
 #endif							/* HAVE_GSSAPI_H */
+/*
+ * On Windows, <gssapi/gssapi.h> indirectly includes <wincrypt.h> and defines a macro 
+ * X509_NAME, which breaks our ability to use OpenSSL's version of that symbol 
+ * as <wincrypt.h> is bieng pulled after <openssl/ssl.h>. We can't reliably fix 
+ * that by re-ordering includes. Instead, just zap the #define again here.
+ */
+#ifdef X509_NAME
+#undef X509_NAME
+#endif
 #endif							/* ENABLE_GSS */
 
 #ifdef ENABLE_SSPI