mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-08-02 20:24:39 +02:00
Added new define NO_DEV_URANDOM
to disable the use of /dev/urandom
. Added better named define WC_RNG_BLOCKING
to indicate block w/sleep(0) is okay.
This commit is contained in:
@@ -1725,21 +1725,23 @@ int wc_GenerateSeed(OS_Seed* os, byte* output, word32 sz)
|
|||||||
/* success, we're done */
|
/* success, we're done */
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
#ifdef FORCE_FAILURE_RDSEED
|
#ifdef FORCE_FAILURE_RDSEED
|
||||||
/* don't fallback to /dev/urandom */
|
/* don't fallback to /dev/urandom */
|
||||||
return ret;
|
return ret;
|
||||||
#else
|
#else
|
||||||
/* fallback to /dev/urandom attempt */
|
/* reset error and fallback to using /dev/urandom */
|
||||||
ret = 0;
|
ret = 0;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* HAVE_INTEL_RDSEED */
|
#endif /* HAVE_INTEL_RDSEED */
|
||||||
|
|
||||||
os->fd = open("/dev/urandom",O_RDONLY);
|
#ifndef NO_DEV_URANDOM /* way to disable use of /dev/urandom */
|
||||||
if (os->fd == -1) {
|
os->fd = open("/dev/urandom", O_RDONLY);
|
||||||
|
if (os->fd == -1)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
/* may still have /dev/random */
|
/* may still have /dev/random */
|
||||||
os->fd = open("/dev/random",O_RDONLY);
|
os->fd = open("/dev/random", O_RDONLY);
|
||||||
if (os->fd == -1)
|
if (os->fd == -1)
|
||||||
return OPEN_RAN_E;
|
return OPEN_RAN_E;
|
||||||
}
|
}
|
||||||
@@ -1755,7 +1757,7 @@ int wc_GenerateSeed(OS_Seed* os, byte* output, word32 sz)
|
|||||||
output += len;
|
output += len;
|
||||||
|
|
||||||
if (sz) {
|
if (sz) {
|
||||||
#ifdef BLOCKING
|
#if defined(BLOCKING) || defined(WC_RNG_BLOCKING)
|
||||||
sleep(0); /* context switch */
|
sleep(0); /* context switch */
|
||||||
#else
|
#else
|
||||||
ret = RAN_BLOCK_E;
|
ret = RAN_BLOCK_E;
|
||||||
|
Reference in New Issue
Block a user