summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormpf <mpf@openbsd.org>2006-01-28 23:47:20 +0000
committermpf <mpf@openbsd.org>2006-01-28 23:47:20 +0000
commit6033c197542a47d6f3777340f0bc1ceecc052616 (patch)
tree472a84ebacf9713ee757b0533e918cab0beda3de
parentRemove duplicate cgetstr() call introduced by accident. Andrey Matveev (diff)
downloadwireguard-openbsd-6033c197542a47d6f3777340f0bc1ceecc052616.tar.xz
wireguard-openbsd-6033c197542a47d6f3777340f0bc1ceecc052616.zip
Fix hmac calculation.
Add some f's; do comparison in host byte order. OK mcbride@
-rw-r--r--sys/netinet/ip_carp.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/netinet/ip_carp.c b/sys/netinet/ip_carp.c
index 80e21bee8f2..fe448304f4c 100644
--- a/sys/netinet/ip_carp.c
+++ b/sys/netinet/ip_carp.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ip_carp.c,v 1.118 2005/11/29 09:57:44 mpf Exp $ */
+/* $OpenBSD: ip_carp.c,v 1.119 2006/01/28 23:47:20 mpf Exp $ */
/*
* Copyright (c) 2002 Michael Shalayeff. All rights reserved.
@@ -257,11 +257,12 @@ carp_hmac_prepare(struct carp_softc *sc)
do {
found = 0;
last = cur;
- cur.s_addr = 0xffffff;
+ cur.s_addr = 0xffffffff;
TAILQ_FOREACH(ifa, &sc->sc_if.if_addrlist, ifa_list) {
in.s_addr = ifatoia(ifa)->ia_addr.sin_addr.s_addr;
- if (ifa->ifa_addr->sa_family == AF_INET &&
- in.s_addr > last.s_addr && in.s_addr < cur.s_addr) {
+ if (ifa->ifa_addr->sa_family == AF_INET &&
+ ntohl(in.s_addr) > ntohl(last.s_addr) &&
+ ntohl(in.s_addr) < ntohl(cur.s_addr)) {
cur.s_addr = in.s_addr;
found++;
}