summaryrefslogtreecommitdiffstats
path: root/sys/netinet/raw_ip.c
diff options
context:
space:
mode:
authoryasuoka <yasuoka@openbsd.org>2011-07-04 17:35:01 +0000
committeryasuoka <yasuoka@openbsd.org>2011-07-04 17:35:01 +0000
commit6b668b4ea711375d682a21b42d6235b48fae5593 (patch)
tree5d7fb74528837f32d1978209b692f367468159cf /sys/netinet/raw_ip.c
parentFinish ansification. (diff)
downloadwireguard-openbsd-6b668b4ea711375d682a21b42d6235b48fae5593.tar.xz
wireguard-openbsd-6b668b4ea711375d682a21b42d6235b48fae5593.zip
Fix to be able to bind a raw socket to 0.0.0.0. It had been broken after
1.54. ok claudio@ sosososo henning@
Diffstat (limited to 'sys/netinet/raw_ip.c')
-rw-r--r--sys/netinet/raw_ip.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/sys/netinet/raw_ip.c b/sys/netinet/raw_ip.c
index 56d251a0bca..56fec6b6ad1 100644
--- a/sys/netinet/raw_ip.c
+++ b/sys/netinet/raw_ip.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: raw_ip.c,v 1.59 2011/07/04 06:54:49 claudio Exp $ */
+/* $OpenBSD: raw_ip.c,v 1.60 2011/07/04 17:35:01 yasuoka Exp $ */
/* $NetBSD: raw_ip.c,v 1.25 1996/02/18 18:58:33 christos Exp $ */
/*
@@ -419,15 +419,14 @@ rip_usrreq(struct socket *so, int req, struct mbuf *m, struct mbuf *nam,
error = EINVAL;
break;
}
- if (TAILQ_EMPTY(&ifnet) ||
- addr->sin_family != AF_INET ||
- addr->sin_addr.s_addr == 0) {
+ if (TAILQ_EMPTY(&ifnet) || addr->sin_family != AF_INET) {
error = EADDRNOTAVAIL;
break;
}
if (!((so->so_options & SO_BINDANY) ||
- in_iawithaddr(addr->sin_addr, inp->inp_rtableid) ||
- in_broadcast(addr->sin_addr, NULL, inp->inp_rtableid))) {
+ addr->sin_addr.s_addr == 0 ||
+ in_iawithaddr(addr->sin_addr, inp->inp_rtableid) ||
+ in_broadcast(addr->sin_addr, NULL, inp->inp_rtableid))) {
error = EADDRNOTAVAIL;
break;
}