resolver(5) BSD File Formats Manual resolver(5)
resolver -- resolver configuration file format
The resolver is a set of routines in the C library resolv(3) that provide
access to the Internet Domain Name System (DNS). A resolver configura-
tion file contains information used to specify parameters for a DNS
resolver client. The file contains a list of keywords with values that
provide various types of resolver information.
Mac OS X supports a DNS search strategy that may involve multiple DNS
resolver clients. See the SEARCH STRATEGY section below for an overview
of multi-client DNS search.
Each DNS client is configured using the contents of a single configura-
tion file of the format described below, or from a property list supplied
from some other system configuration database. Note that the
/etc/resolv.conf file, which contains configuration for the default (or
"primary") DNS resolver client, is maintained automatically by Mac OS X
and should not be edited manually. Changes to the DNS configuration
should be made by using the Network Preferences panel.
The different configuration options are given below.
Internet address (in dot notation for IPv4 or in colon notation for IPv6)
of a name server that the resolver should query. The address may option-
ally have a trailing dot followed by a port number. For example,
10.0.0.17.55 specifies that the nameserver at 10.0.0.17 uses port 55.
Up to MAXNS (currently 3) name servers may be listed, one per keyword.
If there are multiple servers, the resolver library queries them in the
order listed. The algorithm used is to try a name server, and if the
query times out, try the next, until out of name servers, then repeat
trying all the name servers until a maximum number of retries are made.
IP port number to be used for this resolver. The default port is 53.
The port number for an individual nameserver may be specified as part of
the nameserver address (see nameserver above) to override the default or
the port number specified as a value for this keyword.
Domain name associated with this resolver configuration. This option is
normally not required by the Mac OS X DNS search system when the resolver
configuration is read from a file in the /etc/resolver directroy. In
that case the file name is used as the domain name. However, domain must
be provided when there are multiple resolver clients for the same domain
name, since multiple files may not exist having the same name. See the
SEARCH STRATEGY section for more details.
Search list for host-name lookup. This parameter is only used by the
"Super" DNS resolver, which manages the DNS search strategy amongst mul-
tiple DNS resolver clients. Unqualified queries will be attempted using
each component of the search list in turn until a match is found. Note
that this process may be slow and will generate a lot of network traffic
if the servers for the listed domains are not local, and that queries
will time out if no server is available for one of the domains.
The search list is currently limited to six domains with a total of 256
Only required for those clients that share a domain name with other
clients. Queries will be sent to these clients in order by ascending
search_order value. For example, this allows two clients for the
".local" domain, which is used by Apple's Rendezvous multicast DNS sys-
tem, but which may also be used at some sites as private DNS domain name.
Sortlist allows addresses returned by gethostbyname to be sorted. A
sortlist is specified by IP address netmask pairs. The netmask is
optional and defaults to the natural netmask of the net. The IP address
and optional network pairs are separated by slashes. Up to 10 pairs may
be specified. For example:
sortlist 220.127.116.11/255.255.240.0 18.104.22.168
Specifies the total amount of time allowed for a name resolution. This
time interval is divided by the number of nameservers and the number of
retries allowed for each nameserver.
Options allows certain internal resolver variables to be modified. The
options option ...
where option is one of the following:
debug sets RES_DEBUG in the resolver options.
sets the per-retry timeout for resolver queries. The total
timeout allowed for a query depends on the number of retries and
the number of nameservers. This value is ignored if a total
timeout is specified using the timeout keyword (see above).
ndots:n Sets a threshold for the number of dots which must appear in a
name given to res_query (see resolver(3)) before an initial
absolute query will be made. The default for n is ``1'', mean-
ing that if there are any dots in a name, the name will be tried
first as an absolute name before any search list elements are
appended to it.
The keyword and value must appear on a single line, and the key-
word must start the line. The value follows the keyword, sepa-
rated by white space.
Mac OS X uses a DNS search strategy that supports multiple DNS client
configurations. Each DNS client has its own set of nameserver addresses
and its own set of operational parameters. Each client can perform DNS
queries and searches independent of other clients. Each client has a
symbolic name which is of the same format as a domain name, e.g.
"apple.com". A special meta-client, known as the "Super" DNS client acts
as a router for DNS queries. The Super client chooses among all avail-
able clients by finding a best match between the domain name given in a
query and the names of all known clients.
Queries for qualified names are sent using a client configuration that
best matches the domain name given in the query. For example, if there
is a client named "apple.com", a search for "www.apple.com" would use the
resolver configuration specified for that client. The matching algorithm
chooses the client with the maximum number of matching domain components.
For example, if there are clients named "a.b.c", and "b.c", a search for
"x.a.b.c" would use the "a.b.c" resolver configuration, while a search
for "x.y.b.c" would use the "b.c" client. If there are no matches, the
configuration settings in the default client, generally corresponding to
the /etc/resolv.conf file or to the "primary" DNS configuration on the
system are used for the query.
If multiple clients are available for the same domain name, the clients
ordered according to a search_order value (see above). Queries are sent
to these resolvers in sequence by ascending value of search_order.
The configuration for a particular client may be read from a file having
the format described in this man page. These are at present located by
the system in the /etc/resolv.conf file and in the files found in the
/etc/resolver directroy. However, client configurations are not limited
to file storage. The implementation of the DNS multi-client search
strategy may also locate client configuratins in other data sources, such
as the System Configuration Database. Users of the DNS system should
make no assumptions about the source of the configuration data.
gethostbyname(2), getaddrinfo(3), resolver(3)
Mac OS June 6, 2003 Mac OS