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.