From 5f385b0ea01865834214dae79afa557f37f9c275 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Fri, 1 Aug 2014 22:12:56 +0200 Subject: Use srandom/random instead of rand_r There's no need to keep our own seed. --- src/fastd.c | 4 +++- src/fastd.h | 4 +--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/fastd.c b/src/fastd.c index eff605e..e0d4bb2 100644 --- a/src/fastd.c +++ b/src/fastd.c @@ -460,7 +460,9 @@ static inline void notify_systemd(void) { static inline void init_early(void) { fastd_close_all_fds(); - fastd_random_bytes(&ctx.randseed, sizeof(ctx.randseed), false); + unsigned int seed; + fastd_random_bytes(&seed, sizeof(seed), false); + srandom(seed); fastd_cipher_init(); fastd_mac_init(); diff --git a/src/fastd.h b/src/fastd.h index 539dd54..8700be2 100644 --- a/src/fastd.h +++ b/src/fastd.h @@ -281,8 +281,6 @@ struct fastd_context { VECTOR(fastd_peer_eth_addr_t) eth_addrs; /**< Sorted vector of all known ethernet addresses with associated peers and timeouts */ - unsigned int randseed; /**< Random seed for non-cryptographic random numbers */ - size_t unknown_handshake_pos; /**< Current start position in the ring buffer unknown_handshakes */ fastd_handshake_timeout_t unknown_handshakes[8]; /**< Ring buffer of unknown addresses handshakes have been received from */ @@ -328,7 +326,7 @@ void fastd_random_bytes(void *buffer, size_t len, bool secure); /** Returns a random number between \a min (inclusively) and \a max (exclusively) */ static inline int fastd_rand(int min, int max) { - unsigned int r = (unsigned int)rand_r(&ctx.randseed); + unsigned int r = (unsigned int)random(); return (r%(max-min) + min); } -- cgit v1.2.3