openssl/ssl
Matt Caswell 21181889d7 Copy custom extension flags in a call to SSL_set_SSL_CTX()
The function SSL_set_SSL_CTX() can be used to swap the SSL_CTX used for
a connection as part of an SNI callback. One result of this is that the
s->cert structure is replaced. However this structure contains information
about any custom extensions that have been loaded. In particular flags are
set indicating whether a particular extension has been received in the
ClientHello. By replacing the s->cert structure we lose the custom
extension flag values, and it appears as if a client has not sent those
extensions.

SSL_set_SSL_CTX() should copy any flags for custom extensions that appear
in both the old and the new cert structure.

Fixes #2180

Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3425)
2017-05-10 16:49:00 +01:00
..
record Add support to SSL_trace() for inner content types 2017-05-08 11:42:37 +01:00
statem Copy custom extension flags in a call to SSL_set_SSL_CTX() 2017-05-10 16:49:00 +01:00
bio_ssl.c
build.info
d1_lib.c
d1_msg.c
d1_srtp.c
methods.c
packet_locl.h
packet.c
pqueue.c
s3_cbc.c
s3_enc.c Remove support for OPENSSL_SSL_TRACE_CRYPTO 2017-05-08 11:42:37 +01:00
s3_lib.c
s3_msg.c
ssl_asn1.c
ssl_cert.c
ssl_ciph.c
ssl_conf.c
ssl_err.c Verify that if we have an HRR then something will change 2017-05-09 17:23:58 +01:00
ssl_init.c
ssl_lib.c Copy custom extension flags in a call to SSL_set_SSL_CTX() 2017-05-10 16:49:00 +01:00
ssl_locl.h Copy custom extension flags in a call to SSL_set_SSL_CTX() 2017-05-10 16:49:00 +01:00
ssl_mcnf.c
ssl_rsa.c Updates to serverinfo fix based on review feedback 2017-05-04 16:02:08 +01:00
ssl_sess.c
ssl_stat.c
ssl_txt.c
ssl_utst.c
t1_enc.c Remove support for OPENSSL_SSL_TRACE_CRYPTO 2017-05-08 11:42:37 +01:00
t1_lib.c
t1_trce.c Add support to SSL_trace() for inner content types 2017-05-08 11:42:37 +01:00
tls13_enc.c Remove support for OPENSSL_SSL_TRACE_CRYPTO 2017-05-08 11:42:37 +01:00
tls_srp.c