summaryrefslogtreecommitdiffstats
path: root/sys/netinet/udp_usrreq.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/udp_usrreq.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/udp_usrreq.c')
-rw-r--r--sys/netinet/udp_usrreq.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c
index 42daf24c458..58e0a040ec1 100644
--- a/sys/netinet/udp_usrreq.c
+++ b/sys/netinet/udp_usrreq.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: udp_usrreq.c,v 1.141 2011/04/24 19:36:54 bluhm Exp $ */
+/* $OpenBSD: udp_usrreq.c,v 1.142 2011/04/28 09:56:27 claudio Exp $ */
/* $NetBSD: udp_usrreq.c,v 1.28 1996/03/16 23:54:03 christos Exp $ */
/*
@@ -412,10 +412,11 @@ udp_input(struct mbuf *m, ...)
#ifdef INET6
if ((ip6 && IN6_IS_ADDR_MULTICAST(&ip6->ip6_dst)) ||
(ip && IN_MULTICAST(ip->ip_dst.s_addr)) ||
- (ip && in_broadcast(ip->ip_dst, m->m_pkthdr.rcvif))) {
+ (ip && in_broadcast(ip->ip_dst, m->m_pkthdr.rcvif,
+ m->m_pkthdr.rdomain))) {
#else /* INET6 */
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)) {
#endif /* INET6 */
struct inpcb *last;
/*