Mac Developer Library Developer


This manual page is for Mac OS X version 10.9

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • To learn how the manual is organized or to learn about command syntax, read the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Developer Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.

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 configuration 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 configuration 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 configu-ration configuration
     ration 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 optionally have a trailing dot followed by a port number.  For
     example, specifies that the nameserver at 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 individ-ual individual
     ual 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
     directory.  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 man-ages manages
     ages the DNS search strategy amongst multiple 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 characters.

     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 multicast DNS, 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 exam-ple: example:


     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 syntax is:

     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 meaning
              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 keyword must start the line.  The
              value follows the keyword, separated 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. "".  A special meta-client, known as the "Super"
     DNS client acts as a router for DNS queries.  The Super client chooses among all available 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 "", a search for ""
     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 configura-tion configuration
     tion 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

     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 directory.  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.

     /etc/resolv.conf, /etc/resolver/*

     gethostbyname(2), getaddrinfo(3), resolver(3)

Mac OS X                         June 6, 2003                         Mac OS X

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.