From c2620dac0231b6d303c5dc50b769c4c80fc9770c Mon Sep 17 00:00:00 2001 From: gufe44 Date: Mon, 3 Aug 2020 17:56:50 +0200 Subject: [PATCH] Use arc4random_buf instead of rand on NetBSD Avoid old implementation of rand returning numbers with cyclical lower bits. Allow tests to pass. Signed-off-by: gufe44 --- library/rsa.c | 6 +++--- tests/src/random.c | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/library/rsa.c b/library/rsa.c index 83ed3c937..c6c5956dc 100644 --- a/library/rsa.c +++ b/library/rsa.c @@ -53,7 +53,7 @@ #include "mbedtls/md.h" #endif -#if defined(MBEDTLS_PKCS1_V15) && !defined(__OpenBSD__) +#if defined(MBEDTLS_PKCS1_V15) && !defined(__OpenBSD__) && !defined(__NetBSD__) #include #endif @@ -2569,7 +2569,7 @@ void mbedtls_rsa_free( mbedtls_rsa_context *ctx ) #if defined(MBEDTLS_PKCS1_V15) static int myrand( void *rng_state, unsigned char *output, size_t len ) { -#if !defined(__OpenBSD__) +#if !defined(__OpenBSD__) && !defined(__NetBSD__) size_t i; if( rng_state != NULL ) @@ -2582,7 +2582,7 @@ static int myrand( void *rng_state, unsigned char *output, size_t len ) rng_state = NULL; arc4random_buf( output, len ); -#endif /* !OpenBSD */ +#endif /* !OpenBSD && !NetBSD */ return( 0 ); } diff --git a/tests/src/random.c b/tests/src/random.c index 3345f78be..45748a943 100644 --- a/tests/src/random.c +++ b/tests/src/random.c @@ -32,7 +32,7 @@ int mbedtls_test_rnd_std_rand( void *rng_state, unsigned char *output, size_t len ) { -#if !defined(__OpenBSD__) +#if !defined(__OpenBSD__) && !defined(__NetBSD__) size_t i; if( rng_state != NULL ) @@ -45,7 +45,7 @@ int mbedtls_test_rnd_std_rand( void *rng_state, rng_state = NULL; arc4random_buf( output, len ); -#endif /* !OpenBSD */ +#endif /* !OpenBSD && !NetBSD */ return( 0 ); }