summaryrefslogtreecommitdiffstats
path: root/contrib/sendmail/doc
diff options
context:
space:
mode:
authorgshapiro <gshapiro@FreeBSD.org>2003-02-08 20:31:29 +0000
committergshapiro <gshapiro@FreeBSD.org>2003-02-08 20:31:29 +0000
commit842b56b9cabf175e7842ec5a3b29ff68353b3177 (patch)
tree2e81c43d391ed220f6656502de14ddfbb0de4ecd /contrib/sendmail/doc
parent39e311b2e17a53f7ed02fcbe3820ca77b65486d5 (diff)
downloadFreeBSD-src-842b56b9cabf175e7842ec5a3b29ff68353b3177.zip
FreeBSD-src-842b56b9cabf175e7842ec5a3b29ff68353b3177.tar.gz
Import sendmail 8.12.7
Diffstat (limited to 'contrib/sendmail/doc')
-rw-r--r--contrib/sendmail/doc/op/op.me161
1 files changed, 112 insertions, 49 deletions
diff --git a/contrib/sendmail/doc/op/op.me b/contrib/sendmail/doc/op/op.me
index b353696..be3340d 100644
--- a/contrib/sendmail/doc/op/op.me
+++ b/contrib/sendmail/doc/op/op.me
@@ -9,7 +9,7 @@
.\" the sendmail distribution.
.\"
.\"
-.\" $Id: op.me,v 8.609.2.5 2002/08/04 19:12:07 ca Exp $
+.\" $Id: op.me,v 8.609.2.17 2002/12/18 22:50:15 ca Exp $
.\"
.\" eqn op.me | pic | troff -me
.\"
@@ -20,6 +20,8 @@
.\" Define \(dg as "*" for text output and create a new .DG macro
.\" which describes the symbol.
.\"
+.if n .ds { [
+.if n .ds } ]
.ie !c \(dg \{\
.char \(dg *
.de DG
@@ -88,7 +90,7 @@ Sendmail, Inc.
.de Ve
Version \\$2
..
-.Ve $Revision: 8.609.2.5 $
+.Ve $Revision: 8.609.2.17 $
.rm Ve
.sp
For Sendmail Version 8.12
@@ -817,7 +819,7 @@ file.
The permissions of the alias file and the database versions
should be 0640 to prevent local denial of service attacks
as explained in the top level
-.b README
+.b README
in the sendmail distribution.
If the permissions 0640 are used, be sure that only trusted users belong
to the group assigned to those files. Otherwise, files should not even
@@ -986,7 +988,7 @@ uses
the permissions of that file
to prevent local denial of service attacks
as explained in the top level
-.b README
+.b README
in the sendmail distribution.
If the file already exists, then it might be necessary to
change the permissions accordingly, e.g.,
@@ -997,7 +999,7 @@ chmod 0600 /var/run/sendmail.pid
.pp
To prevent local denial of service attacks
as explained in the top level
-.b README
+.b README
in the sendmail distribution,
the permissions of map files created by
.i makemap
@@ -1008,7 +1010,7 @@ If those files already exist, then it might be necessary to
change the permissions accordingly, e.g.,
.(b
cd /etc/mail
-chmod 0640 *.db *.pag *.dir
+chmod 0640 *.db *.pag *.dir
.)b
.sh 1 "NORMAL OPERATIONS"
.sh 2 "The System Log"
@@ -1065,10 +1067,10 @@ The number of envelope recipients for this message
The message id of the message (from the header).
.ip proto
The protocol used to receive this message (e.g., ESMTP or UUCP)
-.ip daemon
-The daemon name from the
-.b DaemonPortOptions
-setting.
+.ip daemon
+The daemon name from the
+.b DaemonPortOptions
+setting.
.ip relay
The machine from which it was received.
.lp
@@ -1165,6 +1167,10 @@ option divided by the difference in the current load average and the
option plus one
is less than the priority of the message,
messages are queued rather than immediately delivered.
+.bu
+One or more addresses are marked as expensive and delivery is postponed
+until the next queue run or one or more address are marked as held via
+mailer which uses the hold mailer flag.
.sh 3 "Queue Groups and Queue Directories"
.pp
There are one or more mail queues.
@@ -1363,7 +1369,7 @@ You can also specify the moved queue directory on the command line
.(b
/usr/\*(SD/sendmail \-oQ/var/spool/omqueue \-q
.)b
-but this requires that you do not have
+but this requires that you do not have
queue groups in the configuration file,
because those are not subdirectories of the moved directory.
See the section about "Queue Group Declaration" for details;
@@ -2021,6 +2027,7 @@ limits the run to particular senders,
limits it to particular queue identifiers, and
.q \-qGstring
limits it to a particular queue group.
+The named queue group will be run even if it is set to have 0 runners.
You may also place an
.b !
before the
@@ -2052,6 +2059,16 @@ i.e.,
they print out so much information that you wouldn't normally
want to see them except for debugging that particular piece of code.
.pp
+You should
+.b never
+run a production sendmail server in debug mode.
+Many of the debug flags will result in debug output being sent over the
+SMTP channel.
+This will confuse many mail programs.
+However, for testing purposes, it can be useful
+when sending mail manually via
+telnet to the port you are using while debugging.
+.pp
A debug category is either an integer, like 42,
or a name, like ANSI.
You can specify a range of numeric debug categories
@@ -3009,7 +3026,7 @@ alias files,
and external databases)
must be readable by that user.
Also, since sendmail will not be able to change it's uid,
-delivery to programs or files will be marked as unsafe,
+delivery to programs or files will be marked as unsafe,
e.g., undeliverable,
in
.i \&.forward ,
@@ -3022,6 +3039,12 @@ option to the setting
.b RunAsUser
is probably best suited for firewall configurations
that don't have regular user logins.
+If the option is used on a system which performs local delivery,
+then the local delivery agent must have the proper permissions
+(i.e., usually set-user-ID root)
+since it will be invoked by the
+.b RunAsUser ,
+not by root.
.sh 3 "Turning off security checks"
.pp
.i Sendmail
@@ -3334,7 +3357,7 @@ this turns off MX matching when canonifying names,
which can lead to inappropriate canonifications.
Use
.q WorkAroundBrokenAAAA
-when faced with a a broken nameservers that returns SERVFAIL
+when faced with a broken nameserver that returns SERVFAIL
(a temporary failure)
on T_AAAA (IPv6) lookups
during hostname canonification.
@@ -4033,6 +4056,11 @@ where
.b $|
is a metacharacter separating the two parts.
This ruleset can reject connections from various locations.
+Note that it only checks the connecting SMTP client IP address and hostname.
+It does not check for third party message relaying.
+The
+.i check_rcpt
+ruleset discussed below usually does third party message relay checking.
.sh 4 "check_mail"
.pp
The
@@ -4215,7 +4243,8 @@ how this ruleset can be used.
.pp
The
.i srv_features
-ruleset is called when a client connects to sendmail.
+ruleset is called with the connecting client's host name
+when a client connects to sendmail.
This ruleset should return
.b $#
followed by a list of options (single characters
@@ -4650,7 +4679,7 @@ FORGED forward lookup doesn't match reverse lookup
TEMP temporary lookup failure
.)b
Defined in the SMTP server only.
-.i sendmail
+.i sendmail
performs a hostname lookup on the IP address of the connecting client.
Next the IP addresses of that hostname are looked up.
If the client IP address does not appear in that list,
@@ -4755,6 +4784,8 @@ O SmtpGreetingMessage=$?{if_name}${if_name}$|$j$. MTA
.)b
.ip ${if_name_out}
The name of the interface of an outgoing connection.
+.ip ${load_avg}
+The current load average.
.ip ${mail_addr}
The address part of the resolved triple of the address given for the
.sm "SMTP MAIL"
@@ -4775,7 +4806,7 @@ The value of the SIZE= parameter,
i.e., usually the size of the message (in an ESMTP dialogue),
before the message has been collected, thereafter
the message size as computed by
-.i sendmail
+.i sendmail
(and can be used in check_compat).
.ip ${nrcpts}
The number of validated recipients for a single message.
@@ -6055,9 +6086,9 @@ where
.i class \c
.b :
is optional and defaults to ``implicit''.
-Note that
+Note that
.i info
-is required for all
+is required for all
.i class es
except
.q ldap .
@@ -6176,7 +6207,8 @@ d don't permit mechanisms susceptible to passive
f require forward secrecy between sessions
(breaking one won't help break next).
p don't permit mechanisms susceptible to simple
- passive attack (e.g., PLAIN, LOGIN).
+ passive attack (e.g., PLAIN, LOGIN), unless a
+ security layer is active.
y don't permit mechanisms that allow anonymous login.
.)b
The first option applies to sendmail as a client, the others to a server.
@@ -6185,7 +6217,7 @@ Example:
O AuthOptions=p,y
.)b
would disallow ANONYMOUS as AUTH mechanism and would
-allow PLAIN only if a security layer (e.g.,
+allow PLAIN and LOGIN only if a security layer (e.g.,
provided by STARTTLS) is already active.
The options 'a', 'c', 'd', 'f', 'p', and 'y' refer to properties of the
selected SASL mechanisms.
@@ -6200,12 +6232,12 @@ Set the blank substitution character to
.i c .
Unquoted spaces in addresses are replaced by this character.
Defaults to space (i.e., no change is made).
-.ip CACERTPath
+.ip CACertPath
[no short name]
Path to directory with certificates of CAs.
This directory directory must contain the hashes of each CA certificate
as filenames (or as links to them).
-.ip CACERTFile
+.ip CACertFile
[no short name]
File containing one or more CA certificates;
see section about STARTTLS for more information.
@@ -6376,7 +6408,9 @@ can ignore this option.
.ip DaemonPortOptions=\fIoptions\fP
[O]
Set server SMTP options.
-Each instance of DaemonPortOptions leads to an additional incoming socket.
+Each instance of
+.b DaemonPortOptions
+leads to an additional incoming socket.
The options are
.i key=value
pairs.
@@ -6394,16 +6428,18 @@ RcvBufSize Size of TCP receive buffer
.)b
The
.i Name
-field is used for error messages and logging.
+key is used for error messages and logging.
The
.i Addr ess
mask may be a numeric address in dot notation
or a network name.
-The
+The
.i Family
key defaults to INET (IPv4).
IPv6 users who wish to also accept IPv6 connections
-should add additional Family=inet6 DaemonPortOptions lines.
+should add additional Family=inet6
+.b DaemonPortOptions
+lines.
.i Modifier
can be a sequence (without any delimiters)
of the following characters:
@@ -6460,8 +6496,9 @@ This will also override possible settings via
Note,
.i sendmail
will listen on a new socket
-for each occurence of the DaemonPortOptions option
-in a configuration file.
+for each occurence of the
+.b DaemonPortOptions
+option in a configuration file.
The modifier ``O'' causes sendmail to ignore a socket
if it can't be opened.
This applies to failures from the socket(2) and bind(2) calls.
@@ -6473,7 +6510,7 @@ the password (plain text), the realm and the list of mechanisms to use
on separate lines and must be readable by
root (or the trusted user) only.
If no realm is specified,
-.b $j
+.b $j
is used.
If no mechanisms are specified, the list given by
.b AuthMechanisms
@@ -6599,7 +6636,7 @@ Z flag set.
.ip DirectSubmissionModifiers=\fImodifiers\fP
Defines
.b ${daemon_flags}
-for direct (command line) submissions.
+for direct (command line) submissions.
If not set,
.b ${daemon_flags}
is either "CC f" if the option
@@ -7458,7 +7495,7 @@ However, this means that all
and
.q :include:
files must be readable by the indicated
-.i user
+.i user
and all files to be written must be writable by
.i user
Also, all file and program deliveries will be marked unsafe
@@ -7822,7 +7859,7 @@ but most will cause
to relinquish its set-user-ID permissions.
The options that will not cause this are
SevenBitInput [7],
-EightBitMode [8],
+EightBitMode [8],
MinFreeBlocks [b],
CheckpointInterval [C],
DeliveryMode [d],
@@ -8196,7 +8233,7 @@ Note that,
by default,
if a single query matches multiple values,
only the first value will be returned
-unless the
+unless the
.b \-z
(value separator)
map flag is set.
@@ -8378,7 +8415,7 @@ to select the substrings in the result of the lookup. For example,
-s1,3,4
.)b
Notes: to match a
-.b $
+.b $
in a string,
\\$$
must be used.
@@ -8413,9 +8450,9 @@ Kstorage macro
# set macro ${MyMacro} to the ruleset match
R$+ $: $(storage {MyMacro} $@ $1 $) $1
# set macro ${MyMacro} to an empty string
-R$* $: $(storage {MyMacro} $@ $) $1
+R$* $: $(storage {MyMacro} $@ $) $1
# clear macro ${MyMacro}
-R$\- $: $(storage {MyMacro} $) $1
+R$\- $: $(storage {MyMacro} $) $1
.)b
.ip arith
Perform simple arithmetic operations.
@@ -8744,6 +8781,9 @@ The time between two queue runs.
The queue directory of the group (required).
.ip Runners
The number of parallel runners processing the queue.
+Note that
+.b F=f
+must be set if this value is greater than one.
.ip Jobs
The maximum number of jobs (messages delivered) per queue run.
.ip recipients
@@ -8757,7 +8797,7 @@ Only the first character of the field name is checked.
By default, a queue group named
.i mqueue
is defined that uses the value of the
-.i QueueDirectory
+.i QueueDirectory
option as path.
Notice: all paths that are used for queue groups must
be subdirectories of
@@ -8934,9 +8974,9 @@ Note the separator between each timeout field is a
.b ';' .
The default values (if not set) are:
.b T=C:5m;S:10s;R:10s;E:5m
-where
+where
.b s
-is seconds and
+is seconds and
.b m
is minutes.
.pp
@@ -9306,7 +9346,9 @@ if your system doesn't support the Internet protocols.
.ip NETINET6\(dg
If set,
support for IPv6 networking is compiled in.
-It must be separately enabled by adding DaemonPortOptions settings.
+It must be separately enabled by adding
+.b DaemonPortOptions
+settings.
.ip NETISO\(dg
If set,
support for ISO protocol networking is compiled in
@@ -9897,11 +9939,11 @@ When acting as a server,
requires X.509 certificates to support STARTTLS:
one as certificate for the server (ServerCertFile and corresponding
private ServerKeyFile)
-at least one root CA (CACERTFile),
+at least one root CA (CACertFile),
i.e., a certificate that is used to sign other certificates,
-and a path to a directory which contains other CAs (CACERTPath).
+and a path to a directory which contains other CAs (CACertPath).
The file specified via
-CACERTFile
+CACertFile
can contain several certificates of CAs.
The DNs of these certificates are sent
to the client during the TLS handshake (as part of the
@@ -9914,7 +9956,7 @@ sslv3 alert illegal parameter:s3_pkt.c:964:SSL alert number 47
.)b
You should probably put only the CA cert into that file
that signed your own cert(s), or at least only those you trust.
-The CACERTPath directory must contain the hashes of each CA certificate
+The CACertPath directory must contain the hashes of each CA certificate
as filenames (or as links to them).
Symbolic links can be generated with the following
two (Bourne) shell commands:
@@ -9935,6 +9977,27 @@ To allow for automatic startup of sendmail, private keys
must be stored unencrypted.
The keys are only protected by the permissions of the file system.
Never make a private key available to a third party.
+.sh 3 "Encoding of STARTTLS related Macros"
+.pp
+Macros that contain STARTTLS related data which comes from outside
+sources, e.g., all macros containing information from certificates,
+are encoded to avoid problems with non-printable or special characters.
+The latter are '<', '>', '(', ')', '"', '+', and ' '.
+All of these characters are replaced by their value in hexadecimal
+with a leading '+'.
+For example:
+.(b
+/C=US/ST=California/O=endmail.org/OU=private/CN=Darth Mail (Cert)/
+Email=darth+cert@endmail.org
+.)b
+is encoded as:
+.(b
+/C=US/ST=California/O=endmail.org/OU=private/
+CN=Darth+20Mail+20+28Cert+29/Email=darth+2Bcert@endmail.org
+.)b
+(line breaks have been inserted for readability).
+The macros which are subject to this encoding are
+{cert_subject}, {cert_issuer}, {cn_subject}, and {cn_issuer}.
.sh 3 "PRNG for STARTTLS"
.pp
STARTTLS requires a strong pseudo random number generator (PRNG)
@@ -9952,7 +10015,7 @@ It is
advised to use the "Entropy Gathering Daemon" EGD
from Brian Warner on those systems to provide useful random data.
In this case,
-.i sendmail
+.i sendmail
must be compiled with the flag EGD, and the
RandFile option must point to the EGD socket.
If neither
@@ -9961,7 +10024,7 @@ nor EGD are available, you have to make sure
that useful random data is available all the time in RandFile.
If the file hasn't been modified in the last 10 minutes before
it is supposed to be used by
-.i sendmail
+.i sendmail
the content is considered obsolete.
One method for generating this file is:
.(b
@@ -10156,7 +10219,7 @@ throws away the message with an error.
Sets the identifier used for syslog.
Note that this identifier is set
as early as possible.
-However,
+However,
.i sendmail
may be used
if problems arise
@@ -10337,7 +10400,7 @@ running as daemon.
This appendix describes the format of the queue files.
These files live in a queue directory.
The individual qf, df, and xf files
-may be stored in separate
+may be stored in separate
.i qf/ ,
.i df/ ,
and
@@ -10691,7 +10754,7 @@ replace it with a blank sheet for double-sided output.
.\".sz 10
.\"Eric Allman
.\".sp
-.\"Version $Revision: 8.609.2.5 $
+.\"Version $Revision: 8.609.2.17 $
.\".ce 0
.bp 3
.ce
OpenPOWER on IntegriCloud