s6-dns: the s6-dnsip4 program
Keywords: s6-dns client s6-dnsip4 dnsip domain name ip address ipv4

s6-dns
Software
skarnet.org

# The s6-dnsip4 program

s6-dnsip4 finds the IPv4 addresses associated to a domain name.

## Interface

         s6-dnsip4 [ -q ] [ -H | -h ] [ -r ] [ -t timeout ] domain

- s6-dnsip4 makes an A query for the name domain. It waits for the result and prints the obtained IPv4 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-dnsip4 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.