summaryrefslogtreecommitdiffstats
path: root/sys/netinet/tcp_input.c
diff options
context:
space:
mode:
authorclaudio <claudio@openbsd.org>2011-04-28 09:56:27 +0000
committerclaudio <claudio@openbsd.org>2011-04-28 09:56:27 +0000
commite26c6cbc2bb00d9320b34143efeda34f0c4b0dd8 (patch)
tree2735dacd20d140c8e915cca6513a5ff41035c4aa /sys/netinet/tcp_input.c
parentremove horrible abuse of kthread_create_deferred(9). this was being (diff)
downloadwireguard-openbsd-e26c6cbc2bb00d9320b34143efeda34f0c4b0dd8.tar.xz
wireguard-openbsd-e26c6cbc2bb00d9320b34143efeda34f0c4b0dd8.zip
Make in_broadcast() rdomain aware. Mostly mechanical change.
This fixes the problem of binding sockets to broadcast IPs in other rdomains. OK henning@
Diffstat (limited to 'sys/netinet/tcp_input.c')
-rw-r--r--sys/netinet/tcp_input.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c
index b66bfc7754f..60d4cd6385f 100644
--- a/sys/netinet/tcp_input.c
+++ b/sys/netinet/tcp_input.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: tcp_input.c,v 1.246 2011/04/24 19:36:54 bluhm Exp $ */
+/* $OpenBSD: tcp_input.c,v 1.247 2011/04/28 09:56:27 claudio Exp $ */
/* $NetBSD: tcp_input.c,v 1.23 1996/02/13 23:43:44 christos Exp $ */
/*
@@ -477,7 +477,8 @@ tcp_input(struct mbuf *m, ...)
case AF_INET:
ip = mtod(m, struct ip *);
if (IN_MULTICAST(ip->ip_dst.s_addr) ||
- in_broadcast(ip->ip_dst, m->m_pkthdr.rcvif))
+ in_broadcast(ip->ip_dst, m->m_pkthdr.rcvif,
+ m->m_pkthdr.rdomain))
goto drop;
#ifdef TCP_ECN
/* save ip_tos before clearing it for checksum */