forked from wolfSSL/wolfssl
RAND_poll
This commit is contained in:
21
src/ssl.c
21
src/ssl.c
@ -21564,6 +21564,27 @@ int wolfSSL_RAND_bytes(unsigned char* buf, int num)
|
||||
return ret;
|
||||
}
|
||||
|
||||
#define RAND_ENTROPY_SZ (256/16)
|
||||
int wolfSSL_RAND_poll()
|
||||
{
|
||||
WOLFSSL_ENTER("wolfSSL_RAND_poll");
|
||||
byte entropy[RAND_ENTROPY_SZ];
|
||||
int ret = 0;
|
||||
|
||||
if (initGlobalRNG == 0){
|
||||
WOLFSSL_MSG("Global RNG no Init");
|
||||
return WOLFSSL_FAILURE;
|
||||
}
|
||||
ret = wc_GenerateSeed(&globalRNG.seed, entropy, RAND_ENTROPY_SZ);
|
||||
if (ret != 0){
|
||||
WOLFSSL_MSG("Bad wc_RNG_GenerateBlock");
|
||||
ret = WOLFSSL_FAILURE;
|
||||
}else
|
||||
ret = WOLFSSL_SUCCESS;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
WOLFSSL_BN_CTX* wolfSSL_BN_CTX_new(void)
|
||||
{
|
||||
static int ctx; /* wolfcrypt doesn't now need ctx */
|
||||
|
@ -17216,6 +17216,7 @@ static void test_wolfSSL_RAND(void)
|
||||
printf(testingFmt, "wolfSSL_RAND()");
|
||||
|
||||
RAND_seed(seed, sizeof(seed));
|
||||
AssertIntEQ(RAND_poll(), 1);
|
||||
RAND_cleanup();
|
||||
|
||||
AssertIntEQ(RAND_egd(NULL), -1);
|
||||
|
@ -564,6 +564,10 @@ typedef WOLFSSL_EVP_CIPHER_CTX EVP_CIPHER_CTX;
|
||||
|
||||
WOLFSSL_API void printPKEY(WOLFSSL_EVP_PKEY *k);
|
||||
|
||||
WOLFSSL_API void wolfSSL_OPENSSL_add_all_algorithms_noconf(void);
|
||||
|
||||
#define OPENSSL_add_all_algorithms_noconf wolfSSL_OPENSSL_add_all_algorithms_noconf
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
@ -297,6 +297,7 @@ typedef WOLFSSL_X509_STORE_CTX X509_STORE_CTX;
|
||||
#define RAND_seed wolfSSL_RAND_seed
|
||||
#define RAND_cleanup wolfSSL_RAND_Cleanup
|
||||
#define RAND_add wolfSSL_RAND_add
|
||||
#define RAND_poll wolfSSL_RAND_poll
|
||||
|
||||
#define COMP_zlib wolfSSL_COMP_zlib
|
||||
#define COMP_rle wolfSSL_COMP_rle
|
||||
|
@ -837,6 +837,7 @@ WOLFSSL_API int wolfSSL_RAND_egd(const char*);
|
||||
WOLFSSL_API int wolfSSL_RAND_seed(const void*, int);
|
||||
WOLFSSL_API void wolfSSL_RAND_Cleanup(void);
|
||||
WOLFSSL_API void wolfSSL_RAND_add(const void*, int, double);
|
||||
WOLFSSL_API int wolfSSL_RAND_poll(void);
|
||||
|
||||
WOLFSSL_API WOLFSSL_COMP_METHOD* wolfSSL_COMP_zlib(void);
|
||||
WOLFSSL_API WOLFSSL_COMP_METHOD* wolfSSL_COMP_rle(void);
|
||||
|
Reference in New Issue
Block a user