From 83fef489c03ffb155bd99adfdcf014cdcfcbd5ac Mon Sep 17 00:00:00 2001 From: phessler <> Date: Mon, 21 Oct 2013 08:59:49 +0000 Subject: 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. --- src/usr.bin/nc/netcat.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/usr.bin/nc/netcat.c b/src/usr.bin/nc/netcat.c index c4f8ca96a8..6123b7e4e3 100644 --- a/src/usr.bin/nc/netcat.c +++ b/src/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 * @@ -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) -- cgit v1.2.3-55-g6feb