diff options
author | Shane Lontis <shane.lontis@oracle.com> | 2019-09-15 19:55:10 +1000 |
---|---|---|
committer | Shane Lontis <shane.lontis@oracle.com> | 2019-09-15 19:55:10 +1000 |
commit | 7bb82f92d94375e7673fe02cb8186595b2c539f2 (patch) | |
tree | 9ad368205615d359374430b91906e4c704135fae /providers/fips/fipsprov.c | |
parent | dd11c5f0fa809063b152cd2851c4c1e56fbd20c8 (diff) |
Add fips module integrity check
Add environment variable for setting CONF .include path
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/9769)
Diffstat (limited to 'providers/fips/fipsprov.c')
-rw-r--r-- | providers/fips/fipsprov.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/providers/fips/fipsprov.c b/providers/fips/fipsprov.c index cff172921c..67ce90ac13 100644 --- a/providers/fips/fipsprov.c +++ b/providers/fips/fipsprov.c @@ -464,8 +464,8 @@ int OSSL_provider_init(const OSSL_PROVIDER *provider, case OSSL_FUNC_BIO_NEW_MEMBUF: selftest_params.bio_new_buffer_cb = OSSL_get_BIO_new_membuf(in); break; - case OSSL_FUNC_BIO_READ: - selftest_params.bio_read_cb = OSSL_get_BIO_read(in); + case OSSL_FUNC_BIO_READ_EX: + selftest_params.bio_read_ex_cb = OSSL_get_BIO_read_ex(in); break; case OSSL_FUNC_BIO_FREE: selftest_params.bio_free_cb = OSSL_get_BIO_free(in); @@ -487,7 +487,15 @@ int OSSL_provider_init(const OSSL_PROVIDER *provider, OPENSSL_CTX_free(ctx); return 0; } + fgbl->prov = provider; + + selftest_params.libctx = PROV_LIBRARY_CONTEXT_OF(ctx); + if (!SELF_TEST_post(&selftest_params)) { + OPENSSL_CTX_free(ctx); + return 0; + } + *out = fips_dispatch_table; *provctx = ctx; |