From: Wietse Venema
Date: Thu, 22 Dec 2005 05:00:00 +0000 (-0500)
Subject: postfix-2.3-20051222
X-Git-Tag: v2.3-RC1~31
X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=46ab025e8a85e7aab356334e17f198f6b74026ee;p=thirdparty%2Fpostfix.git
postfix-2.3-20051222
---
diff --git a/postfix/.indent.pro b/postfix/.indent.pro
index 785f16784..772688817 100644
--- a/postfix/.indent.pro
+++ b/postfix/.indent.pro
@@ -44,9 +44,6 @@
-TCRYPTO_EX_DATA
-TCTABLE
-TCTABLE_ENTRY
--TXSASL_CYRUS_CLIENT
--TXSASL_CYRUS_ERROR_INFO
--TXSASL_CYRUS_SERVER
-TDELIVER_ATTR
-TDELIVER_REQUEST
-TDELTA_TIME
@@ -241,6 +238,11 @@
-TXSASL_CLIENT
-TXSASL_CLIENT_IMPL
-TXSASL_CLIENT_IMPL_INFO
+-TXSASL_CYRUS_CLIENT
+-TXSASL_CYRUS_ERROR_INFO
+-TXSASL_CYRUS_SERVER
+-TXSASL_DOVECOT_SERVER
+-TXSASL_DOVECOT_SERVER_IMPL
-TXSASL_SERVER
-TXSASL_SERVER_IMPL
-TXSASL_SERVER_IMPL_INFO
diff --git a/postfix/HISTORY b/postfix/HISTORY
index d11533737..1f6fbf838 100644
--- a/postfix/HISTORY
+++ b/postfix/HISTORY
@@ -11625,10 +11625,39 @@ Apologies for any names omitted.
user" errors by "authentication failed" errors. File:
xsasl/xsasl_cyrus_server.c.
-Open problems:
+ Safety: the Postfix SMTP client no longer uses CNAME expanded
+ hostnames for logging, SASL password lookup, TLS policy
+ decisions, or TLS certificate verification. Instead it
+ uses the name of the recipient domain, or the host or domain
+ name specified in Postfix configuration files. Of course
+ this won't prevent cheating with hostnames that appear in
+ MX lookup results. To avoid that you will have to suppress
+ MX lookups with explicit [hostname] entries in transport
+ maps. Files: dns/dns_lookup.c, dns/dns_rr.c.
+
+20051222
+
+ Feature: Dovecot SASL authentication (server side) plug-in
+ by Timo Sirainen. This builds without external library
+ dependencies and is therefore compiled in by default.
+ Files: xsasl/xsasl_dovecot_server.[hc].
+
+ Safety: set the default LANG=C, instead of deleting LANG
+ from the environment and assuming the right thing will
+ happen. File: global/mail_params.h.
+
+ Safety: always add the ISASCII() requirement to the ISXXX()
+ macros, because they are used for protocol and policy
+ enforcement. File: util/sys_defs.h.
+
+ Bugfix: null pointer in the 20051219 policy delegation
+ crypto attributes. File: smtpd/smtpd_check.c.
+
+ Compatibility: "resolve_numeric_domain = yes" will accept
+ addresses with numeric domains instead of rejecting them as
+ invalid. Files: trivial-rewrite/resolve.c, util/vstring.c.
- Reject numeric domains only when strict envelope syntax is
- turned on.
+Open problems:
"postsuper -r" no longer resets the message arrival time,
because pickup(8) no longer overrides queue file time stamp
diff --git a/postfix/README_FILES/SASL_README b/postfix/README_FILES/SASL_README
index da0e31b7d..12ca1c6b3 100644
--- a/postfix/README_FILES/SASL_README
+++ b/postfix/README_FILES/SASL_README
@@ -28,9 +28,12 @@ search its SASL password table by the sender email address.
This document covers the following topics:
* What SASL versions are supported
+ * Building Postfix with Dovecot SASL support
* Building the Cyrus SASL library
* Building Postfix with Cyrus SASL support
* Enabling SASL authentication in the Postfix SMTP server
+ * Dovecot SASL configuration for the Postfix SMTP server
+ * Cyrus SASL configuration for the Postfix SMTP server
* Testing SASL authentication in the Postfix SMTP server
* Trouble shooting the SASL internals
* Enabling SASL authentication in the Postfix SMTP client
@@ -38,10 +41,45 @@ This document covers the following topics:
WWhhaatt SSAASSLL vveerrssiioonnss aarree ssuuppppoorrtteedd
-This document describes Postfix with Cyrus SASL version 1 and Cyrus SASL
-version 2. Postfix version 2.3 introduces has a plug-in mechanism for other
-SASL implementations. Support for other implementations is currently not part
-of the Postfix distribution and will be described elsewhere.
+This document describes Postfix with the following SASL implementations:
+
+ * Cyrus SASL version 1 (client and server).
+
+ * Cyrus SASL version 2 (client and server).
+
+ * Dovecot protocol version 1 (server only, Postfix version 2.3 and later)
+
+Postfix version 2.3 introduces a plug-in mechanism that provides support for
+multiple SASL implementations. To find out what implementations are built into
+Postfix, use the following commands:
+
+ % postconf -a (SASL support in the SMTP server)
+ % postconf -A (SASL support in the SMTP+LMTP client)
+
+Needless to say, these commands are not available in Postfix versions before
+2.3.
+
+BBuuiillddiinngg PPoossttffiixx wwiitthh DDoovveeccoott SSAASSLL ssuuppppoorrtt
+
+Dovecot is available via http://www.dovecot.org/. It uses its own daemon
+process for authentication. Building Postfix with Dovecot SASL support is
+relatively easy, because there is no need to link extra libraries into Postfix.
+
+To generate the necessary Makefiles, execute the following in the Postfix top-
+level directory:
+
+% make makefiles CCARGS='-DUSE_SASL_AUTH -DDEF_SASL_SERVER=\"dovecot\"'
+
+Notes:
+
+ * The "-DDEF_SASL_SERVER" stuff is not necessary; it just makes Postfix
+ configuration a little more convenient because you don't have to specify
+ the SASL plug-in type in the Postfix main.cf file.
+
+ * If you also want support for LDAP or TLS, you will have to merge their
+ CCARGS and AUXLIBS into the above command line.
+
+ * After this, proceed with "make" as described in the INSTALL document.
BBuuiillddiinngg tthhee CCyyrruuss SSAASSLL lliibbrraarryy
@@ -116,6 +154,36 @@ and later):
Note: the SASL login names will be shared with the entire world.
+DDoovveeccoott SSAASSLL ccoonnffiigguurraattiioonn ffoorr tthhee PPoossttffiixx SSMMTTPP sseerrvveerr
+
+On the Postfix side you need to specify the location of the Dovecot
+authentication daemon socket. We use a pathname relative to the Postfix queue
+directory, so that it will work whether or not Postfix runs chrooted:
+
+ /etc/postfix/main.cf:
+ smtpd_sasl_type = dovecot
+ smtpd_sasl_path = private/auth
+
+On the Dovecot side you also need to specify the Dovecot authentication daemon
+socket. In this case we specify an absolute pathname. In the example we assume
+that the Postfix queue is under /var/spool/postfix/.
+
+ /some/where/dovecot.conf:
+ auth default {
+ ..
+ socket listen {
+ client {
+ path = /var/spool/postfix/private/auth
+ mode = 0666
+ }
+ }
+ }
+
+See the Dovecot documentation for how to configure the Dovecot authentication
+server.
+
+CCyyrruuss SSAASSLL ccoonnffiigguurraattiioonn ffoorr tthhee PPoossttffiixx SSMMTTPP sseerrvveerr
+
In /usr/local/lib/sasl/smtpd.conf (Cyrus SASL version 1.5.5) or /usr/local/lib/
sasl2/smtpd.conf (Cyrus SASL version 2.1.1) you need to specify how the server
should validate client passwords.
@@ -374,4 +442,6 @@ CCrreeddiittss
reject_unauthenticated_sender_login_mismatch, and revised the docs.
* Wietse made another iteration through the code to add plug-in support for
multiple implementations.
+ * The Dovecot plug-in was originally implemented by Timo Sirainen of
+ Procontrol, Finland.
diff --git a/postfix/RELEASE_NOTES b/postfix/RELEASE_NOTES
index df9b5f944..0554a7089 100644
--- a/postfix/RELEASE_NOTES
+++ b/postfix/RELEASE_NOTES
@@ -17,6 +17,16 @@ Incompatibility with Postfix 2.1 and earlier
If you upgrade from Postfix 2.1 or earlier, read RELEASE_NOTES-2.2
before proceeding.
+Major changes with snapshot 20051222
+====================================
+
+Dovecot SASL support (SMTP server only). Details can be found
+in the SASL_README document.
+
+You can now use "resolve_numeric_address = yes" to stop Postfix
+from rejecting user@ipaddress as an invalid destination. It will
+deliver the mail to user@[ipaddress] instead.
+
Incompatibility with snapshot 20051220
======================================
diff --git a/postfix/html/SASL_README.html b/postfix/html/SASL_README.html
index 4a720afc9..98b848f45 100644
--- a/postfix/html/SASL_README.html
+++ b/postfix/html/SASL_README.html
@@ -49,6 +49,9 @@ sender email address.
What SASL versions are supported
+Building Postfix with Dovecot SASL
+support
+
Building the Cyrus SASL library
Building Postfix with Cyrus SASL
@@ -57,6 +60,12 @@ support
Enabling SASL authentication in the
Postfix SMTP server
+Dovecot SASL configuration for the Postfix
+SMTP server
+
+Cyrus SASL configuration for the Postfix
+SMTP server
+
Testing SASL authentication in the
Postfix SMTP server
@@ -71,11 +80,66 @@ Postfix SMTP client
- This document describes Postfix with Cyrus SASL version 1 and
-Cyrus SASL version 2. Postfix version 2.3 introduces has a plug-in
-mechanism for other SASL implementations. Support for other
-implementations is currently not part of the Postfix distribution
-and will be described elsewhere.
+ This document describes Postfix with the following SASL
+implementations:
+
+
+
+-
Cyrus SASL version 1 (client and server).
+
+ -
Cyrus SASL version 2 (client and server).
+
+ -
Dovecot protocol version 1 (server only, Postfix version
+2.3 and later)
+
+
+
+ Postfix version 2.3 introduces a plug-in mechanism that provides
+support for multiple SASL implementations. To find out what
+implementations are built into Postfix, use the following commands:
+
+
+
+
+% postconf -a (SASL support in the SMTP server)
+% postconf -A (SASL support in the SMTP+LMTP client)
+
+
+
+ Needless to say, these commands are not available in Postfix
+versions before 2.3.
+
+
+
+ Dovecot is available via http://www.dovecot.org/. It uses its
+own daemon process for authentication. Building Postfix with Dovecot
+SASL support is relatively easy, because there is no need to link
+extra libraries into Postfix.
+
+ To generate the necessary Makefiles, execute the following
+in the Postfix top-level directory:
+
+
+% make makefiles CCARGS='-DUSE_SASL_AUTH -DDEF_SASL_SERVER=\"dovecot\"'
+
+
+ Notes:
+
+
+
+-
The "-DDEF_SASL_SERVER" stuff is not necessary; it just
+makes Postfix configuration a little more convenient because you
+don't have to specify the SASL plug-in type in the Postfix main.cf
+file.
+
+ -
If you also want support for LDAP or TLS, you will have to merge
+their CCARGS and AUXLIBS into the above command line.
+
+ -
After this, proceed with "make" as described in the
+INSTALL document.
+
+
@@ -186,6 +250,48 @@ SMTP server
Note: the SASL login names will be shared with the entire world.
+
+
+ On the Postfix side you need to specify the location of the
+Dovecot authentication daemon socket. We use a pathname relative
+to the Postfix queue directory, so that it will work whether or not
+Postfix runs chrooted:
+
+
+
+/etc/postfix/main.cf:
+ smtpd_sasl_type = dovecot
+ smtpd_sasl_path = private/auth
+
+
+
+ On the Dovecot side you also need to specify the Dovecot
+authentication daemon socket. In this case we specify an
+absolute pathname. In the example we assume that the
+Postfix queue is under /var/spool/postfix/.
+
+
+
+/some/where/dovecot.conf:
+ auth default {
+ ..
+ socket listen {
+ client {
+ path = /var/spool/postfix/private/auth
+ mode = 0666
+ }
+ }
+ }
+
+
+
+ See the Dovecot documentation for how to configure the Dovecot
+authentication server.
+
+
+
In /usr/local/lib/sasl/smtpd.conf (Cyrus SASL version 1.5.5) or
/usr/local/lib/sasl2/smtpd.conf (Cyrus SASL version 2.1.1) you need to
specify how the server should validate client passwords.
@@ -562,6 +668,9 @@ of SuSE Rhein/Main AG.
Wietse made another iteration through the code to add
plug-in support for multiple implementations.
+ The Dovecot plug-in was originally implemented by Timo Sirainen
+of Procontrol, Finland.
+