Provided by: djbdns-utils_1.05-15ubuntu2_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)