Fix /sbin/route to never look up (invalid) interface names through DNS
/sbin/route has a bug where if it is passed an interface name that does not exist, it falls through and winds up interpreting it as a hostname. It fails out eventually, but on a system where DNS lookup is broken you can end up waiting for up to 60 seconds waiting for the DNS lookup to timeout. I'm not quite sure what happens if the DNS lookup somehow succeeds but I doubt that can end well. Reviewed by: markj, cem MFC after: 2 weeks Sponsored by: EMC/Isilon Storage Division
This commit is contained in:
parent
f09841e04b
commit
24d3763284
@ -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,
|
||||
"interface '%s' does not exist", str);
|
||||
}
|
||||
break;
|
||||
case RTAX_IFP:
|
||||
|
Loading…
Reference in New Issue
Block a user