confMAPDEF |
Which database libraries to use | Build macro |
Define |
§ |
Aliases[20] |
Description |
---|---|---|---|
AUTO_NIS_ALIASES |
AUTO_NIS_ALIASES |
Yes |
Add fall-back alias techniques |
DNSMAP |
dns |
No |
Support dns database maps (V8.12 and above) |
HESIOD |
HESIOD |
Yes |
Support hesiod database maps |
LDAPMAP |
LDAPMAP |
Yes |
Enable use of ldap databases |
MAP_REGEX |
MAP_REGEX |
No |
Enable matching to a map that is a regular expression (V8.9 and above) |
MAP_NSD |
nsd |
No |
Support for IRIX 6.5 name service maps (V8.10 and above) |
NDBM |
NDBM |
Yes |
Support Unix ndbm(3) databases[21] |
NETINFO |
NETINFO |
Yes |
Support NeXT netinfo(3) databases |
NEWDB |
NEWDB |
Yes |
Support db(3), both hash and btree forms |
NIS |
NIS |
Yes |
Support nis maps |
NISPLUS |
NISPLUS |
Yes |
Support nisplus maps |
PH_MAP |
ph |
No |
UIUC ph database (V8.10 and above) |
UDB_DEFAULT_SPEC |
UDB_DEFAULT_SPEC |
n/a |
Default user database location |
USERDB |
USERDB |
n/a |
Support the user database |
[20] If yes, this database format supports aliasing.
[21] Note that the old dbm(3) form of database is no longer supported.
If neither NDBM nor NEWDB are defined, sendmail will read the aliases into its symbol table every time it starts. This will make sendmail crawl every time it starts up and is not recommended.
External databases can be extremely valuable, especially in providing easy solutions for complex problems. Therefore, we recommend that you include a definition for all databases that your system supports, even if you don't immediately see a need for them.
Here we illustrate the selection of two forms of database:[22]
[22] Note that Build will automatically define -DNEWDB for you, if it can find the db(3) library (see confLIBSEARCH, confLIBSEARCH). You can suppress this automatic behavior (and the automatic search for a resolver library) by adding a -S command-line switch when you run Build (-S).
APPENDDEF(`confMAPDEF', `-DNEWDB -DNDBM')
When these two forms are selected, old databases are read by using NDBM, but new databases are created by using NEWDB. Read sendmail/README for details about and exceptions to this transition process.