summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormpi <mpi@openbsd.org>2016-11-23 10:04:31 +0000
committermpi <mpi@openbsd.org>2016-11-23 10:04:31 +0000
commit3cf2ea934eeb73faf356dde169ee56f61b79d0ae (patch)
tree1bdddbcb556e383bdf9691a7ab45c7f5d0333770
parentEmpty strings are invalid arguments. (diff)
downloadwireguard-openbsd-3cf2ea934eeb73faf356dde169ee56f61b79d0ae.tar.xz
wireguard-openbsd-3cf2ea934eeb73faf356dde169ee56f61b79d0ae.zip
Keep checks for local delivery close to in_ouraddr().
ok claudio@
-rw-r--r--sys/netinet/ip_input.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/sys/netinet/ip_input.c b/sys/netinet/ip_input.c
index f9c5686313b..86dfce0d7d5 100644
--- a/sys/netinet/ip_input.c
+++ b/sys/netinet/ip_input.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ip_input.c,v 1.285 2016/11/14 04:27:03 dlg Exp $ */
+/* $OpenBSD: ip_input.c,v 1.286 2016/11/23 10:04:31 mpi Exp $ */
/* $NetBSD: ip_input.c,v 1.30 1996/03/16 23:53:58 christos Exp $ */
/*
@@ -357,6 +357,12 @@ ipv4_input(struct mbuf *m)
goto out;
}
+ if (ip->ip_dst.s_addr == INADDR_BROADCAST ||
+ ip->ip_dst.s_addr == INADDR_ANY) {
+ ip_ours(m);
+ goto out;
+ }
+
if (in_ouraddr(m, ifp, &rt)) {
ip_ours(m);
goto out;
@@ -425,12 +431,6 @@ ipv4_input(struct mbuf *m)
goto out;
}
- if (ip->ip_dst.s_addr == INADDR_BROADCAST ||
- ip->ip_dst.s_addr == INADDR_ANY) {
- ip_ours(m);
- goto out;
- }
-
#if NCARP > 0
if (ifp->if_type == IFT_CARP && ip->ip_p == IPPROTO_ICMP &&
carp_lsdrop(m, AF_INET, &ip->ip_src.s_addr, &ip->ip_dst.s_addr))