NDBM(7P) NDBM(7P) NAME ndbm - local name service database SYNOPSIS /var/ns/lib/libns_ndbm.so DESCRIPTION The ndbm client library fetches name service data out of an ndbm(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_ndbm.so is opened by the nsd(1M) daemon when ndbm is listed as the protocol for some map in a nsswitch.conf file. The library contains code to fetch data from a local ndbm 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 ndbm 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.dir,table.pag}. If the domain attribute is unset then the file /etc/{table.dir,table.pag} 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 ndbm keyword in the nsswitch.conf file like: hosts: ndbm(domain=engr) ndbm(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 ndbm data. Ndbm databases are made up of two files, a directory file which has a ".dir" extension and a data file which has a ".pag" extension. For the hosts.byname map in the default domain the files /etc/hosts.byname.dir and /etc/hosts.byname.pag would be opened and searched. key The key attribute is used to fetch the data from the ndbm(3B) database. 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. The file should not have any extension; the ".dir" and ".pag" are automatically appended when opening the files. 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. FILES /var/ns/lib/libns_ndbm.so SEE ALSO nsd(1M), nsswitch.conf(4) IRIX Admin: Networking and Mail Page 2