NDBM

Support Unix ndbm(3) databases Tune with confMAPDEF

The ndbm(3) form of database uses two files (.pag and .dir) for each database. Databases cannot be shared by different architectures across a network. If you intend to support aliasing in an efficient manner, you should at least define this NDBM (or NEWDB, described next) in your Build m4 file:

APPENDDEF(`confMAPDEF', `-DNDBM')

The ndbm(3) routines are used primarily to look up aliases. They can also be used to declare dbm-type maps (The type on page 882) with the K configuration command.

Library routines to support ndbm(3) are available with most modern commercial versions of Unix. You might have to specify library support with an -lndbm in the confLIBS line of your Build m4 file. If you are running a precompiled sendmail binary, you can use the -d0.1 debugging command-line switch (-d0.1 on page 542) to determine whether NDBM support is included (if it appears in the list, support is included).

If, when you build sendmail, you get an error something like this:

"map.c", line 23: syntax error at or near variable name "README"

you are using a defectively installed db library. Versions of the db package from 2.0 through 2.3.1 can interfere with ndbm, unless precautionary steps are taken. Read the file sendmail/README for a description of how to correct this problem.

Get sendmail, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.