HOSTNAME(7) BSD Miscellaneous Information Manual HOSTNAME(7)
hostname -- host name resolution description
Hostnames are domains. A domain is a hierarchical, dot-separated list of subdomains. For
example, the machine ``monet'', in the ``Berkeley'' subdomain of the ``EDU'' subdomain of
the Internet Domain Name System would be represented as
(with no trailing dot).
Hostnames are often used with network client and server programs, which must generally
translate the name to an address for use. (This task is usually performed by the library
routine gethostbyname(3).) The default method for resolving hostnames by the Internet name
resolver is to follow RFC 1535's security recommendations. Actions can be taken by the
administrator to override these recommendations and to have the resolver behave the same as
earlier, non-RFC 1535 resolvers.
The default method (using RFC 1535 guidelines) follows:
If the name consists of a single component, i.e. contains no dot, and if the environment
variable ``HOSTALIASES'' is set to the name of a file, that file is searched for a string
matching the input hostname. The file should consist of lines made up of two strings sepa-
rated by white-space, the first of which is the hostname alias, and the second of which is
the complete hostname to be substituted for that alias. If a case-insensitive match is
found between the hostname to be resolved and the first field of a line in the file, the
substituted name is looked up with no further processing.
If there is at least one dot in the name, then the name is first tried ``as-is''. The num-
ber of dots to cause this action is configurable by setting the threshold using the
``ndots'' option in /etc/resolv.conf (default: 1). If the name ends with a dot, the trail-
ing dot is removed, and the remaining name is looked up (regardless of the setting of the
ndots option), without further processing.
If the input name does not end with a trailing dot, it is looked up by searching through a
list of domains until a match is found. If neither the search option in the
/etc/resolv.conf file or the ``LOCALDOMAIN'' environment variable is used, then the search
list of domains contains only the full domain specified by the domain option (in
/etc/resolv.conf) or the domain used in the local hostname. For example, if the ``domain''
option is set to CS.Berkeley.EDU, then only CS.Berkeley.EDU will be in the search list, and
this will be the only domain appended to the partial hostname. For example, if ``lithium''
is the name to be resolved, this would make lithium.CS.Berkeley.EDU the only name to be
tried using the search list.
If the search option is used in /etc/resolv.conf or the environment variable ``LOCALDOMAIN''
is set by the user, then the search list will include what is set by these methods. For
example, if the ``search'' option contained
CS.Berkeley.EDU CChem.Berkeley.EDU Berkeley.EDU
then the partial hostname (e.g., ``lithium'') will be tried with each domain name appended
(in the same order specified); the resulting hostnames that would be tried are:
The environment variable ``LOCALDOMAIN'' overrides the ``search'' and ``domain'' options,
and if both search and domain options are present in the resolver configuration file, then
only the last one listed is used (see resolver(5)).
If the name was not previously tried ``as-is'' (i.e., it fell below the ``ndots'' threshold
or did not contain a dot), then the name as originally provided is attempted.
LOCALDOMAIN Affects domains appended to partial hostnames.
HOSTALIASES Name of file containing (host alias, full hostname) pairs.
/etc/resolv.conf See resolver(5).
gethostbyname(3), resolver(5), mailaddr(7)
BSD February 16, 1994 BSD