📄 release_notes
字号:
"$(arith l $@ 4 $@ 2 $)" will return "FALSE" and
"$(arith + $@ 4 $@ 2 $)" will return "6".
Add new syntax for header declarations which decide whether to
include the header based on a macro rather than a mailer
flag:
H?${MyMacro}?X-My-Header: ${MyMacro}
This should be used along with $={persistentMacros}.
It can be used for adding headers to a message based on
the results of check_* and header check rulesets.
Allow new named config file rule check_eoh which is called after
all of the headers have been collected. The input to the
ruleset the number of headers and the size of all of the
headers in bytes separated by $|. This ruleset along with
the macro storage map can be used to correlate information
gathered between headers and to check for missing headers.
See cf/README or doc/op/op.ps for an example.
Change the default for the MeToo option to True to correspond
to the clarification in the DRUMS SMTP Update spec. This
option is deprecated and will be removed from a future
version.
Change the sendmail binary default for SendMimeErrors to True.
Change the sendmail binary default for SuperSafe to True.
Display ruleset names in debug and address test mode output
if referencing a named ruleset.
New mailer equate m= which will limit the number of messages
delivered per connection on an SMTP or LMTP mailer.
Improve QueueSortOrder=Host by reversing the hostname before
using it to sort. Now all the same domains are really run
through the queue together. If they have the same MX host,
then they will have a much better opportunity to use the
connection cache if available. This should be a reasonable
performance improvement. Patch from Randall Winchester of
the University of Maryland.
If a message is rejected by a header check ruleset, log who would
have received the message if it had not been rejected.
New "now" value for Timeout.queuereturn to bounce entries from the
queue immediately. No delivery attempt is made.
Increase sleeping time exponentially after too many "bad" commands
up to 4 minutes delay (compare MAX{BAD,NOOP,HELO,VRFY,ETRN}-
COMMANDS).
New option ClientPortOptions similar to DaemonPortOptions
but for outgoing connections.
New suboptions for DaemonPortOptions: Name (a name used for
error messages and logging) and Modifiers, i.e.
a require authentication
b bind to interface through which mail has
been received
c perform hostname canonification
f require fully qualified hostname
h use name of interface for outgoing HELO
command
C don't perform hostname canonification
E disallow ETRN (see RFC 2476)
New suboption for ClientPortOptions: Modifiers, i.e.
h use name of interface for HELO command
The version number for queue files (qf) has been incremented to 4.
Log unacceptable HELO/EHLO domain name attempts if LogLevel is set
to 10 or higher. Suggested by Rick Troxel of the National
Institutes of Health.
If a mailer dies, print the status in decimal instead of octal
format. Suggested by Michael Shapiro of Sun Microsystems.
Limit the length of all MX records considered for delivery to 8k.
Move message priority from sender to recipient logging. Suggested by
Ulrich Windl of the Universitat Regensburg.
Add support for Berkeley DB 3.X.
Add fix for Berkeley DB 2.X fcntl() locking race condition.
Requires a post-2.7.5 version of Berkeley DB.
Support writing traffic log (sendmail -X option) to a FIFO.
Patch submitted by Rick Heaton of Network Associates, Inc.
Do not ignore Timeout settings in the .cf file when a Timeout
sub-options is set on the command line. Problem noted by
Graeme Hewson of Oracle.
Randomize equal preference MX records each time delivery is
attempted via a new connection to a host instead of once per
session. Suggested by Scott Salvidio of Compaq.
Implement enhanced status codes as defined by RFC 2034.
Add [hostname] to class w for the names of all interfaces unless
DontProbeInterfaces is set. This is useful for sending mails
to hosts which have dynamically assigned names.
If a message is bounced due to bad MIME conformance, avoid bouncing
the bounce for the same reason. If the body is not 8-bit
clean, and EightBitMode isn't set to pass8, the body will
not be included in the bounce. Problem noted by Valdis
Kletnieks of Virginia Tech.
The timeout for sending a message via SMTP has been changed from
'${msgsize} / 16 + (${nrcpts} * 300)' to a timeout which
simply checks for progress on sending data every 5 minutes.
This will detect the inability to send information quicker
and reduce the number of processes simply waiting to
timeout.
Prevent a segmentation fault on systems which give a partial filled
interface address structure when loading the system network
interface addresses. Fix from Reinier Bezuidenhout of
Nanoteq.
Add a compile-time configuration macro, MAXINTERFACES, which
indicates the number of interfaces to read when probing
for hostnames and IP addresses for class w ($=w). The
default value is 512. Based on idea from Reinier
Bezuidenhout of Nanoteq.
If the RefuseLA option is set to 0, do not reject connections based
on load average.
Allow ruleset 0 to have a name. Problem noted by Neil Rickert of
Northern Illinois University.
Expand the Return-Path: header at delivery time, after "owner-"
envelope splitting has occurred.
Don't try to sort the queue if there are no entries. Patch from
Luke Mewburn from RMIT University.
Add a "/quit" command to address test mode.
Include the proper sender in the UNIX "From " line and Return-Path:
header when undeliverable mail is saved to ~/dead.letter.
Problem noted by Kari Hurtta of the Finnish Meteorological
Institute.
The contents of a class can now be copied to another class using
the syntax: "C{Dest} $={Source}". This would copy all of
the items in class $={Source} into the class $={Dest}.
Include original envelope's error transcript in bounces created for
split (owner-) envelopes to see the original errors when
the recipients were added. Based on fix from Motonori
Nakamura of Kyoto University.
Show reason for permanent delivery errors directly after the
addresses. From Motonori Nakamura of Kyoto University.
Prevent a segmentation fault when bouncing a split-envelope
message. Patch from Motonori Nakamura of Kyoto University.
If the specification for the queue run interval (-q###) has a
syntax error, consider the error fatal and exit.
Pay attention to CheckpointInterval during LMTP delivery. Problem
noted by Motonori Nakamura of Kyoto University.
On operating systems which have setlogin(2), use it to set the
login name to the RunAsUserName when starting as a daemon.
This is for delivery to programs which use getlogin().
Based on fix from Motonori Nakamura of Kyoto University.
Differentiate between "command not implemented" and "command
unrecognized" in the SMTP dialogue.
Strip returns from forward and include files. Problem noted by
Allan E Johannesen of Worcester Polytechnic Institute.
Prevent a core dump when using 'sendmail -bv' on an address which
resolves to the $#error mailer with a temporary failure.
Based on fix from Neil Rickert of Northern Illinois
University.
Prevent multiple deliveries of a message with a "non-local alias"
pointing to a local user, if canonicalization fails
the message was requeued *and* delivered to the alias.
If an invalid ruleset is declared, the ruleset name could be
ignored and its rules added to S0. Instead, ignore the
ruleset lines as well.
Avoid incorrect Final-Recipient, Action, and X-Actual-Recipient
success DSN fields as well as duplicate entries for a
single address due to S5 and UserDB processing. Problems
noted by Kari Hurtta of the Finnish Meteorological
Institute.
Turn off timeouts when exiting sendmail due to an interrupt signal
to prevent the timeout from firing during the exit process.
Problem noted by Michael Shapiro of Sun Microsystems.
Do not append @MyHostName to non-RFC822 addresses output by the EXPN
command or on Final-Recipient: and X-Actual-Recipient: DSN
headers. Non-RFC822 addresses include deliveries to
programs, file, DECnet, etc.
Fix logic for determining if a local user is using -f or -bs to
spoof their return address. Based on idea from Neil Rickert
of Northern Illinois University and patch from Per Hedeland
of Ericsson.
Report the proper UID in the bounce message if an :include: file is
owned by a uid that doesn't map to a username and the
:include: file contains delivery to a file or program.
Problem noted by John Beck of Sun Microsystems.
Avoid the attempt of trying to send a second SMTP QUIT command if
the remote server responds to the first QUIT with a 4xx
response code and drops the connection. This behavior was
noted by Ulrich Windl of the Universitat Regensburg when
sendmail was talking to the Mercury 1.43 MTA.
If a hostname lookup times out and ServiceSwitchFile is set but the
file is not present, the lookup failure would be marked as
a permanent failure instead of a temporary failure. Fix
from Russell King of the ARM Linux Project.
Handle aliases or forwards which deliver to programs using tabs
instead of spaces between arguments. Problem noted by Randy
Wormser. Fix from Neil Rickert of Northern Illinois
University.
Allow MaxRecipientsPerMessage option to be set on the command line
by normal users (e.g., sendmail won't drop its root
privileges) to allow overrides for message submission via
'sendmail -bs'.
Set the names for help file and statistics file to "helpfile" and
"statistics", respectively, if no parameters are given for
them in the .cf file.
Avoid bogus 'errbody: I/O Error -7' log messages when sending
success DSN messages for messages relayed to non-DSN aware
systems. Problem noted by Juergen Georgi of RUS University
of Stuttgart and Kyle Tucker of Parexel International.
Prevent +detail information from interfering with local delivery to
multiple users in the same transaction (F=m).
Add H_FORCE flag for the X-Authentication-Warning: header, so it
will be added even if one already exists. Problem noted
by Michal Zalewski of Marchew Industries.
Stop processing SMTP commands if the SMTP connection is dropped.
This prevents a remote system from flooding the connection
with commands and then disconnecting. Previously, the
server would process all of the buffered commands. Problem
noted by Michal Zalewski of Marchew Industries.
Properly process user-supplied headers beginning with '?'. Problem
noted by Michal Zalewski of Marchew Industries.
If multiple header checks resolve to the $#error mailer, use the
last permanent (5XX) failure if any exist. Otherwise, use
the last temporary (4XX) failure.
RFC 1891 requires "hexchar" in a "xtext" to be upper case. Patch
from Ronald F. Guilmette of Infinite Monkeys & Co.
Timeout.ident now defaults to 5 seconds instead of 30 seconds to
prevent the now common delays associated with mailing to a
site which drops IDENT packets. Suggested by many.
Persistent host status data is not reloaded disk when current data
is available in the in-memory cache. Problem noted by Per
Hedeland of Ericsson.
mailq displays unprintable characters in addresses as their octal
representation and a leading backslash. This avoids problems
with "unprintable" characters. Problem noted by Michal
Zalewski of the "Internet for Schools" project (IdS).
The mail line length limit (L= equate) was adding the '!' indicator
one character past the limit. This would cause subsequent
hops to break the line again. The '!' is now placed in
the last column of the limit if the line needs to be broken.
Problem noted by Joe Pruett of Q7 Enterprises. Based on fix
from Per Hedeland of Ericsson.
If a resolver ANY query is larger than the UDP packet size, the
resolver will fall back to TCP. However, some
misconfigured firewalls black 53/TCP so the ANY lookup
fails whereas an MX or A record might succeed. Therefore,
don't fail on ANY queries.
If an SMTP recipient is rejected due to syntax errors in the
address, do not send an empty postmaster notification DSN
to the postmaster. Problem noted by Neil Rickert of
Northern Illinois University.
Allow '_' and '.' in map names when parsing a sequence map
specification. Patch from William Setzer of North Carolina
State University.
Fix hostname in logging of read timeouts for the QUIT command on
cached connections. Problem noted by Neil Rickert of
Northern Illinois University.
Use a more descriptive entry to log "null" connections, i.e.,
"host did not issue MAIL/EXPN/VRFY/ETRN during connection".
Fix a file descriptor leak in ONEX mode.
Portability:
Reverse signal handling logic such that sigaction(2) with
the SA_RESTART flag is the preferred
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -