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 Get pointer type right in BIO_ssl_shutdown() 2017-03-07 09:56:49 -05:00
build.info Move ssl/t1_ext.c to ssl/statem/extensions_cust.c 2017-04-07 13:41:04 +01:00
d1_lib.c Code health: Stop using timeb.h / ftime() (VMS only) 2017-02-28 15:32:01 +01:00
d1_msg.c Remove special case code for SCTP reneg handling 2017-04-25 11:13:39 +01:00
d1_srtp.c Move client parsing of ServerHello extensions into new framework 2016-12-08 17:18:25 +00:00
methods.c Add the SSL_METHOD for TLSv1.3 and all other base changes required 2016-11-02 13:08:21 +00:00
packet.c TLS1.3 Padding 2017-05-02 09:44:43 +01:00
packet_locl.h TLS1.3 Padding 2017-05-02 09:44:43 +01:00
pqueue.c Fix a missed size_t variable declaration 2016-11-04 12:09:46 +00:00
s3_cbc.c Clean up references to FIPS 2017-02-28 15:26:25 +01:00
s3_enc.c Remove support for OPENSSL_SSL_TRACE_CRYPTO 2017-05-08 11:42:37 +01:00
s3_lib.c Remove ECDH(E) ciphers from SSLv3 2017-04-11 13:25:19 -04:00
s3_msg.c Provide functions to write early data 2017-03-02 17:44:14 +00:00
ssl_asn1.c ASN.1: adapt our use of INTxx et al by making them explicitely embedded 2017-04-13 10:23:31 +02:00
ssl_cert.c Ignore dups in X509_STORE_add_* 2017-04-20 15:33:42 -04:00
ssl_ciph.c Remove some obsolete/obscure internal define switches: 2017-03-01 10:44:49 +01:00
ssl_conf.c TLS1.3 Padding 2017-05-02 09:44:43 +01:00
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 Indent ssl/ 2016-08-18 14:02:29 +02:00
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 Fix misc size_t issues causing Windows warnings in 64 bit 2016-11-04 12:09:46 +00:00
ssl_rsa.c Updates to serverinfo fix based on review feedback 2017-05-04 16:02:08 +01:00
ssl_sess.c Add support for SSL_SESSION_is_resumable() 2017-04-26 16:42:29 +01:00
ssl_stat.c Add missing debug strings. 2016-09-07 16:08:38 -04:00
ssl_txt.c Move extension data into sub-structs 2017-01-09 22:26:47 -05:00
ssl_utst.c Remove heartbeat support 2016-11-13 16:24:02 -05:00
t1_enc.c Remove support for OPENSSL_SSL_TRACE_CRYPTO 2017-05-08 11:42:37 +01:00
t1_lib.c Add a ciphersuite config sanity check for servers 2017-04-26 14:31:00 +01:00
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 Indent ssl/ 2016-08-18 14:02:29 +02:00