diff options
author | 2013-10-21 08:59:49 +0000 | |
---|---|---|
committer | 2013-10-21 08:59:49 +0000 | |
commit | 1dff93b6d865e1a84cc655f8804103dd279f950d (patch) | |
tree | 85e430deb882c1cf8d0f9f685dd502aa7d544355 | |
parent | remove the IPv4-only check for rdomains, allows IPv6 to use them (diff) | |
download | wireguard-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.c | 18 |
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) |