From: Lee <ler762@users.sourceforge.net>
Date: Wed, 9 Aug 2023 07:47:37 +0000 (-0400)
Subject: windows: Enable building Privoxy with OpenSSL
X-Git-Tag: v_4_0_0~170
X-Git-Url: http://www.privoxy.org/gitweb/%22https:/faq/@default-cgi@toggle?a=commitdiff_plain;h=96a448cdd70b7369131a3093a9711532ec4f5840;p=privoxy.git

windows: Enable building Privoxy with OpenSSL

- openssl.c

I got random crashes when using openssl on windows; fixed with
  #include <openssl/applink.c>
I don't understand
  https://www.openssl.org/docs/faq.html
it seems to be applicable only to calling DLLs but even with
no DLLs involved that include also fixes the crashes that happen
when statically linking openssl

- project.h

pull in the required gunk for windows
---

diff --git a/openssl.c b/openssl.c
index 2841c125..4b1fceb5 100644
--- a/openssl.c
+++ b/openssl.c
@@ -38,6 +38,13 @@
 #include <openssl/pem.h>
 #include <openssl/md5.h>
 #include <openssl/x509v3.h>
+#ifdef _WIN32
+/* https://www.openssl.org/docs/faq.html
+   I’ve compiled a program under Windows and it crashes: Why?
+   tl,dr: because it needs this include:
+*/
+#include <openssl/applink.c>
+#endif /* _WIN32 */
 
 #include "config.h"
 #include "project.h"
diff --git a/project.h b/project.h
index b203ad33..04fbe8e0 100644
--- a/project.h
+++ b/project.h
@@ -65,6 +65,10 @@
 
 #ifdef FEATURE_HTTPS_INSPECTION_OPENSSL
 #ifdef _WIN32
+#include <windef.h>
+#include <minwindef.h>
+#include <basetsd.h>
+#include <minwinbase.h>
 #include <wincrypt.h>
 #undef X509_NAME
 #undef X509_EXTENSIONS