boringssl/include/openssl
David Benjamin 1269ddd377 Never use the internal session cache for a client.
The internal session cache is keyed on session ID, so this is completely
useless for clients (indeed we never look it up internally). Along the way,
tidy up ssl_update_cache to be more readable. The slight behavior change is
that SSL_CTX_add_session's return code no longer controls the external
callback. It's not clear to me what that could have accomplished. (It can only
fail on allocation error. We only call it for new sessions, so the duplicate
case is impossible.)

The one thing of value the internal cache might have provided is managing the
timeout. The SSL_CTX_flush_sessions logic would flip the not_resumable bit and
cause us not to offer expired sessions (modulo SSL_CTX_flush_sessions's delay
and any discrepancies between the two caches). Instead, just check expiration
when deciding whether or not to offer a session.

This way clients that set SSL_SESS_CACHE_CLIENT blindly don't accidentally
consume gobs of memory.

BUG=531194

Change-Id: If97485beab21874f37737edc44df24e61ce23705
Reviewed-on: https://boringssl-review.googlesource.com/6321
Reviewed-by: Adam Langley <alangley@gmail.com>
2015-10-26 19:27:28 +00:00
..
aead.h Restore the NULL-SHA ciphersuite. (Alas.) 2015-09-11 22:18:08 +00:00
aes.h Fix documentation typo. 2015-07-01 21:33:29 +00:00
arm_arch.h Allow ARM capabilities to be set at compile time. 2015-10-20 22:40:15 +00:00
asn1_mac.h Ditch remaining filename comments from public headers and ssl/ 2015-10-20 18:40:05 +00:00
asn1.h Ditch remaining filename comments from public headers and ssl/ 2015-10-20 18:40:05 +00:00
asn1t.h Ditch remaining filename comments from public headers and ssl/ 2015-10-20 18:40:05 +00:00
base64.h Deprecate basically the entire base64 implementation. 2015-09-28 21:53:39 +00:00
base.h Deprecate basically the entire base64 implementation. 2015-09-28 21:53:39 +00:00
bio.h Align BIO_get_fd with upstream. 2015-10-12 22:18:17 +00:00
blowfish.h Add decrepit, initially containing CAST and Blowfish. 2015-04-06 16:58:45 -07:00
bn.h Work around even more Estonian ID card misissuances. 2015-09-23 20:35:47 +00:00
buf.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
buffer.h Add buffer.h for compatibility. 2015-05-12 00:09:57 +00:00
bytestring.h Convert ssl3_send_client_hello to CBB. 2015-10-20 17:56:19 +00:00
cast.h Add decrepit, initially containing CAST and Blowfish. 2015-04-06 16:58:45 -07:00
chacha.h Fix shared library build. 2015-07-10 18:59:49 +00:00
cipher.h Re-add |EVP_des_ede|, which is ECB. 2015-08-20 21:33:21 +00:00
cmac.h Style: fix some header guards 2015-10-26 18:47:51 +00:00
conf.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
cpu.h Allow ARM capabilities to be set at compile time. 2015-10-20 22:40:15 +00:00
crypto.h Include thread.h from crypto.h, like OpenSSL. 2015-08-05 21:25:23 +00:00
des.h Clean up the DES_key_schedule logic. 2015-08-07 01:55:59 +00:00
dh.h Fix pub_key comment in dh.h. 2015-08-17 20:32:51 +00:00
digest.h Documentation typo. 2015-09-28 22:18:40 +00:00
dsa.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
dtls1.h Opaquify DTLS structs. 2015-05-08 18:02:02 +00:00
ec_key.h Fix o2i_ECPublicKey documentation. 2015-07-20 20:39:43 +00:00
ec.h Remove the ifdef around ec.h's ec_key.h compatibility include 2015-10-13 18:14:52 +00:00
ecdh.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
ecdsa.h Fix several minor points noticed by Kenny. 2015-09-24 22:08:50 +00:00
engine.h Convert reference counts in crypto/ 2015-05-20 19:15:26 +00:00
err.h Fix minor documentation mistake. 2015-09-15 23:19:57 +00:00
evp.h Revert "pound-define EVP_R_BAD_DECRYPT CIPHER_R_BAD_DECRYPT." 2015-08-05 12:16:11 -07:00
ex_data.h Correct various documentation typos 2015-06-10 22:06:01 +00:00
hkdf.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
hmac.h Remove HMAC_CTX_set_flags. 2015-06-02 01:07:07 +00:00
lhash_macros.h Remove hash table lookups from ex_data. 2015-04-15 23:59:35 +00:00
lhash.h Style: fix some header guards 2015-10-26 18:47:51 +00:00
md4.h Fix some typos in license headers. 2015-07-29 19:23:51 +00:00
md5.h Fix some typos in license headers. 2015-07-29 19:23:51 +00:00
mem.h Fix some typos in license headers. 2015-07-29 19:23:51 +00:00
modes.h Add visibility rules. 2014-07-31 22:03:11 +00:00
obj_mac.h Remove fake RLE compression OID. 2015-05-27 21:49:39 +00:00
obj.h Style: fix some header guards 2015-10-26 18:47:51 +00:00
objects.h
opensslfeatures.h Remove remaining remnants of RIPEMD-160 support. 2015-03-17 21:03:42 +00:00
opensslv.h Get version-related functions from crypto.h rather than ssl.h. 2015-05-20 22:58:14 +00:00
ossl_typ.h
pem.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
pkcs7.h
pkcs8.h Add |PKCS12_verify_mac|. 2015-09-29 20:30:35 +00:00
pkcs12.h
poly1305.h Fix several minor points noticed by Kenny. 2015-09-24 22:08:50 +00:00
pqueue.h Export pqueue functions. 2014-09-03 21:38:19 +00:00
rand.h Buffer reads of urandom, if you promise no forking. 2015-09-09 01:02:54 +00:00
rc4.h Fix up whitespace in headers for doc.go. 2015-04-08 17:32:55 -07:00
rsa.h size_t RSA functions. 2015-10-19 23:54:47 +00:00
safestack.h Rename safe_stack.h to safestack.h. 2015-02-20 23:33:48 +00:00
sha.h Low-level hash 'final' functions cannot fail. 2015-06-01 22:14:01 +00:00
srtp.h Fold srtp.h into ssl.h. 2015-09-14 23:59:37 +00:00
ssl3.h Fix ssl3.h / ssl.h circular dependency. 2015-10-26 17:50:32 +00:00
ssl.h Never use the internal session cache for a client. 2015-10-26 19:27:28 +00:00
stack_macros.h Implement custom extensions. 2015-07-31 01:12:00 +00:00
stack.h Drop DEFINE_STACK_OF. 2015-08-05 21:30:08 +00:00
thread.h Readd CRYPTO_{LOCK|UNLOCK|READ|WRITE}. 2015-05-27 15:48:29 -07:00
time_support.h Style: fix some header guards 2015-10-26 18:47:51 +00:00
tls1.h Move remaining functions out of tls1.h. 2015-10-26 17:38:40 +00:00
type_check.h Try to fix MSVC and __STDC_VERSION__ again. 2015-05-20 13:42:12 -07:00
x509_vfy.h Ditch remaining filename comments from public headers and ssl/ 2015-10-20 18:40:05 +00:00
x509.h Ditch remaining filename comments from public headers and ssl/ 2015-10-20 18:40:05 +00:00
x509v3.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00