diff options
author | Matt Caswell <matt@openssl.org> | 2021-04-16 11:13:30 +0100 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2021-04-19 10:52:18 +0100 |
commit | 978e323a4dbc9e790c13cc479b68c260677dc4c4 (patch) | |
tree | cd6e8ff536212de5b5f83b8ba049a7ff7602cbd4 /crypto/context.c | |
parent | 92b20fb8f742d50ca9eae8c28a855df94b9a3783 (diff) |
Add the function OSSL_LIB_CTX_get0_global_default()
An API function for obtaining the global default lib ctx.
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14890)
Diffstat (limited to 'crypto/context.c')
-rw-r--r-- | crypto/context.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/crypto/context.c b/crypto/context.c index 07fff535ff..d7671d66a8 100644 --- a/crypto/context.c +++ b/crypto/context.c @@ -199,9 +199,17 @@ void OSSL_LIB_CTX_free(OSSL_LIB_CTX *ctx) OPENSSL_free(ctx); } +#ifndef FIPS_MODULE +OSSL_LIB_CTX *OSSL_LIB_CTX_get0_global_default(void) +{ + if (!RUN_ONCE(&default_context_init, default_context_do_init)) + return NULL; + + return &default_context_int; +} + OSSL_LIB_CTX *OSSL_LIB_CTX_set0_default(OSSL_LIB_CTX *libctx) { -#ifndef FIPS_MODULE OSSL_LIB_CTX *current_defctx; if ((current_defctx = get_default_context()) != NULL) { @@ -209,10 +217,10 @@ OSSL_LIB_CTX *OSSL_LIB_CTX_set0_default(OSSL_LIB_CTX *libctx) set_default_context(libctx); return current_defctx; } -#endif return NULL; } +#endif OSSL_LIB_CTX *ossl_lib_ctx_get_concrete(OSSL_LIB_CTX *ctx) { |