Skip to content

Commit 06d8f69

Browse files
Separate new /dev/urandom opening logic into a new section in wc_GenerateSeed.
1 parent cb81cc8 commit 06d8f69

1 file changed

Lines changed: 21 additions & 8 deletions

File tree

wolfcrypt/src/random.c

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3561,11 +3561,10 @@ int wc_GenerateSeed(OS_Seed* os, byte* output, word32 sz)
35613561
#endif
35623562

35633563
#ifndef NO_FILESYSTEM
3564-
#ifndef NO_DEV_URANDOM /* way to disable use of /dev/urandom */
3565-
#ifdef WOLFSSL_KEEP_RNG_SEED_FD_OPEN
3564+
#ifdef WOLFSSL_KEEP_RNG_SEED_FD_OPEN
35663565
if (!os->seedFdOpen)
3567-
#endif
35683566
{
3567+
#ifndef NO_DEV_URANDOM /* way to disable use of /dev/urandom */
35693568
os->fd = open("/dev/urandom", O_RDONLY);
35703569
#if defined(DEBUG_WOLFSSL)
35713570
WOLFSSL_MSG("opened /dev/urandom.");
@@ -3575,25 +3574,39 @@ int wc_GenerateSeed(OS_Seed* os, byte* output, word32 sz)
35753574
{
35763575
/* may still have /dev/random */
35773576
os->fd = open("/dev/random", O_RDONLY);
3578-
#if defined(DEBUG_WOLFSSL)
3577+
#if defined(DEBUG_WOLFSSL)
35793578
WOLFSSL_MSG("opened /dev/random.");
3580-
#endif
3579+
#endif
35813580
if (os->fd == -1)
35823581
return OPEN_RAN_E;
3583-
#ifdef WOLFSSL_KEEP_RNG_SEED_FD_OPEN
35843582
else {
35853583
os->keepSeedFdOpen = 0;
35863584
os->seedFdOpen = 1;
35873585
}
3588-
#endif
35893586
}
3590-
#ifdef WOLFSSL_KEEP_RNG_SEED_FD_OPEN
35913587
else {
35923588
os->keepSeedFdOpen = 1;
35933589
os->seedFdOpen = 1;
35943590
}
3591+
}
3592+
#else
3593+
#ifndef NO_DEV_URANDOM /* way to disable use of /dev/urandom */
3594+
os->fd = open("/dev/urandom", O_RDONLY);
3595+
#if defined(DEBUG_WOLFSSL)
3596+
WOLFSSL_MSG("opened /dev/urandom.");
3597+
#endif
3598+
if (os->fd == -1)
3599+
#endif
3600+
{
3601+
/* may still have /dev/random */
3602+
os->fd = open("/dev/random", O_RDONLY);
3603+
#if defined(DEBUG_WOLFSSL)
3604+
WOLFSSL_MSG("opened /dev/random.");
35953605
#endif
3606+
if (os->fd == -1)
3607+
return OPEN_RAN_E;
35963608
}
3609+
#endif
35973610
#if defined(DEBUG_WOLFSSL)
35983611
WOLFSSL_MSG("rnd read...");
35993612
#endif

0 commit comments

Comments
 (0)