summaryrefslogtreecommitdiff
path: root/drivers/builtin_openssl2/winrt_fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/builtin_openssl2/winrt_fix.patch')
-rw-r--r--drivers/builtin_openssl2/winrt_fix.patch64
1 files changed, 64 insertions, 0 deletions
diff --git a/drivers/builtin_openssl2/winrt_fix.patch b/drivers/builtin_openssl2/winrt_fix.patch
new file mode 100644
index 0000000000..caf180a75b
--- /dev/null
+++ b/drivers/builtin_openssl2/winrt_fix.patch
@@ -0,0 +1,64 @@
+diff --git a/drivers/builtin_openssl2/crypto/rand/rand_win.c b/drivers/builtin_openssl2/crypto/rand/rand_win.c
+index 06670ae..70fd52a 100644
+--- a/drivers/builtin_openssl2/crypto/rand/rand_win.c
++++ b/drivers/builtin_openssl2/crypto/rand/rand_win.c
+@@ -118,8 +118,10 @@
+ # ifndef _WIN32_WINNT
+ # define _WIN32_WINNT 0x0400
+ # endif
++#ifndef WINRT_ENABLED
+ # include <wincrypt.h>
+ # include <tlhelp32.h>
++#endif
+
+ /*
+ * Limit the time spent walking through the heap, processes, threads and
+@@ -161,7 +163,7 @@ typedef struct tagCURSORINFO {
+ # define CURSOR_SHOWING 0x00000001
+ # endif /* CURSOR_SHOWING */
+
+-# if !defined(OPENSSL_SYS_WINCE)
++# if !defined(OPENSSL_SYS_WINCE) && !defined(WINRT_ENABLED)
+ typedef BOOL(WINAPI *CRYPTACQUIRECONTEXTW) (HCRYPTPROV *, LPCWSTR, LPCWSTR,
+ DWORD, DWORD);
+ typedef BOOL(WINAPI *CRYPTGENRANDOM) (HCRYPTPROV, DWORD, BYTE *);
+@@ -196,6 +198,7 @@ typedef NET_API_STATUS(NET_API_FUNCTION *NETFREE) (LPBYTE);
+ # endif /* 1 */
+ # endif /* !OPENSSL_SYS_WINCE */
+
++#if !defined(WINRT_ENABLED)
+ int RAND_poll(void)
+ {
+ MEMORYSTATUS m;
+@@ -580,6 +583,8 @@ int RAND_poll(void)
+ return (1);
+ }
+
++#endif // WINRT_ENABLED
++
+ int RAND_event(UINT iMsg, WPARAM wParam, LPARAM lParam)
+ {
+ double add_entropy = 0;
+@@ -682,7 +687,7 @@ static void readtimer(void)
+
+ static void readscreen(void)
+ {
+-# if !defined(OPENSSL_SYS_WINCE) && !defined(OPENSSL_SYS_WIN32_CYGWIN)
++# if !defined(OPENSSL_SYS_WINCE) && !defined(OPENSSL_SYS_WIN32_CYGWIN) && !defined(WINRT_ENABLED)
+ HDC hScrDC; /* screen DC */
+ HBITMAP hBitmap; /* handle for our bitmap */
+ BITMAP bm; /* bitmap properties */
+diff --git a/drivers/builtin_openssl2/openssl/dtls1.h b/drivers/builtin_openssl2/openssl/dtls1.h
+index 64ad3c8..a58aca2 100644
+--- a/drivers/builtin_openssl2/openssl/dtls1.h
++++ b/drivers/builtin_openssl2/openssl/dtls1.h
+@@ -81,6 +81,9 @@
+ # include <sys/time.h>
+ # endif
+ # endif
++#ifdef WINRT_ENABLED
++#include <winsock2.h>
++#endif
+
+ #ifdef __cplusplus
+ extern "C" {