diff options
author | ume <ume@FreeBSD.org> | 2003-10-01 21:10:02 +0000 |
---|---|---|
committer | ume <ume@FreeBSD.org> | 2003-10-01 21:10:02 +0000 |
commit | 1510816eb2189f841fa0c9d83a1491b4e9228642 (patch) | |
tree | 3732b65794988f75564032873f9b71a26510bd16 /sys | |
parent | 7b927af0e16f4cf14c2e86afc01fbadacf1b9c89 (diff) | |
download | FreeBSD-src-1510816eb2189f841fa0c9d83a1491b4e9228642.zip FreeBSD-src-1510816eb2189f841fa0c9d83a1491b4e9228642.tar.gz |
use arc4random()
Diffstat (limited to 'sys')
-rw-r--r-- | sys/netinet6/frag6.c | 10 | ||||
-rw-r--r-- | sys/netinet6/ip6_input.c | 7 |
2 files changed, 3 insertions, 14 deletions
diff --git a/sys/netinet6/frag6.c b/sys/netinet6/frag6.c index 1a35eb5..28908ea 100644 --- a/sys/netinet6/frag6.c +++ b/sys/netinet6/frag6.c @@ -82,19 +82,11 @@ static MALLOC_DEFINE(M_FTABLE, "fragment", "fragment reassembly header"); void frag6_init() { -#ifndef RANDOM_IP_ID - struct timeval tv; -#endif ip6_maxfragpackets = nmbclusters / 4; #ifndef RANDOM_IP_ID - /* - * in many cases, random() here does NOT return random number - * as initialization during bootstrap time occur in fixed order. - */ - microtime(&tv); - ip6_id = random() ^ tv.tv_usec; + ip6_id = arc4random(); #endif ip6q.ip6q_next = ip6q.ip6q_prev = &ip6q; } diff --git a/sys/netinet6/ip6_input.c b/sys/netinet6/ip6_input.c index 9089071..9ab712a 100644 --- a/sys/netinet6/ip6_input.c +++ b/sys/netinet6/ip6_input.c @@ -171,7 +171,6 @@ ip6_init() { struct ip6protosw *pr; int i; - struct timeval tv; #ifdef DIAGNOSTIC if (sizeof(struct protosw) != sizeof(struct ip6protosw)) @@ -203,10 +202,8 @@ ip6_init() * in many cases, random() here does NOT return random number * as initialization during bootstrap time occur in fixed order. */ - microtime(&tv); - ip6_flow_seq = random() ^ tv.tv_usec; - microtime(&tv); - ip6_desync_factor = (random() ^ tv.tv_usec) % MAX_TEMP_DESYNC_FACTOR; + ip6_flow_seq = arc4random(); + ip6_desync_factor = arc4random() % MAX_TEMP_DESYNC_FACTOR; } static void |