diff options
author | Hajimu UMEMOTO <ume@FreeBSD.org> | 2003-08-15 17:51:51 +0000 |
---|---|---|
committer | Hajimu UMEMOTO <ume@FreeBSD.org> | 2003-08-15 17:51:51 +0000 |
commit | dba14c305c2a73a2485473738456cac5575093a7 (patch) | |
tree | aa22773b0a9dd4c4a79ad5eaabdde1ed27aa6f37 /usr.sbin/rtadvd/rtadvd.c | |
parent | 51964a1b2b0aca4d25daa70840b002045627a556 (diff) | |
download | src-dba14c305c2a73a2485473738456cac5575093a7.tar.gz src-dba14c305c2a73a2485473738456cac5575093a7.zip |
use arc4random.
Obtained from: KAME
MFC after: 1 week
Notes
Notes:
svn path=/head/; revision=118962
Diffstat (limited to 'usr.sbin/rtadvd/rtadvd.c')
-rw-r--r-- | usr.sbin/rtadvd/rtadvd.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/usr.sbin/rtadvd/rtadvd.c b/usr.sbin/rtadvd/rtadvd.c index e0811cab3c43..f33a9518dcef 100644 --- a/usr.sbin/rtadvd/rtadvd.c +++ b/usr.sbin/rtadvd/rtadvd.c @@ -214,12 +214,14 @@ main(argc, argv) /* timer initialization */ rtadvd_timer_init(); +#ifndef HAVE_ARC4RANDOM /* random value initialization */ #ifdef __FreeBSD__ srandomdev(); #else srandom((u_long)time(NULL)); #endif +#endif /* get iflist block from kernel */ init_iflist(); @@ -1634,7 +1636,11 @@ ra_timer_update(void *data, struct timeval *tm) * MaxRtrAdvInterval (RFC2461 6.2.4). */ interval = rai->mininterval; +#ifdef HAVE_ARC4RANDOM + interval += arc4random() % (rai->maxinterval - rai->mininterval); +#else interval += random() % (rai->maxinterval - rai->mininterval); +#endif /* * For the first few advertisements (up to |