Previous Section Next Section

confMAPDEF

Which database libraries to use Build macro

The confMAPDEF macro defines the database library support you want. The currently available choices are listed in Table 2-9. Details are given in the section indicated.

Table 2-9. Define for database support

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.

Previous Section Next Section