diff options
author | delphij <delphij@FreeBSD.org> | 2015-08-16 23:23:58 +0000 |
---|---|---|
committer | delphij <delphij@FreeBSD.org> | 2015-08-16 23:23:58 +0000 |
commit | 376f56d8e01ecb24fc7d36efbc3c07290700702e (patch) | |
tree | c2f15df2fdb74c6777b8c69207fed6ee38411d5e /sbin/ping6 | |
parent | 1b7fbf2be61a8abeba7a6da0a1ea7b36a6d37639 (diff) | |
download | FreeBSD-src-376f56d8e01ecb24fc7d36efbc3c07290700702e.zip FreeBSD-src-376f56d8e01ecb24fc7d36efbc3c07290700702e.tar.gz |
Use arc4random_buf(). While there, unifdef the code for HAVE_ARC4RANDOM.
MFC after: 2 weeks
Diffstat (limited to 'sbin/ping6')
-rw-r--r-- | sbin/ping6/Makefile | 3 | ||||
-rw-r--r-- | sbin/ping6/ping6.c | 15 |
2 files changed, 2 insertions, 16 deletions
diff --git a/sbin/ping6/Makefile b/sbin/ping6/Makefile index 35a76e4..707bff4 100644 --- a/sbin/ping6/Makefile +++ b/sbin/ping6/Makefile @@ -3,8 +3,7 @@ PROG= ping6 MAN= ping6.8 -CFLAGS+=-DIPSEC -DKAME_SCOPEID -DUSE_RFC2292BIS \ - -DHAVE_ARC4RANDOM +CFLAGS+=-DIPSEC -DKAME_SCOPEID -DUSE_RFC2292BIS WARNS?= 3 BINOWN= root diff --git a/sbin/ping6/ping6.c b/sbin/ping6/ping6.c index d71c021..03381e0 100644 --- a/sbin/ping6/ping6.c +++ b/sbin/ping6/ping6.c @@ -288,9 +288,6 @@ main(int argc, char *argv[]) { struct timeval last, intvl; struct sockaddr_in6 from, *sin6; -#ifndef HAVE_ARC4RANDOM - struct timeval seed; -#endif struct addrinfo hints, *res; struct sigaction si_sa; int cc, i; @@ -751,17 +748,7 @@ main(int argc, char *argv[]) *datap++ = i; ident = getpid() & 0xFFFF; -#ifndef HAVE_ARC4RANDOM - gettimeofday(&seed, NULL); - srand((unsigned int)(seed.tv_sec ^ seed.tv_usec ^ (long)ident)); - memset(nonce, 0, sizeof(nonce)); - for (i = 0; i < sizeof(nonce); i += sizeof(int)) - *((int *)&nonce[i]) = rand(); -#else - memset(nonce, 0, sizeof(nonce)); - for (i = 0; i < (int)sizeof(nonce); i += sizeof(u_int32_t)) - *((u_int32_t *)&nonce[i]) = arc4random(); -#endif + arc4random_buf(nonce, sizeof(nonce)); optval = 1; if (options & F_DONTFRAG) if (setsockopt(s, IPPROTO_IPV6, IPV6_DONTFRAG, |