Skip to content

Commit

Permalink
nslookup: set default DNS server again. Hopefully helps with 675
Browse files Browse the repository at this point in the history
Signed-off-by: Denys Vlasenko <[email protected]>
  • Loading branch information
Denys Vlasenko committed Jun 26, 2013
1 parent 1f5e81f commit d66eb90
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions networking/nslookup.c
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,9 @@ static void set_default_dns(const char *server)
{
len_and_sockaddr *lsa;

if (!server)
return;

/* NB: this works even with, say, "[::1]:5353"! :) */
lsa = xhost2sockaddr(server, 53);

Expand Down Expand Up @@ -181,9 +184,17 @@ int nslookup_main(int argc, char **argv)
/* (but it also says "may be enabled in /etc/resolv.conf") */
/*_res.options |= RES_USE_INET6;*/

if (argv[2])
set_default_dns(argv[2]);
set_default_dns(argv[2]);

server_print();

/* getaddrinfo and friends are free to request a resolver
* reinitialization. Just in case, set_default_dns() again
* after getaddrinfo (in server_print). This reportedly helps
* with bug 675 "nslookup does not properly use second argument"
* at least on Debian Wheezy and Openwrt AA (eglibc based).
*/
set_default_dns(argv[2]);

return print_host(argv[1], "Name:");
}

0 comments on commit d66eb90

Please sign in to comment.