Skip to content

Commit

Permalink
Merge pull request #3540 from gufe44/netbsd-rand-arc4random_buf
Browse files Browse the repository at this point in the history
Use arc4random_buf instead of rand on NetBSD
  • Loading branch information
gilles-peskine-arm committed Aug 13, 2020
2 parents 9ec3648 + 29fcac3 commit 3890f7c
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 5 deletions.
3 changes: 3 additions & 0 deletions ChangeLog.d/netbsd-rand-arc4random_buf.txt
@@ -0,0 +1,3 @@
Bugfix
* Use arc4random_buf on NetBSD instead of rand implementation with cyclical
lower bits. Fix contributed in #3540.
6 changes: 3 additions & 3 deletions library/rsa.c
Expand Up @@ -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 <stdlib.h>
#endif

Expand Down Expand Up @@ -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 )
Expand All @@ -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 );
}
Expand Down
4 changes: 2 additions & 2 deletions tests/src/random.c
Expand Up @@ -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 )
Expand All @@ -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 );
}
Expand Down

0 comments on commit 3890f7c

Please sign in to comment.