diff options
author | 2016-06-15 11:36:06 +0000 | |
---|---|---|
committer | 2016-06-15 11:36:06 +0000 | |
commit | 367b0410d3271136951f6c323ac43106e15f266c (patch) | |
tree | e6a7f72cc9185ae7ac339b6d92c0fca0c4dfcee8 | |
parent | Copy mode needs to keep the original grid intact so it can copy from it (diff) | |
download | wireguard-openbsd-367b0410d3271136951f6c323ac43106e15f266c.tar.xz wireguard-openbsd-367b0410d3271136951f6c323ac43106e15f266c.zip |
There's no need to convert values returned by arc4random to the network
byte order. Spotted by Gleb Smirnoff (glebius@FreeBSD.org), thanks!
ok tedu
-rw-r--r-- | sys/net/pf.c | 6 | ||||
-rw-r--r-- | sys/net/pf_lb.c | 16 | ||||
-rw-r--r-- | sys/net/pf_norm.c | 5 |
3 files changed, 11 insertions, 16 deletions
diff --git a/sys/net/pf.c b/sys/net/pf.c index a659fa7d63a..960ac320b94 100644 --- a/sys/net/pf.c +++ b/sys/net/pf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pf.c,v 1.975 2016/06/07 01:31:54 tedu Exp $ */ +/* $OpenBSD: pf.c,v 1.976 2016/06/15 11:36:06 mikeb Exp $ */ /* * Copyright (c) 2001 Daniel Hartmeier @@ -3650,7 +3650,7 @@ pf_create_state(struct pf_pdesc *pd, struct pf_rule *r, struct pf_rule *a, if (act->rtableid >= 0) rtid = act->rtableid; s->src.state = PF_TCPS_PROXY_SRC; - s->src.seqhi = htonl(arc4random()); + s->src.seqhi = arc4random(); /* Find mss option */ mss = pf_get_mss(pd); mss = pf_calc_mss(pd->src, pd->af, rtid, mss); @@ -4271,7 +4271,7 @@ pf_synproxy(struct pf_pdesc *pd, struct pf_state **state, u_short *reason) } (*state)->src.max_win = MAX(ntohs(th->th_win), 1); if ((*state)->dst.seqhi == 1) - (*state)->dst.seqhi = htonl(arc4random()); + (*state)->dst.seqhi = arc4random(); pf_send_tcp((*state)->rule.ptr, pd->af, &sk->addr[pd->sidx], &sk->addr[pd->didx], sk->port[pd->sidx], sk->port[pd->didx], diff --git a/sys/net/pf_lb.c b/sys/net/pf_lb.c index 9a449005157..6ac74760a7c 100644 --- a/sys/net/pf_lb.c +++ b/sys/net/pf_lb.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pf_lb.c,v 1.52 2015/11/24 13:37:16 mpi Exp $ */ +/* $OpenBSD: pf_lb.c,v 1.53 2016/06/15 11:36:06 mikeb Exp $ */ /* * Copyright (c) 2001 Daniel Hartmeier @@ -415,28 +415,24 @@ pf_map_addr(sa_family_t af, struct pf_rule *r, struct pf_addr *saddr, } else if (init_addr != NULL && PF_AZERO(init_addr, af)) { switch (af) { case AF_INET: - rpool->counter.addr32[0] = htonl(arc4random()); + rpool->counter.addr32[0] = arc4random(); break; #ifdef INET6 case AF_INET6: if (rmask->addr32[3] != 0xffffffff) - rpool->counter.addr32[3] = - htonl(arc4random()); + rpool->counter.addr32[3] = arc4random(); else break; if (rmask->addr32[2] != 0xffffffff) - rpool->counter.addr32[2] = - htonl(arc4random()); + rpool->counter.addr32[2] = arc4random(); else break; if (rmask->addr32[1] != 0xffffffff) - rpool->counter.addr32[1] = - htonl(arc4random()); + rpool->counter.addr32[1] = arc4random(); else break; if (rmask->addr32[0] != 0xffffffff) - rpool->counter.addr32[0] = - htonl(arc4random()); + rpool->counter.addr32[0] = arc4random(); break; #endif /* INET6 */ default: diff --git a/sys/net/pf_norm.c b/sys/net/pf_norm.c index 232adb0f1af..1705b184a12 100644 --- a/sys/net/pf_norm.c +++ b/sys/net/pf_norm.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pf_norm.c,v 1.186 2016/05/31 07:35:36 mpi Exp $ */ +/* $OpenBSD: pf_norm.c,v 1.187 2016/06/15 11:36:06 mikeb Exp $ */ /* * Copyright 2001 Niels Provos <provos@citi.umich.edu> @@ -963,8 +963,7 @@ pf_normalize_tcp_init(struct pf_pdesc *pd, struct pf_state_peer *src) if (opt[1] >= TCPOLEN_TIMESTAMP) { src->scrub->pfss_flags |= PFSS_TIMESTAMP; - src->scrub->pfss_ts_mod = - htonl(arc4random()); + src->scrub->pfss_ts_mod = arc4random(); /* note PFSS_PAWS not set yet */ memcpy(&tsval, &opt[2], |