openssl/ssl
Benjamin Kaduk d316cdcf6d Do not cache sessions with zero sid_ctx_length when SSL_VERIFY_PEER
The sid_ctx is something of a "certificate request context" or a
"session ID context" -- something from the application that gives
extra indication of what sort of thing this session is/was for/from.
Without a sid_ctx, we only know that there is a session that we
issued, but it could have come from a number of things, especially
with an external (shared) session cache.  Accordingly, when resuming,
we will hard-error the handshake when presented with a session with
zero-length sid_ctx and SSL_VERIFY_PEER is set -- we simply have no
information about the peer to verify, so the verification must fail.

In order to prevent these future handshake failures, proactively
decline to add the problematic sessions to the session cache.

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5175)
2018-03-20 19:30:48 -05:00
..
record Update copyright year 2018-03-20 13:08:46 +00:00
statem Place ticket keys into secure memory 2018-03-19 11:07:08 -04:00
bio_ssl.c Add comments to NULL func ptrs in bio_method_st 2017-12-18 07:04:48 +10:00
build.info
d1_lib.c More record layer conversions to use SSLfatal() 2017-12-08 16:42:02 +00:00
d1_msg.c
d1_srtp.c
methods.c
packet_locl.h
packet.c
pqueue.c
s3_cbc.c
s3_enc.c Update copyright year 2018-03-20 13:08:46 +00:00
s3_lib.c Place ticket keys into secure memory 2018-03-19 11:07:08 -04:00
s3_msg.c Update copyright year 2018-02-13 13:59:25 +00:00
ssl_asn1.c Update copyright year 2018-03-20 13:08:46 +00:00
ssl_cert_table.h Update copyright year 2018-03-20 13:08:46 +00:00
ssl_cert.c Update copyright years on all files merged since Jan 1st 2018 2018-01-09 05:49:01 +01:00
ssl_ciph.c Split configuration of TLSv1.3 ciphers from older ciphers 2018-03-14 10:15:50 +00:00
ssl_conf.c Split configuration of TLSv1.3 ciphers from older ciphers 2018-03-14 10:15:50 +00:00
ssl_err.c Split configuration of TLSv1.3 ciphers from older ciphers 2018-03-14 10:15:50 +00:00
ssl_init.c In OPENSSL_init_ssl(), run the base ssl init before OPENSSL_init_crypto() 2017-12-08 16:08:39 +01:00
ssl_lib.c Do not cache sessions with zero sid_ctx_length when SSL_VERIFY_PEER 2018-03-20 19:30:48 -05:00
ssl_locl.h Place ticket keys into secure memory 2018-03-19 11:07:08 -04:00
ssl_mcnf.c Update copyright year 2018-03-20 13:08:46 +00:00
ssl_rsa.c Update copyright year 2018-03-20 13:08:46 +00:00
ssl_sess.c Update copyright year 2018-03-20 13:08:46 +00:00
ssl_stat.c Merge HRR into ServerHello 2017-12-14 15:06:37 +00:00
ssl_txt.c
ssl_utst.c
t1_enc.c Update copyright year 2018-03-20 13:08:46 +00:00
t1_lib.c Place ticket keys into secure memory 2018-03-19 11:07:08 -04:00
t1_trce.c Fix miscellaneous typos in docs and source 2018-03-17 18:24:03 +01:00
tls13_enc.c Don't use a ssl specific DRBG anymore 2018-03-19 15:04:40 +01:00
tls_srp.c Don't use a ssl specific DRBG anymore 2018-03-19 15:04:40 +01:00