openssl/crypto
Matt Caswell fcb318c64b Fix Windows 64 bit crashes
The function InitOnceExceuteOnce is the best way to support the
implementation of CRYPTO_THREAD_run_once() on Windows. Unfortunately
WinXP doesn't have it. To get around that we had two different
implementations: one for WinXP and one for later versions. Which one was
used was based on the value of _WIN32_WINNT.

This approach was starting to cause problems though because other parts of
OpenSSL assume _WIN32_WINNT is going to be 0x0501 and crashes were
occurring dependant on include file ordering. In addition a conditional
based on _WIN32_WINNT had made its way into a public header file through
commit 5c4328f. This is problematic because the value of this macro can
vary between OpenSSL build time and application build time.

The simplest solution to this mess is just to always use the WinXP version
of CRYPTO_THREAD_run_once(). Its perhaps slightly sub-optimal but probably
not noticably.

GitHub Issue #1086

Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-05-20 23:08:18 +01:00
..
aes Copyright consolidation 05/10 2016-05-17 15:38:09 -04:00
asn1 Rename lh_xxx,sk_xxx tp OPENSSL_{LH,SK}_xxx 2016-05-20 10:48:29 -04:00
async Manual fixes after copyright consolidation 2016-05-17 17:38:18 -04:00
bf Copyright consolidation 09/10 2016-05-17 14:53:16 -04:00
bio Fix some malloc failures in b_addr.c 2016-05-18 10:47:15 +01:00
blake2 Copyright consolidation 09/10 2016-05-17 14:53:16 -04:00
bn Manual fixes after copyright consolidation 2016-05-17 17:38:18 -04:00
buffer Manual fixes after copyright consolidation 2016-05-17 17:38:18 -04:00
camellia Copyright consolidation 09/10 2016-05-17 14:53:16 -04:00
cast Copyright consolidation 09/10 2016-05-17 14:53:16 -04:00
chacha Copyright consolidation 09/10 2016-05-17 14:53:16 -04:00
cmac Copyright consolidation 06/10 2016-05-17 14:51:04 -04:00
cms Manual fixes after copyright consolidation 2016-05-17 17:38:18 -04:00
comp Manual fixes after copyright consolidation 2016-05-17 17:38:18 -04:00
conf Rename lh_xxx,sk_xxx tp OPENSSL_{LH,SK}_xxx 2016-05-20 10:48:29 -04:00
ct Manual fixes after copyright consolidation 2016-05-17 17:38:18 -04:00
des Manual fixes after copyright consolidation 2016-05-17 17:38:18 -04:00
dh Add some error messages for malloc fails 2016-05-18 10:47:15 +01:00
dsa Add some error messages for malloc fails 2016-05-18 10:47:15 +01:00
dso Manual fixes after copyright consolidation 2016-05-17 17:38:18 -04:00
ec Manual fixes after copyright consolidation 2016-05-17 17:38:18 -04:00
engine Manual fixes after copyright consolidation 2016-05-17 17:38:18 -04:00
err Cleanup openssl.ec 2016-05-18 22:03:11 +02:00
evp Fix a NULL dereference in chacha20_poly1305_init_key() 2016-05-18 11:08:55 +02:00
hmac Copyright consolidation 07/10 2016-05-17 14:51:26 -04:00
idea Copyright consolidation 08/10 2016-05-17 14:51:34 -04:00
include/internal Copyright consolidation 05/10 2016-05-17 15:38:09 -04:00
kdf Manual fixes after copyright consolidation 2016-05-17 17:38:18 -04:00
lhash Rename lh_xxx,sk_xxx tp OPENSSL_{LH,SK}_xxx 2016-05-20 10:48:29 -04:00
md2 Copyright consolidation 05/10 2016-05-17 15:38:09 -04:00
md4 Copyright consolidation 08/10 2016-05-17 14:51:34 -04:00
md5 Copyright consolidation 09/10 2016-05-17 14:53:16 -04:00
mdc2 Copyright consolidation 07/10 2016-05-17 14:51:26 -04:00
modes Copyright consolidation 06/10 2016-05-17 14:51:04 -04:00
objects Rename lh_xxx,sk_xxx tp OPENSSL_{LH,SK}_xxx 2016-05-20 10:48:29 -04:00
ocsp Manual fixes after copyright consolidation 2016-05-17 17:38:18 -04:00
pem make update 2016-05-19 00:06:19 -04:00
perlasm Copyright consolidation: perl files 2016-04-20 09:45:40 -04:00
pkcs7 Copyright consolidation 04/10 2016-05-17 14:24:46 -04:00
pkcs12 Copyright consolidation 09/10 2016-05-17 14:53:16 -04:00
poly1305 Copyright consolidation 05/10 2016-05-17 15:38:09 -04:00
rand Clean up the VMS hacks in crypto/rand/randfile.c 2016-05-20 16:09:48 +02:00
rc2 Copyright consolidation 09/10 2016-05-17 14:53:16 -04:00
rc4 Copyright consolidation 04/10 2016-05-17 14:24:46 -04:00
rc5 Copyright consolidation 08/10 2016-05-17 14:51:34 -04:00
ripemd Copyright consolidation 08/10 2016-05-17 14:51:34 -04:00
rsa Add some error messages for malloc fails 2016-05-18 10:47:15 +01:00
seed Copyright consolidation 09/10 2016-05-17 14:53:16 -04:00
sha Copyright consolidation 09/10 2016-05-17 14:53:16 -04:00
srp Fix SRP client key computation 2016-05-18 23:02:30 +02:00
stack Rename lh_xxx,sk_xxx tp OPENSSL_{LH,SK}_xxx 2016-05-20 10:48:29 -04:00
ts Manual fixes after copyright consolidation 2016-05-17 17:38:18 -04:00
txt_db Rename lh_xxx,sk_xxx tp OPENSSL_{LH,SK}_xxx 2016-05-20 10:48:29 -04:00
ui Add some error messages for malloc fails 2016-05-18 10:47:15 +01:00
whrlpool Copyright consolidation 06/10 2016-05-17 14:51:04 -04:00
x509 When strict SCT fails record verification failure 2016-05-19 00:25:42 -04:00
x509v3 Ensure verify error is set when X509_verify_cert() fails 2016-05-18 15:16:37 -04:00
alphacpuid.pl Add assembly CRYPTO_memcmp. 2016-05-19 22:33:00 +02:00
arm64cpuid.pl Add assembly CRYPTO_memcmp. 2016-05-19 22:33:00 +02:00
arm_arch.h Copyright consolidation 07/10 2016-05-17 14:51:26 -04:00
armcap.c Copyright consolidation 07/10 2016-05-17 14:51:26 -04:00
armv4cpuid.pl Add assembly CRYPTO_memcmp. 2016-05-19 22:33:00 +02:00
build.info Break out DllMain from crypto/cryptlib.c and use it in shared libs only 2016-03-30 11:22:42 +02:00
c64xpluscpuid.pl Add assembly CRYPTO_memcmp. 2016-05-19 22:33:00 +02:00
cpt_err.c Manual fixes after copyright consolidation 2016-05-17 17:38:18 -04:00
cryptlib.c Add assembly CRYPTO_memcmp. 2016-05-19 22:33:00 +02:00
cversion.c Copyright consolidation 08/10 2016-05-17 14:51:34 -04:00
dllmain.c Copyright consolidation 09/10 2016-05-17 14:53:16 -04:00
ebcdic.c Copyright consolidation 05/10 2016-05-17 15:38:09 -04:00
ex_data.c Copyright consolidation 05/10 2016-05-17 15:38:09 -04:00
fips_err.h Manual fixes after copyright consolidation 2016-05-17 17:38:18 -04:00
fips_ers.c Copyright consolidation 04/10 2016-05-17 14:24:46 -04:00
ia64cpuid.S Add assembly CRYPTO_memcmp. 2016-05-19 22:33:00 +02:00
init.c Copyright consolidation 08/10 2016-05-17 14:51:34 -04:00
LPdir_nyi.c Copyright consolidation 06/10 2016-05-17 14:51:04 -04:00
LPdir_unix.c Copyright consolidation 08/10 2016-05-17 14:51:34 -04:00
LPdir_vms.c Copyright consolidation 05/10 2016-05-17 15:38:09 -04:00
LPdir_win.c Copyright consolidation 09/10 2016-05-17 14:53:16 -04:00
LPdir_win32.c Copyright consolidation 09/10 2016-05-17 14:53:16 -04:00
LPdir_wince.c Copyright consolidation 05/10 2016-05-17 15:38:09 -04:00
mem.c Copyright consolidation 06/10 2016-05-17 14:51:04 -04:00
mem_clr.c Copyright consolidation 06/10 2016-05-17 14:51:04 -04:00
mem_dbg.c Copyright consolidation 05/10 2016-05-17 15:38:09 -04:00
mem_sec.c Copyright consolidation 06/10 2016-05-17 14:51:04 -04:00
o_dir.c Copyright consolidation 05/10 2016-05-17 15:38:09 -04:00
o_fips.c Copyright consolidation 04/10 2016-05-17 14:24:46 -04:00
o_init.c Copyright consolidation 08/10 2016-05-17 14:51:34 -04:00
o_str.c Copyright consolidation 04/10 2016-05-17 14:24:46 -04:00
o_time.c Copyright consolidation 09/10 2016-05-17 14:53:16 -04:00
pariscid.pl Add assembly CRYPTO_memcmp. 2016-05-19 22:33:00 +02:00
ppc_arch.h Copyright consolidation 07/10 2016-05-17 14:51:26 -04:00
ppccap.c Copyright consolidation 09/10 2016-05-17 14:53:16 -04:00
ppccpuid.pl Add assembly CRYPTO_memcmp. 2016-05-19 22:33:00 +02:00
s390xcap.c Copyright consolidation 09/10 2016-05-17 14:53:16 -04:00
s390xcpuid.S Add assembly CRYPTO_memcmp. 2016-05-19 22:33:00 +02:00
sparc_arch.h Copyright consolidation 09/10 2016-05-17 14:53:16 -04:00
sparccpuid.S Add assembly CRYPTO_memcmp. 2016-05-19 22:33:00 +02:00
sparcv9cap.c Copyright consolidation 09/10 2016-05-17 14:53:16 -04:00
threads_none.c Copyright consolidation 04/10 2016-05-17 14:24:46 -04:00
threads_pthread.c Copyright consolidation 09/10 2016-05-17 14:53:16 -04:00
threads_win.c Fix Windows 64 bit crashes 2016-05-20 23:08:18 +01:00
uid.c Copyright consolidation 07/10 2016-05-17 14:51:26 -04:00
vms_rms.h Copyright consolidation 09/10 2016-05-17 14:53:16 -04:00
x86_64cpuid.pl Add assembly CRYPTO_memcmp. 2016-05-19 22:33:00 +02:00
x86cpuid.pl Add assembly CRYPTO_memcmp. 2016-05-19 22:33:00 +02:00