SM_...

sendmail porting settings (V8.12 and above) Port with confENVDEF

Beginning with V8.12, the per-operating-system compile-time macros were removed from the sendmail/conf.h file, and were moved into the include/sm/conf.h file. In addition to moving them, they were also all prefixed with the characters SM_.

These compile-time macros are most certainly defined correctly for your operating system. In the rare event you are porting sendmail to a new operating system, you might need to tune these on a selective basis:

SM_CONF_BROKEN_SIZE_T

On most systems, the size_t type is defined as an unsigned variable. When porting, if that is not the case on your system, define this compile-time macro:

APPENDDEF(`confENVDEF', `-DSM_CONF_BROKEN_SIZE_T=1')
SM_CONF_BROKEN_STRTOD

The sendmail program uses printf(3) and scanf(3) with double-precision conversions, which will cause them to return improper results on some operating systems. When porting, if your operating system returns improper results, you can define this compile-time macro:

APPENDDEF(`confENVDEF', `-DSM_CONF_BROKEN_STRTOD=1')

See libsm/t-float.c to discover how to detect whether this is needed.

SM_CONF_GETOPT

The sendmail program, and all its companion programs, use the getopt(3) routine to parse command-line arguments. When porting, if your compiler library lacks a getopt(3) routine, define this compile-time macro with a value of zero:

APPENDDEF(`confENVDEF', `-DSM_CONF_GETOPT=0')
SM_CONF_LDAP_MEMFREE

When porting, if your LDAP library includes ...

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.