aboutsummaryrefslogtreecommitdiffstats
s6-dns: the s6-dnsip program

s6-dns
Software
skarnet.org

The s6-dnsip program

s6-dnsip finds both the IPv6 and IPv4 addresses associated to a domain name.

Interface

     s6-dnsip [ -q ] [ -H | -h ] [ -r ] [ -t timeout ] domain
  • s6-dnsip makes both an A and an AAAA query for the name domain, in parallel. It waits for the results and prints the obtained addresses, one per line, then exits 0.
  • If the domain exists but no relevant field has been found, it exits 1.
  • If the DNS answered but no answer is available, it prints a relevant error message and exits 2.
  • By default, s6-dnsip looks for DNS cache addresses in the /etc/resolv.conf file. If the DNSCACHEIP environment variable is set and contains a list of IP (v4 or v6) addresses, separated by commas, semicolons, spaces, tabs, newlines or carriage returns, then this list is used instead.

Options

  • -q : qualify. Qualifies domain before resolution, according to suffixes found in /etc/resolv.conf. If the DNSQUALIFY environment variable is set and contains a list of suffixes separated by spaces, tabs, newlines or carriage returns, then this list is used instead. By default, no qualification is used: if domain is not a FQDN, a dot is just appended to it.
  • -H : do not use data from /etc/hosts. This is the default.
  • -h : use data from /etc/hosts, if available. If there's a compiled /etc/hosts.cdb file that is newer than /etc/hosts, it will be used instead. (See s6-dns-hosts-compile for details.) If the lookup in the hosts database returns at least one result, then no DNS lookup is performed.
  • -r : random. By default, the program does not sort the result, but prints them in the order received from the DNS. With this option, it performs a random permutation on the results before printing them.
  • -t timeout : if the resolution takes more than timeout milliseconds, then it exits 99 right away with an error message. By default, timeout is 0, which means no timeout.

Notes

Even if the underlying skalibs has been compiled without IPv6 support, or IPv6 DNS transport is unavailable for any reason, s6-dnsip will still return IPv6 addresses if the AAAA query has a positive result.