Postfix 2.3.3 fixes one message corruption problem in the Milter client, and changes the appearance of bounce messages. - File corruption while executing a Milter "header insert" action with with headers-only mail (found with dk-filter). This caused delivery agents to go into an infinite loop. As a precaution, delivery agents now detect loops, and the queue manager now saves such mail to the "corrupt" directory. - Segmentation fault in the SMTP client while saving a cached connection with unsent data. Some I/O cleanup was done in the wrong order, causing Postfix to index some table with -1. - Postfix no longer announces its name in delivery status notifications. All other details of the default bounce text remain unchanged. The reason for this change is that too many people believe that Wietse provides a free helpdesk service that solves all their email problems. For more details, see the HISTORY changes below. Prereq: "2.3.2" diff -cr /var/tmp/postfix-2.3.2/src/global/mail_version.h ./src/global/mail_version.h *** /var/tmp/postfix-2.3.2/src/global/mail_version.h Thu Jul 27 12:46:58 2006 --- ./src/global/mail_version.h Fri Aug 25 18:25:50 2006 *************** *** 20,27 **** * Patches change both the patchlevel and the release date. Snapshots have no * patchlevel; they change the release date only. */ ! #define MAIL_RELEASE_DATE "20060727" ! #define MAIL_VERSION_NUMBER "2.3.2" #ifdef SNAPSHOT # define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE --- 20,27 ---- * Patches change both the patchlevel and the release date. Snapshots have no * patchlevel; they change the release date only. */ ! #define MAIL_RELEASE_DATE "200600825" ! #define MAIL_VERSION_NUMBER "2.3.3" #ifdef SNAPSHOT # define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE diff -cr /var/tmp/postfix-2.3.2/HISTORY ./HISTORY *** /var/tmp/postfix-2.3.2/HISTORY Thu Jul 27 12:46:04 2006 --- ./HISTORY Fri Aug 25 18:24:02 2006 *************** *** 12637,12639 **** --- 12637,12693 ---- Cleanup: change redundant milter_abort() and milter_disc_event() calls into NO-OPs. This avoids unnecessary panic() events for completely harmless conditions. File: milter/milter8.c. + + 20060805 + + Bugfix (introduced Postfix 2.3): #ifdef damage caused + smtp_sasl_start() to be invoked twice. Reported by C-J + Lofstedt. File: smtp/smtp_sasl_proto.c. + + 20060806 + + Postfix no longer announces its name in delivery status + notifications. Users believe that Wietse provides a free + helpdesk service that solves all their email problems. + Credits to Jonathan Balester. File: bounce/bounce_templates.c. + + 20060807 + + Bugfix (introduced Postfix 2.2): when upgrading from Postfix + < 2.2 with the third-party TLS patch, the post-install + upgrade procedure didn't put a "?" in the existing tlsmgr + entry, causing tlsmgr to repeatedly start and exit when TLS + support was not compiled in. File: conf/post-install. + + 20060812 + + Bugfix (introduced Postfix < alpha): safety mechanism in + mail_date() didn't work. Found in code review. File: + global/mail_date.c. + + 20060822 + + Added missing logging for "message to large" etc. Files: + smtpd/smtpd.c, cleanup/cleanup_milter.c. + + 20060823 + + Bugfix (introduced Postfix 2.2): segfault when vstream_fclose() + attempted to flush unwritten output, after vstream_fdclose() + had already disconnected the stream from its file descriptor. + File: util/vstream.c. + + Bugfix (introduced Postfix 2.2): vstream_fdclose() did not + flush unwritten output before disconnecting a stream from + its file descriptor(s). File: util/vstream.c. + + 20060825 + + Bugfix (introduced Postfix 2.3): with headers-only mail, a + Milter "header insert" action corrupted the queue file. The + cleanup server executed some end-of-body action before the + end-of-header actions. File: cleanup/cleanup_message.c. + + Robustness: mail delivery agents now detect loops in queue + files. Files with too many backward jumps are saved to the + "corrupt" directory. File: global/record.c. diff -cr /var/tmp/postfix-2.3.2/README_FILES/CDB_README ./README_FILES/CDB_README *** /var/tmp/postfix-2.3.2/README_FILES/CDB_README Thu Jan 19 12:41:30 2006 --- ./README_FILES/CDB_README Sat Aug 12 10:32:44 2006 *************** *** 49,58 **** "AUXLIBS=$CDB/cdb.a $CDB/alloc.a $CDB/buffer.a $CDB/unix.a $CDB/byte.a" % make ! After postfix has been built with cdb support, you can use "cdb" tables wherever you can use read-only "hash", "btree" or "dbm" tables. However, the "ppoossttmmaapp --ii" (incremental record insertion) and "ppoossttmmaapp --dd" (incremental record deletion) command-line options are not available. For the same reason the "cdb" map type cannot be used to store the persistent address verification ! cache for the verify(8) service. --- 49,59 ---- "AUXLIBS=$CDB/cdb.a $CDB/alloc.a $CDB/buffer.a $CDB/unix.a $CDB/byte.a" % make ! After Postfix has been built with cdb support, you can use "cdb" tables wherever you can use read-only "hash", "btree" or "dbm" tables. However, the "ppoossttmmaapp --ii" (incremental record insertion) and "ppoossttmmaapp --dd" (incremental record deletion) command-line options are not available. For the same reason the "cdb" map type cannot be used to store the persistent address verification ! cache for the verify(8) service, or to store TLS session information for the ! tlsmgr(8) service. diff -cr /var/tmp/postfix-2.3.2/README_FILES/SASL_README ./README_FILES/SASL_README *** /var/tmp/postfix-2.3.2/README_FILES/SASL_README Tue Jul 18 20:29:13 2006 --- ./README_FILES/SASL_README Mon Aug 21 09:36:07 2006 *************** *** 61,84 **** BBuuiillddiinngg PPoossttffiixx wwiitthh DDoovveeccoott SSAASSLL ssuuppppoorrtt ! Dovecot SASL support is available in Postfix 2.3 and later. The Dovecot source ! code is available via http://www.dovecot.org/. At the time of writing, only ! server-side SASL support is available, so you can't use it to authenticate to ! your network provider's server. Dovecot uses its own daemon process for ! authentication. This keeps the Postfix build process simple, 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_TYPE=\"dovecot\"' After this, proceed with "make" as described in the INSTALL document. Notes: ! * The "-DDEF_SASL_SERVER_TYPE" 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. --- 61,83 ---- BBuuiillddiinngg PPoossttffiixx wwiitthh DDoovveeccoott SSAASSLL ssuuppppoorrtt ! Support for the Dovecot version 1 SASL protocol is available in Postfix 2.3 and ! later. At the time of writing, only server-side SASL support is available, so ! you can't use it to authenticate to your network provider's server. Dovecot ! uses its own daemon process for authentication. This keeps the Postfix build ! process simple, 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_SERVER_SASL_TYPE=\"dovecot\"' After this, proceed with "make" as described in the INSTALL document. Notes: ! * The "-DDEF_SERVER_SASL_TYPE" 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. diff -cr /var/tmp/postfix-2.3.2/RELEASE_NOTES ./RELEASE_NOTES *** /var/tmp/postfix-2.3.2/RELEASE_NOTES Tue Jul 11 20:08:31 2006 --- ./RELEASE_NOTES Sun Aug 6 10:36:21 2006 *************** *** 11,16 **** --- 11,23 ---- The mail_release_date configuration parameter (format: yyyymmdd) specifies the release date of a stable release or snapshot release. + Incompatible changes with Postfix 2.3.3 + --------------------------------------- + + Postfix no longer announces its name in delivery status notifications. + Users believe that Wietse provides a free help desk service that + solves all their email problems. + Critical notes -------------- diff -cr /var/tmp/postfix-2.3.2/conf/post-install ./conf/post-install *** /var/tmp/postfix-2.3.2/conf/post-install Sat Feb 4 16:53:28 2006 --- ./conf/post-install Mon Aug 7 10:48:42 2006 *************** *** 643,648 **** --- 643,649 ---- ed $config_directory/master.cf < !

After postfix has been built with cdb support, you can use "cdb" tables wherever you can use read-only "hash", "btree" or "dbm" tables. However, the "postmap -i" (incremental record insertion) and "postmap -d" (incremental record deletion) command-line options are not available. For the same reason the "cdb" map type cannot be used to store the persistent address ! verification cache for the verify(8) service.

--- 79,89 ---- !

After Postfix has been built with cdb support, you can use "cdb" tables wherever you can use read-only "hash", "btree" or "dbm" tables. However, the "postmap -i" (incremental record insertion) and "postmap -d" (incremental record deletion) command-line options are not available. For the same reason the "cdb" map type cannot be used to store the persistent address ! verification cache for the verify(8) service, or to store ! TLS session information for the tlsmgr(8) service.

diff -cr /var/tmp/postfix-2.3.2/html/SASL_README.html ./html/SASL_README.html *** /var/tmp/postfix-2.3.2/html/SASL_README.html Tue Jul 18 20:29:13 2006 --- ./html/SASL_README.html Mon Aug 21 09:36:07 2006 *************** *** 113,121 ****

Building Postfix with Dovecot SASL support

!

Dovecot SASL support is available in Postfix 2.3 and later. The ! Dovecot source code is available via http://www.dovecot.org/. At ! the time of writing, only server-side SASL support is available, so you can't use it to authenticate to your network provider's server. Dovecot uses its own daemon process for authentication. This keeps the --- 113,120 ----

Building Postfix with Dovecot SASL support

!

Support for the Dovecot version 1 SASL protocol is available ! in Postfix 2.3 and later. At the time of writing, only server-side SASL support is available, so you can't use it to authenticate to your network provider's server. Dovecot uses its own daemon process for authentication. This keeps the *************** *** 127,133 ****

! % make makefiles CCARGS='-DUSE_SASL_AUTH -DDEF_SASL_SERVER_TYPE=\"dovecot\"'
  
--- 126,132 ----
! % make makefiles CCARGS='-DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\"'
  
*************** *** 138,144 ****