summaryrefslogtreecommitdiffstats
path: root/sys/netinet6
diff options
context:
space:
mode:
authorume <ume@FreeBSD.org>2003-10-01 21:10:02 +0000
committerume <ume@FreeBSD.org>2003-10-01 21:10:02 +0000
commit1510816eb2189f841fa0c9d83a1491b4e9228642 (patch)
tree3732b65794988f75564032873f9b71a26510bd16 /sys/netinet6
parent7b927af0e16f4cf14c2e86afc01fbadacf1b9c89 (diff)
downloadFreeBSD-src-1510816eb2189f841fa0c9d83a1491b4e9228642.zip
FreeBSD-src-1510816eb2189f841fa0c9d83a1491b4e9228642.tar.gz
use arc4random()
Diffstat (limited to 'sys/netinet6')
-rw-r--r--sys/netinet6/frag6.c10
-rw-r--r--sys/netinet6/ip6_input.c7
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
OpenPOWER on IntegriCloud