On OpenBSD, use arc4random_buf() instead of rand() to prevent warnings
This commit is contained in:
parent
6384440b13
commit
f96f7b607a
3 changed files with 15 additions and 0 deletions
|
@ -24,6 +24,7 @@ Bugfix
|
|||
* Improve interoperability by not writing extension length in ClientHello /
|
||||
ServerHello when no extensions are present (found by Matthew Page)
|
||||
* rsa_check_pubkey() now allows an E up to N
|
||||
* On OpenBSD, use arc4random_buf() instead of rand() to prevent warnings
|
||||
|
||||
= PolarSSL 1.3.6 released on 2014-04-11
|
||||
|
||||
|
|
|
@ -1469,6 +1469,7 @@ void rsa_free( rsa_context *ctx )
|
|||
#if defined(POLARSSL_PKCS1_V15)
|
||||
static int myrand( void *rng_state, unsigned char *output, size_t len )
|
||||
{
|
||||
#if !defined(__OpenBSD__)
|
||||
size_t i;
|
||||
|
||||
if( rng_state != NULL )
|
||||
|
@ -1476,6 +1477,12 @@ static int myrand( void *rng_state, unsigned char *output, size_t len )
|
|||
|
||||
for( i = 0; i < len; ++i )
|
||||
output[i] = rand();
|
||||
#else
|
||||
if( rng_state != NULL )
|
||||
rng_state = NULL;
|
||||
|
||||
arc4random_buf( output, len );
|
||||
#endif /* !OpenBSD */
|
||||
|
||||
return( 0 );
|
||||
}
|
||||
|
|
|
@ -105,6 +105,7 @@ static void hexify(unsigned char *obuf, const unsigned char *ibuf, int len)
|
|||
*/
|
||||
static int rnd_std_rand( void *rng_state, unsigned char *output, size_t len )
|
||||
{
|
||||
#if !defined(__OpenBSD__)
|
||||
size_t i;
|
||||
|
||||
if( rng_state != NULL )
|
||||
|
@ -112,6 +113,12 @@ static int rnd_std_rand( void *rng_state, unsigned char *output, size_t len )
|
|||
|
||||
for( i = 0; i < len; ++i )
|
||||
output[i] = rand();
|
||||
#else
|
||||
if( rng_state != NULL )
|
||||
rng_state = NULL;
|
||||
|
||||
arc4random_buf( output, len );
|
||||
#endif /* !OpenBSD */
|
||||
|
||||
return( 0 );
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue