📄 release_notes
字号:
"Internet for Schools" project (IdS).
SECURITY: There is a potential for a denial of service attack if
the AutoRebuildAliases option is set as a user can kill the
sendmail process while it is rebuilding the aliases file
(leaving it in an inconsistent state). This option and
its use is deprecated and will be removed from a future
version of sendmail.
SECURITY: Make sure all file descriptors (besides stdin, stdout, and
stderr) are closed before restarting sendmail. Problem noted
by Michal Zalewski of the "Internet for Schools" project
(IdS).
Begin using /etc/mail/ for sendmail related files. This affects
a large number of files. See cf/README for more details.
The directory structure of the distribution has changed slightly
for easier code sharing among the programs.
Support SMTP AUTH (see RFC 2554). New macros for this purpose
are ${auth_authen}, ${auth_type}, and ${auth_author}
which hold the client's authentication credentials,
the mechanism used for authentication, and the
authorization identity (i.e., the AUTH= parameter if
supplied). Based on code contributed by Tim Martin of CMU.
On systems which use the Torek stdio library (all of the BSD
distributions), use memory-buffered files to reduce
file system overhead by not creating temporary files on
disk. Contributed by Exactis.com, Inc.
New option DataFileBufferSize to control the maximum size of a
memory-buffered data (df) file before a disk-based file is
used. Contributed by Exactis.com, Inc.
New option XscriptFileBufferSize to control the maximum size of a
memory-buffered transcript (xf) file before a disk-based
file is used. Contributed by Exactis.com, Inc.
sendmail implements RFC 2476 (Message Submission), e.g., it can
now listen on several different ports. Use:
O DaemonPortOptions=Name=MSA, Port=587, M=E
to run a Message Submission Agent (MSA); this is turned
on by default in m4-generated .cf files; it can be turned
off with FEATURE(`no_default_msa').
The 'XUSR' SMTP command is deprecated. Mail user agents should
begin using RFC 2476 Message Submission for initial user
message submission. XUSR may disappear from a future release.
The new '-G' (relay (gateway) submission) command line option
indicates that the message being submitted from the command
line is for relaying, not initial submission. This means
the message will be rejected if the addresses are not fully
qualified and no canonicalization will be done. Future
releases may even reject improperly formed messages.
The '-U' (initial user submission) command line option is
deprecated and may be removed from a future release.
Mail user agents should begin using '-G' to indicate that
this is a relay submission (the inverse of -U).
The next release of sendmail will assume that any message submitted
from the command line is an initial user submission and act
accordingly.
If sendmail doesn't have enough privileges to run a .forward
program or deliver to file as the owner of that file, the
address is marked as unsafe. This means if RunAsUser is
set, users won't be able to use programs or delivery to
files in their .forward files. Administrators can override
this by setting the DontBlameSendmail option to the new
setting NonRootSafeAddr.
Allow group or world writable directories if the sticky bit is set
on the directory and DontBlameSendmail is set to
TrustStickyBit. Based on patch from Chris Metcalf of
InCert Software.
Prevent logging of unsafe directory paths for non-existent forward
files if the new DontWarnForwardFileInUnsafeDirPath bit is
set in the DontBlameSendmail option. Requested by many.
New Timeout.control option to limit the total time spent satisfying
a control socket request.
New Timeout.resolver options for controlling BIND resolver
settings:
Timeout.resolver.retrans
Sets the resolver's retransmission time interval (in
seconds). Sets both Timeout.resolver.retrans.first
and Timeout.resolver.retrans.normal.
Timeout.resolver.retrans.first
Sets the resolver's retransmission time interval (in
seconds) for the first attempt to deliver a message.
Timeout.resolver.retrans.normal
Sets the resolver's retransmission time interval (in
seconds) for all resolver lookups except the first
delivery attempt.
Timeout.resolver.retry
Sets the number of times to retransmit a resolver
query. Sets both Timeout.resolver.retry.first
and Timeout.resolver.retry.normal.
Timeout.resolver.retry.first
Sets the number of times to retransmit a resolver
query for the first attempt to deliver a message.
Timeout.resolver.retry.normal
Sets the number of times to retransmit a resolver
query for all resolver lookups except the first
delivery attempt.
Contributed by Exactis.com, Inc.
Support multiple queue directories. To use multiple queues, supply
a QueueDirectory option value ending with an asterisk. For
example, /var/spool/mqueue/q* will use all of the
directories or symbolic links to directories beginning with
'q' in /var/spool/mqueue as queue directories. Keep in
mind, the queue directory structure should not be changed
while sendmail is running. Queue runs create a separate
process for running each queue unless the verbose flag is
given on a non-daemon queue run. New items are randomly
assigned to a queue. Contributed by Exactis.com, Inc.
Support different directories for qf, df, and xf queue files; if
subdirectories or symbolic links to directories of those names
exist in the queue directories, they are used for the
corresponding queue files. Keep in mind, the queue
directory structure should not be changed while sendmail is
running. Proposed by Mathias Koerber of Singapore
Telecommunications Ltd.
New queue file naming system which uses a filename guaranteed to be
unique for 60 years. This allows queue IDs to be assigned
without fancy file system locking. Queued items can be
moved between queues easily. Contributed by Exactis.com,
Inc.
Messages which are undeliverable due to temporary address failures
(e.g., DNS failure) will now go to the FallBackMX host, if
set. Contributed by Exactis.com, Inc.
New command line option '-L tag' which sets the identifier used for
syslog. Contributed by Exactis.com, Inc.
QueueSortOrder=Filename will sort the queue by filename. This
avoids opening and reading each queue file when preparing
to run the queue. Contributed by Exactis.com, Inc.
Shared memory counters and microtimers functionality has been
donated by Exactis.com, Inc.
The SCCS ID tags have been replaced with RCS ID tags.
Allow trusted users (those on a T line or in $=t) to set the
QueueDirectory (Q) option without an X-Authentication-Warning:
being added. Suggested by Michael K. Sanders.
IPv6 support based on patches from John Kennedy of Cal State
University, Chico, Motonori Nakamura of Kyoto University,
and John Beck of Sun Microsystems.
In low-disk space situations, where sendmail would previously refuse
connections, still accept them, but only allow ETRN commands.
Suggested by Mathias Koerber of Singapore Telecommunications
Ltd.
The [IPC] builtin mailer now allows delivery to a UNIX domain socket
on systems which support them. This can be used with LMTP
local delivery agents which listen on a named socket. An
example mailer might be:
Mexecmail, P=[IPC], F=lsDFMmnqSXzA5@/:|, E=\r\n,
S=10, R=20/40, T=DNS/RFC822/X-Unix,
A=FILE /var/run/lmtpd
Code contributed by Lyndon Nerenberg of Messaging Direct.
The [TCP] builtin mailer name is now deprecated. Use [IPC]
instead.
The first mailer argument in the [IPC] mailer is now checked for a
legitimate value. Possible values are TCP (for TCP/IP
connections), IPC (which will be deprecated in a future
version), and FILE (for UNIX domain socket delivery).
PrivacyOptions=goaway no longer includes the noetrn and the noreceipts
flags.
PrivacyOptions=nobodyreturn instructs sendmail not to include the
body of the original message on delivery status
notifications.
Don't announce DSN if PrivacyOptions=noreceipts is set. Problem noted
by Dan Bernstein, fix from Robert Harker of Harker Systems.
Accept the SMTP RSET command even when rejecting commands due to TCP
Wrappers or the check_relay ruleset. Problem noted by
Steve Schweinhart of America Online.
Warn if OperatorChars is set multiple times. OperatorChars should
not be set after rulesets are defined. Suggested by
Mitchell Blank Jr of Exec-PC.
Do not report temporary failure on delivery to files. In
interactive delivery mode, this would result in two SMTP
responses after the DATA command. Problem noted by
Nik Conwell of Boston University.
Check file close when mailing to files. Problem noted by Nik
Conwell of Boston University.
Avoid a segmentation fault when using the LDAP map. Patch from
Curtis W. Hillegas of Princeton University.
Always bind to the LDAP server regardless of whether you are using
ldap_open() or ldap_init(). Fix from Raj Kunjithapadam of
@Home Network.
New ruleset trust_auth to determine whether a given AUTH=
parameter of the MAIL command should be trusted. See SMTP
AUTH, cf/README, and doc/op/op.ps.
Allow new named config file rules check_vrfy, check_expn, and
check_etrn for VRFY, EXPN, and ETRN commands, respectively,
similar to check_rcpt etc.
Introduce new macros ${rcpt_mailer}, ${rcpt_host}, ${rcpt_addr},
${mail_mailer}, ${mail_host}, ${mail_addr} that hold
the results of parsing the RCPT and MAIL arguments, i.e.
the resolved triplet from $#mailer $@host $:addr.
From Kari Hurtta of the Finnish Meteorological Institute.
New macro ${client_resolve} which holds the result of the resolve
call for ${client_name}: OK, FAIL, FORGED, TEMP. Proposed
by Kari Hurtta of the Finnish Meteorological Institute.
New macros ${dsn_notify}, ${dsn_envid}, and ${dsn_ret} that hold
the corresponding DSN parameter values. Proposed by
Mathias Herberts.
New macro ${msg_size} which holds 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 it holds
the message size as computed by sendmail (and can be used
in check_compat).
The macro ${deliveryMode} now specifies the current delivery mode
sendmail is using instead of the value of the DeliveryMode
option.
New macro ${ntries} holds the number of delivery attempts.
Drop explicit From: if same as what would be generated only if it is
a local address. From Motonori Nakamura of Kyoto University.
Write pid to file also if sendmail only processes the queue.
Proposed by Roy J. Mongiovi of Georgia Tech.
Log "low on disk space" only when necessary.
New macro ${load_avg} can be used to check the current load average.
Suggested by Scott Gifford of The Internet Ramp.
Return-Receipt-To: header implies DSN request if option RrtImpliesDsn
is set.
Flag -S for maps to specify the character which is substituted
for spaces (instead of the default given by O BlankSub).
Flag -D for maps: perform no lookup in deferred delivery mode.
This flag is set by default for the host map. Based on a
proposal from Ian MacPhedran of the University of Saskatchewan.
Open maps only on demand, not at startup.
Log warning about unsupported IP address families.
New option MaxHeadersLength allows to specify a maximum length
of the sum of all headers. This can be used to prevent
a denial-of-service attack.
New option MaxMimeHeaderLength which limits the size of MIME
headers and parameters within those headers. This option
is intended to protect mail user agents from buffer
overflow attacks.
Added option MaxAliasRecursion to specify the maximum depth of
alias recursion.
New flag F=6 for mailers to strip headers to seven bit.
Map type syslog to log the key via syslogd.
Entries in the alias file can be continued by putting a backslash
directly before the newline.
New option DeadLetterDrop to define the location of the system-wide
dead.letter file, formerly hardcoded to
/usr/tmp/dead.letter. If this option is not set (the
default), sendmail will not attempt to save to a
system-wide dead.letter file if it can not bounce the mail
to the user nor postmaster. Instead, it will rename the qf
file as it has in the past when the dead.letter file
could not be opened.
New option PidFile to define the location of the pid file. The
value of this option is macro expanded.
New option ProcessTitlePrefix specifies a prefix string for the
process title shown in 'ps' listings.
New macros for use with the PidFile and ProcessTitlePrefix options
(along with the already existing macros):
${daemon_info} Daemon information, e.g.
SMTP+queueing@00:30:00
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -