Postfix snapshot 20060123 available
[email protected] (Wietse Venema) Mon, 23 Jan 2006 16:36:13 -0500 (EST)
| Newsgroups | gmane.mail.postfix.announce |
|---|---|
| Message-ID | <20060123213613.92D69BC1A3__23352.5722790093$1138052719$gmane$org@spike.porcupine.org> |
In preparation for the upcoming Postfix 2.3 release, development
is gradually changing from adding new code to revising the code
that already exists.
- Postfix now preserves upper/lower case information while mapping
addresses with canonical, virtual, relocated or generic maps; this
happens even with $number substitution in regular expression maps.
This required a global restructuring of how Postfix folds table
search strings to lowercase.
- Some obscure behavior was removed from the smtp_tls_per_site
without a change in the user interface. This revision was needed
after a restructuring of Postfix internals, in preparation for a
more general TLS policy mechanism that is still under development.
Available from ftp://ftp.porcupine.org/mirrors/postfix-release/experimental/
420364 Jan 23 14:50 postfix-2.3-20060123.HISTORY
26500 Jan 23 15:39 postfix-2.3-20060123.RELEASE_NOTES
2587973 Jan 23 15:47 postfix-2.3-20060123.tar.gz
280 Jan 23 15:48 postfix-2.3-20060123.tar.gz.sig
And soon from the mirrors listed at http://www.postfix.org/download.html
Wietse
RELEASE_NOTES:
==============
Incompatibility with snapshot 20060123
======================================
Postfix now preserves uppercase information while mapping addresses
with canonical, virtual, relocated or generic maps; this happens
even with lookups from regular expression maps. However, the local(8)
and virtual(8) delivery agents still fold addresses to lower case.
By default, Postfix now folds the search string to lowercase only
with tables that have fixed-case lookup fields such as btree:,
hash:, dbm:, ldap:, or *sql:. The search string is no longer case
folded with tables whose lookup fields can match both upper or lower
case, such as regexp:, pcre:, or cidr:.
For safety reasons, Postfix no longer allows $number substitution
in regexp: or pcre: transport tables or per-sender relayhost tables.
For safety reasons, daemons that don't need privileges now insist
that they are configured as unprivileged in master.cf.
Major changes with snapshot 20060123
====================================
Postfix now does a better job at preserving upper/lower case
information while transforming addresses. The table lookup code
was revised, and is now more careful about when it folds search
strings to lower case. As a side effect, Postfix now also does a
better job at being case insensitive where it should, for example
while searching per-host TLS policies or SASL passwords.
Some obscure behavior was eliminated from the smtp_tls_per_site
feature, without changes to the user interface. some Postfix internals
had to be re-structured in preparation for a more general TLS policy
mechanism; this required that smtp_tls_per_site be re-implemented
from scratch.
Postfix 2.3 is expected to provide a new per-site TLS policy mechanism
that eliminates DNS spoofing attacks more effectively; the legacy
smtp_tls_per_site feature will be kept intact for a few releases
so that sites can upgrade Postfix without being forced to use a
different TLS policy mechanism.
HISTORY file:
=============
20060112
Fudge: when translating recipient DSN codes into sender DSN
codes, map sender address problems that have no DSN code
to *.1.7 (Bad sender's mailbox address syntax) instead of
*.1.0 (Other address status) because that loses the distinction
between sender and recipient. File: smtpd/smtpd_dsn_fix.c.
20060113
Cleanup: preserve upper case information of address localpart
or extension when mapping one address to another with
non-regexp/pcre tables. Files: global/mail_addr_find.c,
global/maps_find.c.
20060115
Bugfix: don't ignore the per-site policy when SSL library
initialization fails. Introduced after adopting the TLS
patch. File: smtp/smtp_session.c.
20060117
Safety: daemon processes that need no privileges now insist
that they are configured to run without privileges. Files:
master/single_server.c, master/multi_server.c,
master/trigger_server.c.
Cleanup: preserve upper case information of address localpart
or extension when mapping addresses via regexp/pcre tables.
This requires that Postfix does not case fold the search
string when searching regexp or pcre tables, so that $number
substitutions produce the expected result.
In order to get a consistent handling of table operations,
the search string case folding logic was moved from the
application to the individual lookup table modules; the
application specifies its case folding preference when it
opens a table, and the table folds the search or update
string as needed.
Files: everything that opens a map or multiple maps (to
specify the case folding preference), and everything that
contained ad-hoc code to lowercase search strings (which
is no longer needed).
Bugfix: as a side effect of this revision of all code that
opens tables, the postmap/postalias -n/-N options are no
longer silently ignored when the -q (query) and -d (delete)
options are specified. Files: postmap/postmap.c,
postalias/postalias.c.
Cleanup: smtp_sasl_passwd_maps lookup keys are folded to
lowercase before searching tables such as btree:, dbm: or
hash: that have fixed-case fields. File: smtp/smtp_sasl_glue.c.
Bugfix: per-sender relayhost maps were not locked for shared
access.
20060119
Cleanup: don't look up parent domain substrings in regexp/pcre
like tables while searching a hostname in a domain/namaddr_list.
File: util/match_ops.c.
20060120
Cleanup: multiple boolean variables were replaced by a
single TLS enforcement level (none, may, encrypt, verify).
With Victor Duchovni. Files: smtp_session.c, smtp_proto.c,
smtp.h.
Cleanup: the SMTP per-site policy table was re-implemented
in terms of enforcement levels instead of multiple boolean
variables. This greatly simplified the code and led to the
elimination of non-intuitive behavior as documented next.
With Victor Duchovni. Files: smtp_session.c, smtp.h.
Bugfix: a per-site MUST_NOPEERMATCH policy could not override
a main.cf MUST (with peer match) policy.
Bugfix: a combined TLS per-site (host, next-hop) policy of
(NONE, MAY) would change the strongest main.cf MUST policy
into NONE, while it changed all weaker main.cf policies
into MAY. The result is now NONE for all main.cf policy
settings.
20060123
Feature: recipient_count attribute in SMTPD policy protocol.
This is available only in the DATA and END-OF-MESSAGE stage.
Based on code by Guo Black. Files: smtpd_check.c.
Cleanup: renamed MUMBLE_NUM to MUMBLE_INT to make type
discrepancies more explicit.
Bugfix: change 20051208 broke when a connection could not
be established. File: util/auto_clnt.c.