boringssl/include/openssl
David Benjamin 5b33effa72 Rename OPENSSL_NO_THREADS, part 1.
BoringSSL depends on the platform's locking APIs to make internal global
state thread-safe, including the PRNG. On some single-threaded embedded
platforms, locking APIs may not exist, so this dependency may be disabled
with a build flag.

Doing so means the consumer promises the library will never be used in any
multi-threaded address space. It causes BoringSSL to be globally thread-unsafe.
Setting it inappropriately will subtly and unpredictably corrupt memory and
leak secret keys.

Unfortunately, folks sometimes misinterpreted OPENSSL_NO_THREADS as skipping an
internal thread pool or disabling an optionally extra-thread-safe mode. This is
not and has never been the case. Rename it to
OPENSSL_NO_THREADS_CORRUPT_MEMORY_AND_LEAK_SECRETS_IF_THREADED to clarify what
this option does.

Update-Note: As a first step, this CL makes both OPENSSL_NO_THREADS and
OPENSSL_NO_THREADS_CORRUPT_MEMORY_AND_LEAK_SECRETS_IF_THREADED work. A later CL
will remove the old name, so migrate callers after or at the same time as
picking up this CL.

Change-Id: Ibe4964ae43eb7a52f08fd966fccb330c0cc11a8c
Reviewed-on: https://boringssl-review.googlesource.com/32084
Commit-Queue: David Benjamin <davidben@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Reviewed-by: Adam Langley <agl@google.com>
2018-09-26 19:10:02 +00:00
..
aead.h Support symbol prefixes 2018-09-06 20:07:52 +00:00
aes.h
arm_arch.h
asn1_mac.h
asn1.h Support symbol prefixes 2018-09-06 20:07:52 +00:00
asn1t.h Remove ASN1_template_(i2d,d2i). 2017-09-15 22:53:43 +00:00
base64.h Document alternative functions to BIO_f_base64. 2018-09-07 15:58:12 +00:00
base.h Rename OPENSSL_NO_THREADS, part 1. 2018-09-26 19:10:02 +00:00
bio.h Document alternative functions to BIO_f_base64. 2018-09-07 15:58:12 +00:00
blowfish.h
bn.h Support symbol prefixes 2018-09-06 20:07:52 +00:00
buf.h Support symbol prefixes 2018-09-06 20:07:52 +00:00
buffer.h
bytestring.h Support symbol prefixes 2018-09-06 20:07:52 +00:00
cast.h
chacha.h Add chacha.h to the list of documented headers. 2017-10-12 15:27:34 +00:00
cipher.h Support symbol prefixes 2018-09-06 20:07:52 +00:00
cmac.h Support symbol prefixes 2018-09-06 20:07:52 +00:00
conf.h Support symbol prefixes 2018-09-06 20:07:52 +00:00
cpu.h Change OPENSSL_cpuid_setup to reserve more extended feature space. 2018-04-19 20:48:58 +00:00
crypto.h Add a pile of compatibility functions. 2018-08-13 23:13:26 +00:00
curve25519.h Support symbol prefixes 2018-09-06 20:07:52 +00:00
des.h
dh.h Add missing bssl::UpRef overloads. 2018-09-14 16:45:54 +00:00
digest.h Support symbol prefixes 2018-09-06 20:07:52 +00:00
dsa.h Add missing bssl::UpRef overloads. 2018-09-14 16:45:54 +00:00
dtls1.h
e_os2.h Add a stub e_os2.h header. 2018-05-08 01:32:14 +00:00
ec_key.h Add missing bssl::UpRef overloads. 2018-09-14 16:45:54 +00:00
ec.h Support symbol prefixes 2018-09-06 20:07:52 +00:00
ecdh.h Add ECDH_compute_key_fips inside the module. 2018-07-30 22:40:31 +00:00
ecdsa.h Support symbol prefixes 2018-09-06 20:07:52 +00:00
engine.h Support symbol prefixes 2018-09-06 20:07:52 +00:00
err.h Add some more compatibility functions. 2018-05-08 20:51:15 +00:00
evp.h Make symbol-prefixing work on ARM. 2018-09-07 17:43:05 +00:00
ex_data.h
hkdf.h
hmac.h Support symbol prefixes 2018-09-06 20:07:52 +00:00
is_boringssl.h
lhash_macros.h Add lh_FOO_retrieve_key to avoid stack-allocating SSL_SESSION. 2018-07-03 22:56:46 +00:00
lhash.h Add lh_FOO_retrieve_key to avoid stack-allocating SSL_SESSION. 2018-07-03 22:56:46 +00:00
md4.h
md5.h
mem.h Support symbol prefixes 2018-09-06 20:07:52 +00:00
nid.h
obj_mac.h
obj.h Add some more compatibility functions. 2018-05-08 20:51:15 +00:00
objects.h
opensslconf.h Switch OPENSSL_VERSION_NUMBER to 1.1.0. 2017-09-29 04:51:27 +00:00
opensslv.h
ossl_typ.h
pem.h Add a bunch of compatibility functions for PKCS#7. 2018-06-26 18:42:49 +00:00
pkcs7.h Support symbol prefixes 2018-09-06 20:07:52 +00:00
pkcs8.h Support symbol prefixes 2018-09-06 20:07:52 +00:00
pkcs12.h
poly1305.h
pool.h Support symbol prefixes 2018-09-06 20:07:52 +00:00
rand.h
rc4.h
ripemd.h
rsa.h Add missing bssl::UpRef overloads. 2018-09-14 16:45:54 +00:00
safestack.h
sha.h Remove SHA384_Transform from sha.h. 2018-09-20 14:57:36 +00:00
span.h Support symbol prefixes 2018-09-06 20:07:52 +00:00
srtp.h
ssl3.h Preliminary support for compressed certificates. 2018-06-04 21:24:20 +00:00
ssl.h Support symbol prefixes 2018-09-06 20:07:52 +00:00
stack.h Support symbol prefixes 2018-09-06 20:07:52 +00:00
thread.h Rename OPENSSL_NO_THREADS, part 1. 2018-09-26 19:10:02 +00:00
tls1.h Update TLS 1.3 citations for the final RFC. 2018-08-16 18:37:50 +00:00
type_check.h
x509_vfy.h Don't accept “SSL client” as a substitute for S/MIME in the Netscape cert type extension. 2018-08-06 21:52:28 +00:00
x509.h Push an error on sigalg mismatch in X509_verify. 2018-09-19 03:44:50 +00:00
x509v3.h Support symbol prefixes 2018-09-06 20:07:52 +00:00