DB(7P)                                                                  DB(7P)


NAME
     db - local name service database

SYNOPSIS
     /var/ns/lib/libns_db.so

DESCRIPTION
     The db client library fetches name service data out of an db(3B) format
     database file on the local host.  This library is meant to be used only
     by the nsd(1M) daemon to efficiently access local name service data.

     The library /var/ns/lib/libns_db.so is opened by the nsd(1M) daemon when
     db is listed as the protocol for some map in a nsswitch.conf file.

     The library contains code to fetch data from a local db file and present
     it as lines from the configuration file from which it came.  The nsd
     daemon then presents that data in the filesystem mounted under /ns.

     Extended attributes in the nsswitch.conf file can be used to control the
     behavior of the db library.  Extended attributes are simply lists of
     key/value pairs attached to each object in the nsd filesystem.  The
     attributes supported in this library are:

     domain
          This is the domainname given as a parameter to the remote name
          server.  This attribute is typically inherited from the daemon
          depending on the nsswitch.conf file that is being read.  Given the
          configuration file /var/ns/domains/DOMAINNAME/nsswitch.conf the
          attribute "domain" is set to DOMAINNAME.  This attribute controls
          which file is used to supply the requested information.  Given a
          domain DOMAINNAME the library would open the file
          /var/ns/domains/DOMAINNAME/table.db.  If the domain attribute is
          unset then the file /etc/table.db would be used.  See the
          information about the table attribute below.  A client system can be
          a member of multiple domains by including multiple instances of the
          db keyword in the nsswitch.conf file like:
               hosts: db(domain=engr) db(domain=corp)

     table
          The table attribute is typically inherited from the daemon based on
          the line from which this entry occurs in the nsswitch.conf file.  In
          the above example the table attribute would be set to hosts.byname
          or hosts.byaddr depending on the context of the request.  This
          attribute is used as the file name containing the db data, with a
          ".db" appended. For the hosts.byname map in the default domain the
          file /etc/hosts.byname.db would be opened and searched.

     key  The key attribute is used to fetch the data from the db(3B) file.
          It is set by the nsd(1M) daemon, and is used without alteration.


     file The file attribute overrides the domain and table attributes to set
          the name of the file to be opened.  If the file begins with a
          leading '/' then that file is simply opened.  If not, then the
          contents of this attribute are appended to the directory name --
          either /etc/ for the default domain, or /var/ns/domains/DOMAINNAME/
          when the domain attribute is set.

     db_hash
          The db_hash attribute sets the hash type for a Berkeley db file.
          The default is "btree".  The valid choices are btree, hash, and
          recno.   See dbopen(3) for detail on these.

     null_extend_key
          The null_extend_key attribute specifies that the null character
          which terminates the key is really part of the key.  Some
          applications (such as sendmail) have historically included the null
          in the key so this attribute provides backward compatibility with
          the old behavior.

SEE ALSO
     nsd(1M), dbopen(3), nsswitch.conf(4)
     IRIX Admin: Networking and Mail


                                                                        Page 2