openssl/crypto/rand
Dr. Matthias St. Pierre a27cb956c0 Fix: uninstantiation breaks the RAND_DRBG callback mechanism
The RAND_DRBG callbacks are wrappers around the EVP_RAND callbacks.
During uninstantiation, the EVP_RAND callbacks got lost while the
RAND_DRBG callbacks remained, because RAND_DRBG_uninstantiate()
calls RAND_DRBG_set(), which recreates the EVP_RAND object.
This was causing drbgtest failures.

This commit fixes the problem by adding code to RAND_DRBG_set() for
saving and restoring the EVP_RAND callbacks.

Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/11195)
2020-07-23 01:12:48 +02:00
..
build.info evp_rand: documentation 2020-06-24 20:07:46 +10:00
drbg_lib.c Fix: uninstantiation breaks the RAND_DRBG callback mechanism 2020-07-23 01:12:48 +02:00
rand_deprecated.c evp_rand: documentation 2020-06-24 20:07:46 +10:00
rand_egd.c
rand_err.c rand: core APIs for provider friendly random. 2020-06-24 20:05:41 +10:00
rand_lib.c deprecate engines in libcrypto 2020-07-16 09:12:27 +02:00
rand_local.h DRBG: rename the DRBG taxonomy. 2020-07-14 19:20:11 +10:00
randfile.c Update copyright year 2020-07-16 14:47:04 +02:00