Parameters in src/conf.h

Parameters and compilation options are defined in conf.h. Most of these need not normally be tweaked; common parameters are all in sendmail.cf. However, the sizes of certain primitive vectors, etc., are included in this file. The numbers following the parameters are their default value.

This document is not the best source of information for compilation flags in conf.h -- see src/READ_ME or src/conf.h itself.

MAXLINE [2048]
The maximum line length of any input line. If message lines exceed this length they will still be processed correctly; however, header lines, configuration file lines, alias lines, etc., must fit within this limit.
MAXNAME [256]
The maximum length of any name, such as a host or a user name.
MAXPV [40]
The maximum number of parameters to any mailer. This limits the number of recipients that may be passed in one transaction. It can be set to any arbitrary number above about 10, since sendmail will break up a delivery into smaller batches as needed. A higher number may reduce load on your system, however.
MAXATOM [100]
The maximum number of atoms (tokens) in a single address. For example, the address eric@CS.Berkeley.EDU is seven atoms.
MAXMAILERS [25]
The maximum number of mailers that may be defined in the configuration file.
MAXRWSETS [200]
The maximum number of rewriting sets that may be defined. The first half of these are reserved for numeric specification (e.g., ``S92''), while the upper half are reserved for auto-numbering (e.g., ``Sfoo''). Thus, with a value of 200 an attempt to use ``S99'' will succeed, but ``S100'' will fail.
MAXPRIORITIES [25]
The maximum number of values for the Precedence: field that may be defined (using the P line in sendmail.cf).
MAXUSERENVIRON [100]
The maximum number of items in the user environment that will be passed to subordinate mailers.
MAXMXHOSTS [20]
The maximum number of MX records we will accept for any single host.
MAXALIASDB [12]
The maximum number of alias databases that can be open at any time. Note that there may also be an open file limit.
MAXMAPSTACK [12]
The maximum number of maps that may be "stacked" in a sequence class map.
MAXMIMEARGS [20]
The maximum number of arguments in a MIME Content-Type: header; additional arguments will be ignored.
MAXMIMENESTING [20]
The maximum depth to which MIME messages may be nested (that is, nested Message or Multipart documents; this does not limit the number of components in a single Multipart document).

A number of other compilation options exist. These specify whether or not specific code should be compiled in. Ones marked with * are 0/1 valued.

NETINET*
If set, support for Internet protocol networking is compiled in. Previous versions of sendmail referred to this as this old usage is now incorrect. Defaults on; turn it off in the Makefile if your system doesn't support the Internet protocols.
NETISO*
If set, support for ISO protocol networking is compiled in (it may be appropriate to #define this in the Makefile instead of conf.h).
LOG
If set, the syslog routine in use at some sites is used. This makes an informational log record for each message processed, and makes a higher priority log record for internal system errors. STRONGLY RECOMMENDED -- if you want no logging, turn it off in the configuration file.
MATCHGECOS*
Compile in the code to do ``fuzzy matching'' on the GECOS field in /etc/passwd. This also requires that the MatchGECOS option be turned on.
NAMED_BIND*
Compile in code to use the Berkeley Internet Name Domain (BIND) server to resolve TCP/IP host names.
NOTUNIX
If you are using a non-UNIX mail format, you can set this flag to turn off special processing of UNIX-style From lines.
QUEUE
This flag should be set to compile in the queueing code. If this is not set, mailers must accept the mail immediately or it will be returned to the sender.
SMTP
If set, the code to handle user and server SMTP will be compiled in. This is only necessary if your machine has some mailer that speaks SMTP (this means most machines everywhere).
USERDB*
Include the experimental Berkeley user information database package. This adds a new level of local name expansion between aliasing and forwarding. It also uses the NEWDB package. This may change in future releases.

The following options are normally turned on in per-operating-system clauses in conf.h.

IDENTPROTO*
Compile in the IDENT protocol as defined in RFC 1413. This defaults on for all systems except Ultrix, which apparently has the interesting feature that when it receives a host unreachable message it closes all open connections to that host. Since some firewall gateways send this error code when you access an unauthorized port (such as 113, used by IDENT), Ultrix cannot receive email from such hosts.
SYSTEM5
Set all of the compilation parameters appropriate for System V.
HASFLOCK*
Use Berkeley-style flock instead of System V lockf to do file locking. Due to the highly unusual semantics of locks across forks in lockf, this should always be used if at all possible.
HASINITGROUPS
Set this if your system has the initgroups() call (if you have multiple group support). This is the default if SYSTEM5 is not defined or if you are on HPUX.
HASUNAME
Set this if you have the uname(2) system call (or corresponding library routine). Set by default if SYSTEM5 is set.
HASGETDTABLESIZE
Set this if you have the getdtablesize(2) system call.
HASWAITPID
Set this if you have the haswaitpid(2) system call.
SFS_TYPE
The mechanism that can be used to get file system capacity information. The values can be one of SFS_USTAT (use the ustat(2) syscall), SFS_4ARGS (use the four argument statfs(2) syscall), SFS_VFS (use the two argument statfs(2) syscall including <sys/vfs.h>), SFS_MOUNT (use the two argument statfs(2) syscall including <sys/mount.h>), SFS_STATFS (use the two argument statfs(2) syscall including <sys/statfs.h>), SFS_STATVFS (use the two argument statfs(2) syscall including <sys/statvfs.h>), or SFS_NONE (no way to get this information).
LA_TYPE
The load average type. Details are described below.

The are several built-in ways of computing the load average. Sendmail tries to auto-configure them based on imperfect guesses; you can select one using the cc option -DLA_TYPE= type, where type is:

LA_INT
The kernel stores the load average in the kernel as an array of long integers. The actual values are scaled by a factor FSCALE (default 256).
LA_SHORT
The kernel stores the load average in the kernel as an array of short integers. The actual values are scaled by a factor FSCALE (default 256).
LA_FLOAT
The kernel stores the load average in the kernel as an array of double precision floats.
LA_MACH
Use MACH-style load averages.
LA_SUBR
Call the getloadavg routine to get the load average as an array of doubles.
LA_ZERO
Always return zero as the load average. This is the fallback case.

If type or is specified, you may also need to specify (the path to your system binary) and (the name of the variable containing the load average in the kernel; usually _avenrun or avenrun).


[Contents] [Previous] [Next]


Questions or problems regarding this web site should be directed to Steve Gielda.
Copyright 1999 www.cotse.com.  All rights reserved.
Last modified: Friday April 02, 1999.