Date: Mon, 14 Sep 2015 15:47:53 -0400 From: Ryan Stone <rysto32@gmail.com> To: freebsd-net <freebsd-net@freebsd.org> Subject: route command will perform DNS lookup of invalid interface name Message-ID: <CAFMmRNxRPhGbZUCm-xtrhRWtLRXFs0qB9djGK9U6BFQvJJNr-Q@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
At $WORK, we have observed that if you attempt to add a route with the
-iface flag, but you specify an incorrect interface name, the route command
will perform a DNS lookup of the interface name. It appears that if the
DNS lookup succeeds that it will treat the parameter to -iface as if it
were a gateway for the route and not an interface.
This appears to be a simple bug. This patch resolves the issue for me, but
I'm a bit worried that the fallback to a DNS lookup might actually be
desired behaviour in some case. Does anybody have any ideas?
diff --git a/sbin/route/route.c b/sbin/route/route.c
index 1bce41e..a447a45 100644
--- a/sbin/route/route.c
+++ b/sbin/route/route.c
@@ -1222,6 +1222,9 @@ getaddr(int idx, char *str, struct hostent **hpp, int
nrflags)
freeifaddrs(ifap);
if (sdl != NULL)
return(1);
+ else
+ errx(EX_DATAERR,
+ "inferface '%s' does not exist", str);
}
break;
case RTAX_IFP:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFMmRNxRPhGbZUCm-xtrhRWtLRXFs0qB9djGK9U6BFQvJJNr-Q>
