Seed the PRNG even if time() isn't available

time() is only needed to seed the PRNG non-deterministically. If it isn't
available, do seed it, but pick a static seed.

Signed-off-by: Andrzej Kurek <andrzej.kurek@arm.com>
This commit is contained in:
Gilles Peskine 2022-04-05 21:39:43 +02:00 committed by Andrzej Kurek
parent 5735369f4a
commit e756f642cd

View file

@ -825,7 +825,6 @@ int main( int argc, char *argv[] )
get_options( argc, argv );
#if defined(MBEDTLS_HAVE_TIME)
/*
* Decisions to drop/delay/duplicate packets are pseudo-random: dropping
* exactly 1 in N packets would lead to problems when a flight has exactly
@ -836,12 +835,15 @@ int main( int argc, char *argv[] )
*/
if( opt.seed == 0 )
{
#if defined(MBEDTLS_HAVE_TIME)
opt.seed = (unsigned int) mbedtls_time( NULL );
#else
opt.seed = 1;
#endif /* MBEDTLS_HAVE_TIME */
mbedtls_printf( " . Pseudo-random seed: %u\n", opt.seed );
}
srand( opt.seed );
#endif /* MBEDTLS_HAVE_TIME */
/*
* 0. "Connect" to the server