summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorphessler <phessler@openbsd.org>2013-10-21 08:59:49 +0000
committerphessler <phessler@openbsd.org>2013-10-21 08:59:49 +0000
commit1dff93b6d865e1a84cc655f8804103dd279f950d (patch)
tree85e430deb882c1cf8d0f9f685dd502aa7d544355
parentremove the IPv4-only check for rdomains, allows IPv6 to use them (diff)
downloadwireguard-openbsd-1dff93b6d865e1a84cc655f8804103dd279f950d.tar.xz
wireguard-openbsd-1dff93b6d865e1a84cc655f8804103dd279f950d.zip
Set the requested rdomain on the socket instead of only on the IPv4 part.
Also, switching to rdomain zero is a legit option so we should allow that.
-rw-r--r--usr.bin/nc/netcat.c18
1 files changed, 7 insertions, 11 deletions
diff --git a/usr.bin/nc/netcat.c b/usr.bin/nc/netcat.c
index c4f8ca96a8a..6123b7e4e34 100644
--- a/usr.bin/nc/netcat.c
+++ b/usr.bin/nc/netcat.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: netcat.c,v 1.114 2013/08/20 21:04:40 jmc Exp $ */
+/* $OpenBSD: netcat.c,v 1.115 2013/10/21 08:59:49 phessler Exp $ */
/*
* Copyright (c) 2001 Eric Jackson <ericj@monkey.org>
*
@@ -588,11 +588,9 @@ remote_connect(const char *host, const char *port, struct addrinfo hints)
res0->ai_protocol)) < 0)
continue;
- if (rtableid) {
- if (setsockopt(s, SOL_SOCKET, SO_RTABLE, &rtableid,
- sizeof(rtableid)) == -1)
- err(1, "setsockopt SO_RTABLE");
- }
+ if (setsockopt(s, SOL_SOCKET, SO_RTABLE, &rtableid,
+ sizeof(rtableid)) == -1)
+ err(1, "setsockopt SO_RTABLE");
/* Bind to a local port or source address if specified. */
if (sflag || pflag) {
@@ -699,11 +697,9 @@ local_listen(char *host, char *port, struct addrinfo hints)
res0->ai_protocol)) < 0)
continue;
- if (rtableid) {
- if (setsockopt(s, IPPROTO_IP, SO_RTABLE, &rtableid,
- sizeof(rtableid)) == -1)
- err(1, "setsockopt SO_RTABLE");
- }
+ if (setsockopt(s, SOL_SOCKET, SO_RTABLE, &rtableid,
+ sizeof(rtableid)) == -1)
+ err(1, "setsockopt SO_RTABLE");
ret = setsockopt(s, SOL_SOCKET, SO_REUSEPORT, &x, sizeof(x));
if (ret == -1)