Provided by: djbdns-utils_1.05-15fakesync1_amd64 bug

NAME

       qualification - User's guide to name qualification

OVERVIEW

       Qualification means conversion of a short host name that you type, such as cheetah, into a
       complete (``fully qualified'') domain name, such as cheetah.heaven.af.mil.

       This page explains the djbdns qualification procedure.  These rules are  followed  by  the
       dns_ip4_qualify library routine in djbdns, and by programs that use the dns_ip4_qualify(3)
       routine.

Rewriting instructions

       Normally  the   djbdns    qualification   procedure   follows   instructions   listed   in
       /etc/dnsrewrite,   a  file  created  by  your  system  administrator.   You  can  override
       /etc/dnsrewrite by creating your own file  and  setting  the  $DNSREWRITEFILE  environment
       variable to the name of that file.

       Sample instructions:

         # anything.local -> me
         -.local:me
         # me -> 127.0.0.1
         =me:127.0.0.1
         # any.name.a -> any.name.af.mil
         *.a:.af.mil
         # any-name-without-dots -> any-name-without-dots.heaven.af.mil
         ?:.heaven.af.mil
         # remove trailing dot
         *.:

       Instructions  are  followed  in  order,  each  at  most  once.   There  are  four types of
       instructions:

       =post:new
              means that the host name post is replaced by new.

       *post:new
              means that any name of the form prepost is replaced by prenew.

       ?post:new
              means that any name of the form  prepost,  where  pre  does  not  contain  dots  or
              brackets, is replaced by prenew.

       -post:new
              means that any name of the form prepost is replaced by new.

Searching

       The   djbdns   qualification  procedure  can  search  through  DNS  for  several  possible
       qualifications of a name.  For example, the name

       cheetah+.heaven.af.mil+.af.mil

       is qualified as cheetah.heaven.af.mil if that name has IP  addresses  listed  in  DNS,  or
       cheetah.af.mil otherwise.

       In  general,  x+y1+y2+y3  is  qualified  as  xy1  if  xy1  has IP addresses listed in DNS;
       otherwise, as xy2 if xy2 has IP addresses listed in DNS; otherwise, as xy3.  You can  list
       any number of +'s.

       Searching is applied after rewriting, so you can use a rewriting instruction such as

       ?:+.heaven.af.mil+.af.mil

       to  have  lion  qualified  as  lion.heaven.af.mil  or  lion.af.mil, and tiger qualified as
       tiger.heaven.af.mil or tiger.af.mil, and so on.

       Searching is generally not a recommended feature.  If you rely on gw  being  qualified  as
       gw.af.mil,  and someone suddenly adds a new gw.heaven.af.mil, you'll end up talking to the
       wrong host.  It's better to rely on syntactic rules that you control.

Compatibility mechanisms

       If the rewriting-instructions file does not  exist,  the  djbdns  qualification  procedure
       looks for a local domain name in three places:

       1.     the $LOCALDOMAIN environment variable, if it is set; or

       2.     the first domain or search line in /etc/resolv.conf, if /etc/resolv.conf exists and
              has such a line; or

       3.     everything after the first dot in the system's hostname.

       It then creates rewriting instructions of the form

         ?:.domain
         *.:

       so that .domain is added to any name without dots or brackets.

       You can specify searching in $LOCALDOMAIN by  using  several  domain  names  separated  by
       spaces.   Your  system  administrator can specify searching in /etc/resolv.conf by putting
       several domains on a search line.

Compatibility notes

       Different  DNS  client  programs  use  different  qualification  procedures.   Two   major
       differences between the djbdns qualification procedure and other qualification procedures:

              Most   programs   use  only  /etc/resolv.conf.   They  don't  know  anything  about
              /etc/dnsrewrite and $DNSREWRITEFILE.

              Most long-running programs don't notice  changes  in  /etc/resolv.conf;  they  read
              /etc/resolv.conf  when  they  start,  and  they  don't  reread  it  until  they are
              restarted.  In contrast, the djbdns  qualification  procedure  checks  for  changes
              every 10 minutes or 10000 uses.

       Two minor differences:

              Some  programs  interpret  a domain line in /etc/resolv.conf as specifying a search
              list consisting of various suffixes of the domain.

              Many programs will search the local domain for names with dots.

       If you want the local domain searched for  names  with  dots,  you  can  set  it  up  with
       rewriting:

         # aol.com -> aol.com or aol.com.heaven.af.mil
         *:++.heaven.af.mil
         # but skip directly to heaven.af.mil if no dots
         ?++.heaven.af.mil:.heaven.af.mil

SEE ALSO

       dnsipq(1)

       http://cr.yp.to/djbdns.html

                                                                                 qualification(5)