Chapter 3. Tune sendmail with Compile-Time Macros

For most users, the default sendmail that is produced by running Build is perfectly suitable. For others, however, support for certain desirable features—such as hesiod, LDAP, or NIS—will have to be added. The open source distribution of sendmail has many such support items that you can include or exclude from your compiled binary using compile-time macros.

What’s New with V8.13

V8.13 has introduced six new compile-time macros:

  • The new SOCKETMAP compile-time macro enables use of the new socket database-map type (Section 3.1.1 [V8.13]).

  • The new SM_CONF_LDAP_INITIALIZE compile-time macro (Section 3.1.2 [V8.13]) if set, declares that the ldap_initialize(3) routine exists in your LDAP library.

  • The new NEEDINTERRNO compile-time macro, if set, says that errno is not declared in your system’s errno.h file.

  • The new SM_CONF_POLL compile-time macro causes poll(2) to be used instead of select(2) in the Milter library.

  • The new HASCLOSEFROM compile-time macro may be defined if your system has the closefrom(3) C-library function.

  • The new HASFDWALK compile-time macro may be defined if your system has the fdwalk(3) C-library function.

The SOCKETMAP Compile-Time Macro

The SOCKETMAP compile-time macro enables use of the new socket database-map type (Section 23.1.5 [V8.13]). Define SOCKETMAP inside your Build m4 file with a line like this:

               APPENDDEF(`confMAPDEF´, `-DSOCKETMAP´)

If you use a vendor supplied sendmail program, you may check to see whether it ...

Get sendmail 8.13 Companion now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.