boringssl/crypto
David Benjamin de24aadc5b Add RAND_set_urandom_fd.
Chromium uses a zygote process and a sandbox on Linux. In order for RAND_bytes
to be functional and guaranteed fork-safe inside the renderers, /dev/urandom
must be prewarmed. Calling RAND_bytes initializes a thread-local ChaCha20 key
when rdrand is available. So that key is fork-safe and to avoid tempting any
dragons by touching pthreads APIs before a non-exec fork, add a
RAND_set_urandom_fd API. It allows the consumer to supply the /dev/urandom fd
and promises to be fork-safe, both in initializing key material and use of
pthreads.

This doesn't affect any current shipping versions of Chrome.

BUG=462040

Change-Id: I1037e21e525918971380e4ea1371703c8237a0b0
Reviewed-on: https://boringssl-review.googlesource.com/5302
Reviewed-by: Adam Langley <agl@google.com>
2015-06-30 21:41:42 +00:00
..
aes aes/asm/bsaes-armv7.pl: fix compilation with Xcode 6.3. 2015-05-27 21:58:27 +00:00
asn1 Convert reference counts in crypto/ 2015-05-20 19:15:26 +00:00
base64 Add malloc test support to unit tests. 2015-05-21 17:59:48 +00:00
bio Restore |ERR_print_errors()|. 2015-06-23 21:41:24 +00:00
bn Check for BN_copy failures. 2015-06-15 17:52:40 +00:00
buf
bytestring Export |CBS_get_any_ber_asn1_element|. 2015-06-05 21:56:42 +00:00
chacha Emit #if guards for ARM assembly files. 2015-06-23 21:00:32 +00:00
cipher Add a GCM test with non-standard nonce length. 2015-06-18 17:35:59 -07:00
cmac Add support for CMAC (RFC 4493). 2015-05-07 21:13:41 +00:00
conf Add NCONF_load_bio. 2015-04-06 16:58:45 -07:00
des Restore |DES_ede3_cfb_encrypt| and |DES_ede3_cfb64_encrypt| from OpenSSL at ce7e647b. 2015-06-24 01:33:31 +00:00
dh Add malloc test support to unit tests. 2015-05-21 17:59:48 +00:00
digest Remove EVP_PKEY_HMAC. 2015-06-25 00:03:02 +00:00
dsa Fix some malloc test crashs. 2015-05-21 18:00:10 +00:00
ec Fix some malloc test crashs. 2015-05-21 18:00:10 +00:00
ecdh
ecdsa Expose ECDSA_SIG_max_len to size a DER ECDSA-Sig-Value. 2015-06-18 22:23:12 +00:00
engine
err Promote SSL_CTX_[gs]et_tlsext_ticket_keys to functions. 2015-06-25 22:39:36 +00:00
evp Remove EVP_PKEY_HMAC. 2015-06-25 00:03:02 +00:00
hkdf Add malloc test support to unit tests. 2015-05-21 17:59:48 +00:00
hmac Remove EVP_PKEY_HMAC. 2015-06-25 00:03:02 +00:00
lhash Fix some malloc test crashs. 2015-05-21 18:00:10 +00:00
md4 Fix integer types in low-level hash functions. 2015-06-01 22:12:21 +00:00
md5 Fix integer types in low-level hash functions. 2015-06-01 22:12:21 +00:00
modes Add some comments and tweak assertions for cbc.c. 2015-05-27 21:48:36 +00:00
obj Tidy up overflows in obj_cmp. 2015-05-28 17:22:19 +00:00
pem pem_lib: make |cipher_by_name| recognize some more ciphers. 2015-06-18 23:04:46 +00:00
perlasm Emit #if guards for ARM assembly files. 2015-06-23 21:00:32 +00:00
pkcs8 Add malloc test support to unit tests. 2015-05-21 17:59:48 +00:00
poly1305 Fix ARM Clang build. 2015-05-05 00:24:59 +00:00
rand Add RAND_set_urandom_fd. 2015-06-30 21:41:42 +00:00
rc4 Mind the end of the buffer in aligned case of generic RC4 implementation. 2015-05-12 19:31:09 +00:00
rsa Export pkcs1_prefixed_msg as RSA_add_pkcs1_prefix. 2015-06-16 19:09:45 +00:00
sha Fix compilation of sha256-armv4.S when using -march=armv6 2015-06-02 18:15:37 +00:00
stack Remove unnecessary NULL checks, part 4. 2015-05-04 23:13:12 +00:00
test Raise SIGTRAP rather than abort on failure. 2015-06-16 18:25:30 +00:00
x509 Fix signed/unsigned warnings for MSVC. 2015-06-23 15:46:00 -07:00
x509v3 Rename tabtest.c and v3nametest.c 2015-06-16 18:07:27 +00:00
arm_arch.h
CMakeLists.txt Add malloc test support to unit tests. 2015-05-21 17:59:48 +00:00
constant_time_test.c
cpu-arm-asm.S Don't probe for NEON with SIGILL on aarch64. 2015-02-03 19:56:25 +00:00
cpu-arm.c Support Trusty, an embedded platform. 2015-05-08 18:34:55 +00:00
cpu-intel.c Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
cpu-x86_64-asm.pl Remove explicit .hiddens from x86_64 perlasm files. 2015-02-25 21:26:16 +00:00
cpu-x86-asm.pl Never set RC4_CHAR. 2015-02-20 23:59:59 +00:00
crypto.c Fix |SSLeay|. 2015-05-20 17:44:44 +00:00
directory_posix.c Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
directory_win.c Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
directory.h
ex_data.c Remove unnecessary NULL checks, part 3. 2015-05-04 23:12:04 +00:00
header_removed.h
internal.h Have consumers supply OPENSSL_C11_ATOMIC. 2015-05-27 19:21:59 +00:00
mem.c Lowercase some Windows headers. 2015-03-31 22:21:42 +00:00
refcount_c11.c Cast refcounts to _Atomic before use. 2015-05-20 13:39:22 -07:00
refcount_lock.c Add infrastructure for reference counts. 2015-05-20 19:14:59 +00:00
refcount_test.c Specify argc and argv arguments to refcount_test:main. 2015-05-20 13:49:41 -07:00
thread_none.c Support Trusty, an embedded platform. 2015-05-08 18:34:55 +00:00
thread_pthread.c Support Trusty, an embedded platform. 2015-05-08 18:34:55 +00:00
thread_test.c Use the correct case for Windows headers. 2015-06-09 21:38:04 +00:00
thread_win.c Support Trusty, an embedded platform. 2015-05-08 18:34:55 +00:00
thread.c Remove leftovers of the old-style locks. 2015-05-20 19:18:44 +00:00
time_support.c Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00