mirror of
https://github.com/darlinghq/darling-libresolv.git
synced 2024-11-23 04:30:06 +00:00
e67010e4cc
Not sure what version this is based on...
226 lines
8.3 KiB
Groff
226 lines
8.3 KiB
Groff
.\" $OpenBSD: resolver.5,v 1.2 1997/03/12 10:42:19 downsj Exp $
|
|
.\" Copyright (c) 1986 The Regents of the University of California.
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms are permitted
|
|
.\" provided that the above copyright notice and this paragraph are
|
|
.\" duplicated in all such forms and that any documentation,
|
|
.\" advertising materials, and other materials related to such
|
|
.\" distribution and use acknowledge that the software was developed
|
|
.\" by the University of California, Berkeley. The name of the
|
|
.\" University may not be used to endorse or promote products derived
|
|
.\" from this software without specific prior written permission.
|
|
.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
|
|
.\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
|
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
|
.\"
|
|
.\" Portions Copyright (c) 2003 by Apple Computer, Inc.
|
|
.\"
|
|
.\" @(#)resolver.5 5.9 (Berkeley) 12/14/89
|
|
.\" $From: resolver.5,v 8.3 1995/12/06 20:34:35 vixie Exp $
|
|
.\"
|
|
.Dd June 6, 2003
|
|
.Dt resolver 5
|
|
.Os "Mac OS X"
|
|
.Sh NAME
|
|
.Nm resolver
|
|
.Nd resolver configuration file format
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
is a set of routines in the C library
|
|
.Xr 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.
|
|
.Pp
|
|
Mac OS X supports a DNS search strategy that may involve multiple
|
|
DNS resolver clients.
|
|
See the
|
|
.Sx SEARCH STRATEGY
|
|
section below for an overview of multi-client DNS
|
|
search.
|
|
.Pp
|
|
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
|
|
.Pa /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.
|
|
.Pp
|
|
The different configuration options are given below.
|
|
.Ss nameserver
|
|
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,
|
|
.Li 10.0.0.17.55
|
|
specifies that the nameserver at 10.0.0.17
|
|
uses port 55.
|
|
.Pp
|
|
Up to
|
|
.Va 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.
|
|
.Ss port
|
|
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
|
|
.Sx nameserver
|
|
above) to override the default
|
|
or the port number specified as a value for this keyword.
|
|
.Ss domain
|
|
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
|
|
.Pa /etc/resolver
|
|
directory.
|
|
In that case the file name is used as the domain name.
|
|
However,
|
|
.Sx 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
|
|
.Sx SEARCH STRATEGY
|
|
section for more details.
|
|
.Ss search
|
|
Search list for host-name lookup.
|
|
This parameter is only used by the "Super" DNS resolver, which
|
|
manages 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.
|
|
.Pp
|
|
The search list is currently limited to six domains
|
|
with a total of 256 characters.
|
|
.Ss search_order
|
|
Only required for those clients that share a domain name with other clients.
|
|
Queries will be sent to these clients in order by ascending
|
|
.Sx 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.
|
|
.Ss sortlist
|
|
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:
|
|
.Bd -literal -offset indent
|
|
sortlist 130.155.160.0/255.255.240.0 130.155.0.0
|
|
.Ed
|
|
.Ss timeout
|
|
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.
|
|
.Ss options
|
|
Options allows certain internal resolver variables to be modified.
|
|
The syntax is:
|
|
.Pp
|
|
options
|
|
.Ar option Li "..."
|
|
.Pp
|
|
where
|
|
.Ar option
|
|
is one of the following:
|
|
.Bl -tag -width -indent
|
|
.It Ar debug
|
|
sets
|
|
.Va RES_DEBUG
|
|
in the resolver options.
|
|
.It Ar timeout:n
|
|
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
|
|
.Sx timeout
|
|
keyword (see above).
|
|
.It Ar ndots:n
|
|
Sets a threshold for the number of dots which
|
|
must appear in a name given to
|
|
.Sx res_query
|
|
(see
|
|
.Xr resolver(3))
|
|
before an initial absolute query will be made. The default for
|
|
.Ar n
|
|
is ``1'', meaning that if there are any dots in a name, the name
|
|
will be tried first as an absolute name before any
|
|
.Sx search
|
|
list elements are appended to it.
|
|
.Pp
|
|
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.
|
|
.El
|
|
.Sh SEARCH STRATEGY
|
|
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 available clients by finding a best match
|
|
between the domain name given in a query and the names of all known clients.
|
|
.Pp
|
|
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
|
|
.Pa /etc/resolv.conf
|
|
file or to the "primary" DNS
|
|
configuration on the system are used for the query.
|
|
.Pp
|
|
If multiple clients are available for the same domain name, the clients ordered
|
|
according to a
|
|
.Sx search_order
|
|
value (see above).
|
|
Queries are sent to these resolvers in sequence by ascending value of
|
|
search_order.
|
|
.Pp
|
|
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
|
|
.Pa /etc/resolv.conf
|
|
file and
|
|
in the files found in the
|
|
.Pa /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.
|
|
.Sh FILES
|
|
/etc/resolv.conf, /etc/resolver/*
|
|
.Sh SEE ALSO
|
|
gethostbyname(2), getaddrinfo(3), resolver(3)
|