diff options
author | Tomas Mraz <tomas@openssl.org> | 2022-06-20 17:11:28 +0200 |
---|---|---|
committer | Hugo Landau <hlandau@openssl.org> | 2022-07-28 10:04:28 +0100 |
commit | 38b051a1fedc79ebf24a96de2e9a326ad3665baf (patch) | |
tree | e32fa2a0a5cf8572b48b3cb8a1aac2a20d0b439f /ssl/tls_depr.c | |
parent | ce602bb0a20589e5a84c48a55ce13219ab881e84 (diff) |
SSL object refactoring using SSL_CONNECTION object
Make the SSL object polymorphic based on whether this is
a traditional SSL connection, QUIC connection, or later
to be implemented a QUIC stream.
It requires adding if after every SSL_CONNECTION_FROM_SSL() call
which itself has to be added to almost every public SSL_ API call.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18612)
Diffstat (limited to 'ssl/tls_depr.c')
-rw-r--r-- | ssl/tls_depr.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/ssl/tls_depr.c b/ssl/tls_depr.c index 1761ba1d8e..85ed9f25f9 100644 --- a/ssl/tls_depr.c +++ b/ssl/tls_depr.c @@ -64,10 +64,14 @@ const EVP_MD *tls_get_digest_from_engine(int nid) } #ifndef OPENSSL_NO_ENGINE -int tls_engine_load_ssl_client_cert(SSL *s, X509 **px509, EVP_PKEY **ppkey) +int tls_engine_load_ssl_client_cert(SSL_CONNECTION *s, X509 **px509, + EVP_PKEY **ppkey) { - return ENGINE_load_ssl_client_cert(s->ctx->client_cert_engine, s, - SSL_get_client_CA_list(s), + SSL *ssl = SSL_CONNECTION_GET_SSL(s); + + return ENGINE_load_ssl_client_cert(SSL_CONNECTION_GET_CTX(s)->client_cert_engine, + ssl, + SSL_get_client_CA_list(ssl), px509, ppkey, NULL, NULL, NULL); } #endif |