mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-31 19:24:42 +02:00
Merge pull request #1482 from dgarske/nourand
Added new define `NO_DEV_URANDOM` to disable the use of `/dev/urandom`
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