Use RAND_METHOD for implementing RAND_status.

This commit is contained in:
Bodo Möller 2000-03-02 14:34:58 +00:00
parent 2d092edf5e
commit 5eb8ca4d92
4 changed files with 16 additions and 1 deletions

View File

@ -4,6 +4,11 @@
Changes between 0.9.5 and 0.9.6 [XX XXX 2000]
*) Include RAND_status() into RAND_METHOD instead of implementing
it only for md_rand.c Otherwise replacing the PRNG by calling
RAND_set_rand_method would be impossible.
[Bodo Moeller]
*) Don't let DSA_generate_key() enter an infinite loop if the random
number generation fails.
[Bodo Moeller]

View File

@ -156,6 +156,7 @@ static void ssleay_rand_seed(const void *buf, int num);
static void ssleay_rand_add(const void *buf, int num, double add_entropy);
static int ssleay_rand_bytes(unsigned char *buf, int num);
static int ssleay_rand_pseudo_bytes(unsigned char *buf, int num);
static int ssleay_rand_status(void);
RAND_METHOD rand_ssleay_meth={
ssleay_rand_seed,
@ -163,6 +164,7 @@ RAND_METHOD rand_ssleay_meth={
ssleay_rand_cleanup,
ssleay_rand_add,
ssleay_rand_pseudo_bytes,
ssleay_rand_status
};
RAND_METHOD *RAND_SSLeay(void)
@ -502,7 +504,7 @@ static int ssleay_rand_pseudo_bytes(unsigned char *buf, int num)
return (ret);
}
int RAND_status(void)
static int ssleay_rand_status(void)
{
if (!initialized)
ssleay_rand_initialize();

View File

@ -70,6 +70,7 @@ typedef struct rand_meth_st
void (*cleanup)(void);
void (*add)(const void *buf, int num, double entropy);
int (*pseudorand)(unsigned char *buf, int num);
int (*status)(void);
} RAND_METHOD;
#ifdef BN_DEBUG

View File

@ -108,3 +108,10 @@ int RAND_pseudo_bytes(unsigned char *buf, int num)
return rand_meth->pseudorand(buf,num);
return(-1);
}
int RAND_status(void)
{
if (rand_meth != NULL)
return rand_meth->status();
return 0;
}