diff options
author | Pauli <pauli@openssl.org> | 2021-03-29 11:19:33 +1000 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2021-03-30 18:59:42 +0200 |
commit | 53d85372caac7a81eb14bea2eb06464778ed163c (patch) | |
tree | 157b2cdd75f370b5706f3b3ccc669246626816fd /ssl/ssl_local.h | |
parent | d1a57d873b0e8a09370010f5f632c3f10c7cf9fc (diff) | |
download | openssl-53d85372caac7a81eb14bea2eb06464778ed163c.tar.gz |
ssl: fix problem where MAC IDs were globally cached.
Instead, they should be cached per SSL_CTX.
This also addresses a threading issue where multiple attempts to write the
same location occur. The last one winning. Under 1.1.1, this wasn't an issue
but under 3.0 with library contexts, the results can and will be different.
Fixes #13456
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14715)
Diffstat (limited to 'ssl/ssl_local.h')
-rw-r--r-- | ssl/ssl_local.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/ssl/ssl_local.h b/ssl/ssl_local.h index 127011b62c..023e6f4378 100644 --- a/ssl/ssl_local.h +++ b/ssl/ssl_local.h @@ -1178,6 +1178,7 @@ struct ssl_ctx_st { char *propq; + int ssl_mac_pkey_id[SSL_MD_NUM_IDX]; const EVP_CIPHER *ssl_cipher_methods[SSL_ENC_NUM_IDX]; const EVP_MD *ssl_digest_methods[SSL_MD_NUM_IDX]; size_t ssl_mac_secret_size[SSL_MD_NUM_IDX]; |