bind9/bin/dig
Michał Kępień 18758392da Restore localhost fallback in bin/dig/dighost.c
In BIND 9.11 and earlier, dig and similar tools used liblwres for
parsing /etc/resolv.conf.  After getting a list of servers from
liblwres, a tool would check the address family of each server found and
reject those unusable.  When the resulting list of usable servers was
empty, localhost addresses were queried as a fallback.

When liblwres was removed in BIND 9.12, dig and similar tools were
updated to parse /etc/resolv.conf using libirs instead.  As part of that
process, the localhost fallback was removed from bin/dig/dighost.c since
the localhost fallback built into libirs was deemed to be sufficient.
However, libirs only falls back to localhost if it does not find any
name servers at all; if it does find any valid nameserver entry in
/etc/resolv.conf, it just returns it to the caller because it is
oblivious to whether the caller supports IPv4 and/or IPv6 or not.  The
code in bin/dig/dighost.c subsequently filters the returned list of
servers in get_server_list() according to the requested address family
restrictions.  This may result in none of the addresses returned by
libirs being usable, in which case a tool will attempt to work with an
empty server list, causing a hang and subsequently a crash upon user
interruption.

Restore the localhost fallback in bin/dig/dighost.c to prevent the
aforementioned hangs and crashes and ensure recent BIND versions behave
identically to the older ones in the circumstances described above.
2018-11-13 14:31:18 +01:00
..
include/dig Add some DBC checks in dighost; fix race between clear_query and send_done in dighost 2018-11-07 13:04:13 -05:00
win32 Add @OPENSSL_LIB@ to Windows project files as needed 2018-08-10 16:45:00 +02:00
.gitignore [master] update gitignore files; use rev-parse to get srcid 2014-06-17 13:49:30 -07:00
dig.1 regenerate doc 2018-05-21 19:59:45 +00:00
dig.c Change the dig documentation 2018-11-06 12:48:08 +07:00
dig.docbook Change the dig documentation 2018-11-06 12:48:08 +07:00
dig.html regenerate doc 2018-05-21 19:59:45 +00:00
dighost.c Restore localhost fallback in bin/dig/dighost.c 2018-11-13 14:31:18 +01:00
host.1 prep 9.13.3 2018-09-04 06:11:38 +00:00
host.c Abolish ip6.int support in dig and mdig 2018-11-05 19:07:31 -05:00
host.docbook Abolish ip6.int support in dig and mdig 2018-11-05 19:07:31 -05:00
host.html regenerate doc 2018-05-21 19:59:45 +00:00
Makefile.in Bail-out early in the for install loops instead of continuing because for masks the error in the middle 2018-09-03 12:05:45 +02:00
nslookup.1 prep 9.13.3 2018-09-04 06:11:38 +00:00
nslookup.c Abolish ip6.int support in dig and mdig 2018-11-05 19:07:31 -05:00
nslookup.docbook Update the IDN documentation for nslookup 2018-11-06 12:48:08 +07:00
nslookup.html regenerate doc 2018-05-21 19:59:45 +00:00