fixes for minor problems that surfaced in the past three weeks.
The official release is changed only for bugfixes and portability
issues (with a very rare exception this time). New features are
normally tested in the snapshot releases which eventually evolve
into the next official Postfix version.
- New "postcat -q" (search the queue for the named file) support
from snapshot release because I can no longer see people suffer.
- Allow <@site,@site:address> route addresses in SMTP commands.
This address form was deprecated years ago.
- "sendmail -q<time>" without -bd option now exits immediately,
instead of waiting for input and screwing up system boot sequences.
- The Postfix LMTP client used the wrong service name, causing
trouble with SASL 2.1.13.
- Turned off non-blocking write to pipe because too many systems
gave an unexpected write() result, causing partial delivery of
messages to commands like procmail."
Postfix official release 20010228 Patch 05 fixes a problem with
canonical and virtual address rewriting, and with the parsing of
malformed address extensions.
--
20010727
Bugfix: updated LDAP client module from LaMont Jones, HP.
This also introduces new LDAP query filter patterns: %u
(address localpart) and %d (domain part). Files:
conf/sample-ldap.cf, util/dict_ldap.c.
20010729
Bugfix: recursive smtpd_whatever_restrictions clobbered
intermediate results when switching between sender and
recipient address restrictions. Problem found by Victor
Duchovni, morganstanley.com. In order to fix, introduced
address resolver result caching, which should also help to
speed up sender/recipient address restriction processing.
Bugfix: the not yet announced DUNNO access table lookup
result did not prevent lookups with substrings of the same
lookup key. Found by Victor Duchovni, morganstanley.com.
20010730
Robustness: trim trailing whitespace from regexp and pcre
right-hand sides, for consistency with DB/DBM tables.
Files: util/dict_pcre.c, util/dict_regexp.c.
20010731
Robustness: eliminate duplicate IP addresses after expansion
of hostnames in $inet_interfaces, so that Postfix does not
suddenly refuse to start up after someone changes the DNS.
- A workaround for a bug in old versions of the CISCO PIX firewall software
l that caused mail to be resent repeatedly to systems behind such a product.
The same workaround will be folded into the "stable" release when time
permits.
- A much enhanced pipe delivery agent with flags to control case folding of
the $nexthop, $recipient, $user, $extension or $mailbox command-line macros.
- A much enhanced pipe delivery agent with proper quoting of white space and
other special characters in the expansions of the $sender and $recipient
command-line macros. This is necessary for correct operation of the "simple"
content filter, among others.
- Retraction of one RFC2821-induced change that was causing more problems
than it solved.
Postfix official release 20010228 patch 03 fixes all known problems that were
also fixed with snapshot 20010525.
The official Postfix release does not change except for bugfixes. New
features are introduced in Postfix snapshots; the snapshots eventually evolve
into the next official release.
Only only major fix is for a memory leak in the LDAP client module. If you do
not use LDAP, then there is no urgent need to apply the patch.
A fully patched version will be made available via the usual sites listed on
the www.postfix.org web site.
- Many little revisions of little details in the light of the new RFC 2821
and RFC 2822 standards. RFC features considered less urgent or less useful
are discussed in source code comments. See the RELEASE_NOTES for possible
incompatibilities.
- A much enhanced postsuper queue maintenance tool that can fix Postfix
queues restored from another machine or from backup. The postsuper tool
corrects file names when a file name does not match the message file
inode number. My respect has doubled for people who write fsck-like programs.
--
Postfix Release 20010228 Patchlevel 01 includes patches that were
sent to the list in the last month, some portability enhancements,
and updated documentation.
- The flush daemon complained when Postfix was deferring mail
for user@[ip.address], and aborted with a panic when deferring
mail to user@a.domain.name (one-letter subdomain name).
- The LMTP connection caching did not work for destinations that
start with inet: or unix:.
- The cleanup server stalled when mail exceeded the queue file
size limit by a small amount. The sender was not informed of
the file size problem and kept sending the mail repeatedly.
- Mail address headers with newline inside (comment) caused
Postfix to emit a backslash before the end of line.
--
The mailbox file size limits for the local and virtual delivery
agents can be disabled by setting mailbox_size_limit and/or
virtual_mailbox_limit to zero.
Incompatible changes with snapshot-20010128
===========================================
REJECT in header/body_checks is now flagged as policy violation
rather than bounce, for consistency in postmaster notifications.
The mailbox size limit for local delivery is no longer controlled
by the message_size_limit paramater, but by a separate parameter
called mailbox_size_limit (default: 20MBytes).
The default RBL (real-time blackhole lists) domain examples have
been updated from *.vix.com to *.mail-abuse.org.
Major changes with snapshot-20010128
====================================
Updated nqmgr (experimental queue manager with clever queueing
strategy) by Patrik Rak. This code is still new. Once it stops
changing (for a long time!) it will become part of the non-beta
release.
Virtual mailbox delivery agent by Andrew McNamara. This delivery
agent can deliver mail for any number of domains. See the file
VIRTUAL_README for detailed examples. This code is still new. Once
it stops changing it will become part of the non-beta release.
Many "valid_hostname" warnings were eliminated. The complaints that
were not eliminated were replaced by something more informative.
SASL support (RFC 2554) for the LMTP delivery agent. This is required
by recent Cyrus implementations when delivering mail over TCP
sockets. The LMTP_README file has been updated but still contains
some obsolete information.
Workarounds for non-standard RFC 2554 (AUTH command) implementations.
Specify "broken_sasl_auth_clients = yes" to enable SMTP server
support for old Microsoft client applications. The Postfix SMTP
client supports non-standard RFC 2554 servers by default.
Summary
-------
This patch fixes a problem in the Postfix SMTP client's fallback
relay feature in snapshot releases after 20001005.
By default, Postfix does not use the fallback_relay feature. To
find out if your system uses it, issue the command:
postconf fallback_relay
The result is "fallback_relay =" when the feature is turned off.
Description
-----------
As of 20001005, the Postfix SMTP client will send mail to a fallback
relay host (if one is configured) even when the local machine is
a backup MX host for the final destination.
This causes a loop when the primary MX host is down. Postfix receives
the mail, because it's a backup MX host for the destination. Postfix
then sends the mail to the fallback relay, because the primary MX
host is down. The fallback sends the mail back to Postfix, because
it's a backup MX host. Mail then bounces after 25 or so iterations.
Laurent Wacrenier had the, um, pleasure, of finding this one.
Solution
--------
If the local machine is listed as MX host for the final destination,
do not send undeliverable mail to the fallback relay. That is how
releases prior to 20001005 work, including 19991231.
This patch should apply to all snapshots since 20001005, but I have
tested this only with 20001217.
To apply, step into the src/smtp source directory, feed this text
into the patch command, and rebuild. The "make install" command
replaces only the smtp client program.
Extract from RELEASE_NOTES:
===========================
Major changes with snapshot-20001217
====================================
This release involves little change in functionality and a lot of
small changes to lots of files. The code is put out as a separate
snapshot release so that I have a tested baseline for further work.
All time-related configuration parameters now accept a one-letter
suffix to indicate the time unit (s: second, m: minute, h: hour,
d: day, w: week). The exceptions are the LDAP and MYSQL modules
which are maintained separately.
The mysql client was partially rewritten in order to elimimate some
memory allocation/deallocation problems. The code needs more work,
and needs to be tested in a real production environment.
The local_transport and default_transport configuration parameters
can now be specified in transport:destination notation, just like
the mailbox_transport and fallback_transport parameters. The
:destination part is optional. However, these parameters take only
one destination, unlike relayhost and fallback-relay which take
any number of destinations.