Postfix version 2.0 patchlevel 8 adds safety mechanisms for problems
that happen rarely, but that can have puzzling effects.
- Too many people mess up their net/mask patterns, causing open
mail relay problems. Postfix processes now abort when given a
net/mask pattern with a non-zero host portion (for example,
168.100.189.2/28), and suggest to specify the proper net/mask
pattern instead (for example, 168.100.189.0/28).
- Workaround for file system clock drift that caused Postfix to
ignore new mail (this could happen with file systems mounted from
a server). Postfix now logs a warning and proceeds with only
slightly reduced performance, instead of ignoring new mail.
Prereq: "2.0.7"
diff -cr /tmp/postfix-2.0.7/src/global/mail_version.h ./src/global/mail_version.h
*** /tmp/postfix-2.0.7/src/global/mail_version.h Wed Mar 19 10:26:08 2003
--- ./src/global/mail_version.h Tue Apr 15 15:17:20 2003
***************
*** 20,29 ****
* Patches change the patchlevel and the release date. Snapshots change the
* release date only, unless they include the same bugfix as a patch release.
*/
! #define MAIL_RELEASE_DATE "20030319"
#define VAR_MAIL_VERSION "mail_version"
! #define DEF_MAIL_VERSION "2.0.7"
extern char *var_mail_version;
/*
--- 20,29 ----
* Patches change the patchlevel and the release date. Snapshots change the
* release date only, unless they include the same bugfix as a patch release.
*/
! #define MAIL_RELEASE_DATE "20030415"
#define VAR_MAIL_VERSION "mail_version"
! #define DEF_MAIL_VERSION "2.0.8"
extern char *var_mail_version;
/*
diff -cr /tmp/postfix-2.0.7/HISTORY ./HISTORY
*** /tmp/postfix-2.0.7/HISTORY Wed Mar 19 20:35:59 2003
--- ./HISTORY Tue Apr 15 15:20:56 2003
***************
*** 7700,7706 ****
--- 7700,7728 ----
for non-existent addresses. This required re-architecting
the recipient table lookup code. File: smtpd/smtpd_check.c.
+ 20030410
+
+ Safety: log a fatal error when a net/mask pattern has a
+ non-zero host part, so that mail delivery is deferred.
+ File: util/match_ops.c.
+
+ 20030411
+
+ Bugfix: extraneous warning about out-of-order original
+ recipient records by Patrik Rak. Files: *qmgr/qmgr_message.c.
+
+ 10030415
+
+ Workaround: log a warning and reset incoming queue file
+ time stamps when the file system clock is ahead of the
+ local clock, instead of ignoring new mail until the next
+ queue scan. The file system clock drift detection executes
+ only once per process instance, to minimize the performance
+ impact. File: global/mail_stream.c.
+
Open problems:
+
+ Low: smtp-source may block when sending large test messages.
Low: after successful delivery, per-queue window += 1/window,
after failure, queue window -= 1 (Victor).
diff -cr /tmp/postfix-2.0.7/INSTALL ./INSTALL
*** /tmp/postfix-2.0.7/INSTALL Sat Dec 21 16:52:52 2002
--- ./INSTALL Mon Apr 14 15:00:25 2003
***************
*** 144,158 ****
Be sure to get the quotes right. These details matter a lot.
! Other parameters whose defaults can be specified in this way are:
! Macro name default value for
! -------------------------------------
! DEF_COMMAND_DIR command_directory
! DEF_DAEMON_DIR daemon_directory
! DEF_SENDMAIL_PATH sendmail_path
! DEF_MAILQ_PATH mailq_path
! DEF_NEWALIAS_PATH newaliases_path
In order to build Postfix for very large applications, where you
expect to run more than 1000 delivery processes, you may need to
--- 144,162 ----
Be sure to get the quotes right. These details matter a lot.
! Parameters whose defaults can be specified in this way are:
! Macro name default value for typical default
! -----------------------------------------------------------
! DEF_COMMAND_DIR command_directory /usr/sbin
! DEF_CONFIG_DIR config_directory /etc/postfix
! DEF_DAEMON_DIR daemon_directory /usr/libexec/postfix
! DEF_MAILQ_PATH mailq_path /usr/bin/mailq
! DEF_MANPAGE_DIR manpage_directory /usr/local/man
! DEF_NEWALIAS_PATH newaliases_path /usr/bin/newaliases
! DEF_README_DIR readme_directory no (do not install)
! DEF_SAMPLE_DIR sample_directory /etc/postfix
! DEF_SENDMAIL_PATH sendmail_path /usr/sbin/sendmail
In order to build Postfix for very large applications, where you
expect to run more than 1000 delivery processes, you may need to
diff -cr /tmp/postfix-2.0.7/RELEASE_NOTES ./RELEASE_NOTES
*** /tmp/postfix-2.0.7/RELEASE_NOTES Wed Mar 5 21:29:35 2003
--- ./RELEASE_NOTES Tue Apr 15 13:41:55 2003
***************
*** 24,29 ****
--- 24,46 ----
date. Snapshots change only the release date, unless they include
the same bugfixes as a patch release.
+ Incompatible changes with Postfix version 2.0.8 (released 20030415)
+ ===================================================================
+
+ Too many people mess up their net/mask patterns, causing open
+ mail relay problems. Postfix processes now abort when given a
+ net/mask pattern with a non-zero host portion (for example,
+ 168.100.189.2/28), and suggest to specify the proper net/mask
+ pattern instead (for example, 168.100.189.0/28).
+
+ Major changes with Postfix version 2.0.8 (released 20030415)
+ ============================================================
+
+ Workaround for file system clock drift that caused Postfix to ignore
+ new mail (this could happen with file systems mounted from a server).
+ Postfix now logs a warning and proceeds with only slightly reduced
+ performance, instead of ignoring new mail.
+
Incompatible changes with Postfix version 2.0.6 (released 20030305)
===================================================================
diff -cr /tmp/postfix-2.0.7/conf/sample-misc.cf ./conf/sample-misc.cf
*** /tmp/postfix-2.0.7/conf/sample-misc.cf Sun Jan 12 12:10:23 2003
--- ./conf/sample-misc.cf Thu Mar 20 15:51:12 2003
***************
*** 4,9 ****
--- 4,16 ----
# This file contains example settings for miscellaneous Postfix
# configuration parameters.
+ # The allow_min_user parameter specifies whether a recipient address
+ # can have a '-' as the first character. By default, this is not
+ # allowed, to avoid accidents with software that passes email addresses
+ # via the command line.
+ #
+ allow_min_user = no
+
# The always_bcc parameter specifies an optional address that
# receives a copy of each message that enters the Postfix system,
# not including bounces that are generated locally.
diff -cr /tmp/postfix-2.0.7/html/basic.html ./html/basic.html
*** /tmp/postfix-2.0.7/html/basic.html Mon Dec 2 15:47:12 2002
--- ./html/basic.html Sat Mar 29 09:44:25 2003
***************
*** 355,363 ****
My own networks
The mynetworks parameter lists all networks that this machine
! somehow trusts. This information can be used by the
! anti-UCE features to recognize trusted SMTP clients that are
! allowed to relay mail through Postfix.
--- 355,364 ----
My own networks
The mynetworks parameter lists all networks that this machine
! somehow trusts. This information can be used by the anti-UCE features
! to recognize trusted SMTP clients that are allowed to relay mail
! through Postfix.
diff -cr /tmp/postfix-2.0.7/html/virtual.5.html ./html/virtual.5.html
*** /tmp/postfix-2.0.7/html/virtual.5.html Sat Dec 21 16:53:02 2002
--- ./html/virtual.5.html Mon Apr 14 20:20:47 2003
***************
*** 138,146 ****
user2@virtual-alias.domain address2, address3
The virtual-alias.domain anything entry is required for a
! virtual alias domain. Without this entry, mail is rejected
! with "relay access denied", or bounces with "mail loops
! back to myself".
Do not specify virtual alias domain names in the main.cf
mydestination or relay_domains configuration parameters.
--- 138,146 ----
user2@virtual-alias.domain address2, address3
The virtual-alias.domain anything entry is required for a
! virtual alias domain. Without this entry, mail is rejected
! with "relay access denied", or bounces with "mail loops
! back to myself".
Do not specify virtual alias domain names in the main.cf
mydestination or relay_domains configuration parameters.
diff -cr /tmp/postfix-2.0.7/man/man5/virtual.5 ./man/man5/virtual.5
*** /tmp/postfix-2.0.7/man/man5/virtual.5 Sat Dec 21 16:53:02 2002
--- ./man/man5/virtual.5 Mon Apr 14 20:20:46 2003
***************
*** 141,149 ****
.fi
.sp
The \fIvirtual-alias.domain anything\fR entry is required for a
! virtual alias domain. Without this entry, mail is rejected
with "relay access denied", or bounces with
! "mail loops back to myself".
Do not specify virtual alias domain names in the \fBmain.cf
mydestination\fR or \fBrelay_domains\fR configuration parameters.
--- 141,149 ----
.fi
.sp
The \fIvirtual-alias.domain anything\fR entry is required for a
! virtual alias domain. \fBWithout this entry, mail is rejected
with "relay access denied", or bounces with
! "mail loops back to myself".\fR
Do not specify virtual alias domain names in the \fBmain.cf
mydestination\fR or \fBrelay_domains\fR configuration parameters.
diff -cr /tmp/postfix-2.0.7/postfix-install ./postfix-install
*** /tmp/postfix-2.0.7/postfix-install Tue Mar 4 10:35:40 2003
--- ./postfix-install Fri Mar 21 14:04:53 2003
***************
*** 81,116 ****
# The built-in default directory name is the current directory.
# This parameter setting is not recorded in the installed main.cf file.
# .IP config_directory
! # The destination directory for Postfix configuration files.
# The built-in default directory name is /etc/postfix.
! # This parameter setting is not recorded in the installed main.cf file.
# .IP daemon_directory
! # The destination directory for Postfix daemon programs. This directory
! # should not be in the command search path of any users.
# The built-in default directory name is /usr/libexec/postfix.
# This parameter setting is recorded in the installed main.cf file.
# .IP command_directory
! # The destination directory for Postfix administrative commands. This
! # directory should be in the command search path of adminstrative users.
! # The built-in default directory name is system dependent.
# This parameter setting is recorded in the installed main.cf file.
# .IP queue_directory
! # The destination directory for Postfix queues.
# The built-in default directory name is /var/spool/postfix.
# This parameter setting is recorded in the installed main.cf file.
# .IP sendmail_path
! # The full destination pathname for the Postfix sendmail command.
# This is the Sendmail-compatible mail posting interface.
# The built-in default pathname is system dependent.
# This parameter setting is recorded in the installed main.cf file.
# .IP newaliases_path
! # The full destination pathname for the Postfix newaliases command.
# This is the Sendmail-compatible command to build alias databases
# for the Postfix local delivery agent.
# The built-in default pathname is system dependent.
# This parameter setting is recorded in the installed main.cf file.
# .IP mailq_path
! # The full destination pathname for the Postfix mailq command.
# This is the Sendmail-compatible command to list the mail queue.
# The built-in default pathname is system dependent.
# This parameter setting is recorded in the installed main.cf file.
--- 81,117 ----
# The built-in default directory name is the current directory.
# This parameter setting is not recorded in the installed main.cf file.
# .IP config_directory
! # The final destination directory for Postfix configuration files.
# The built-in default directory name is /etc/postfix.
! # This parameter setting is not recorded in the installed main.cf file
! # and can be changed only by recompiling Postfix.
# .IP daemon_directory
! # The final destination directory for Postfix daemon programs. This
! # directory should not be in the command search path of any users.
# The built-in default directory name is /usr/libexec/postfix.
# This parameter setting is recorded in the installed main.cf file.
# .IP command_directory
! # The final destination directory for Postfix administrative commands.
! # This directory should be in the command search path of adminstrative
! # users. The built-in default directory name is system dependent.
# This parameter setting is recorded in the installed main.cf file.
# .IP queue_directory
! # The final destination directory for Postfix queues.
# The built-in default directory name is /var/spool/postfix.
# This parameter setting is recorded in the installed main.cf file.
# .IP sendmail_path
! # The final destination pathname for the Postfix sendmail command.
# This is the Sendmail-compatible mail posting interface.
# The built-in default pathname is system dependent.
# This parameter setting is recorded in the installed main.cf file.
# .IP newaliases_path
! # The final destination pathname for the Postfix newaliases command.
# This is the Sendmail-compatible command to build alias databases
# for the Postfix local delivery agent.
# The built-in default pathname is system dependent.
# This parameter setting is recorded in the installed main.cf file.
# .IP mailq_path
! # The final destination pathname for the Postfix mailq command.
# This is the Sendmail-compatible command to list the mail queue.
# The built-in default pathname is system dependent.
# This parameter setting is recorded in the installed main.cf file.
***************
*** 286,315 ****
tempdir_prompt="a directory for scratch files while installing
Postfix. You must have write permission in this directory."
! config_directory_prompt="the destination directory for installed
! Postfix configuration files."
! daemon_directory_prompt="the destination directory for installed
! Postfix daemon programs. This directory should not be in the
! command search path of any users."
!
! command_directory_prompt="the destination directory for installed
! Postfix administrative commands. This directory should be in the
! command search path of adminstrative users."
! queue_directory_prompt="the destination directory for Postfix
queues."
! sendmail_path_prompt="the full destination pathname for the installed
! Postfix sendmail command. This is the Sendmail-compatible mail
! posting interface."
! newaliases_path_prompt="the full destination pathname for the
installed Postfix newaliases command. This is the Sendmail-compatible
command to build alias databases for the Postfix local delivery
agent."
! mailq_path_prompt="the full destination pathname for the installed
Postfix mailq command. This is the Sendmail-compatible mail queue
listing command."
--- 287,316 ----
tempdir_prompt="a directory for scratch files while installing
Postfix. You must have write permission in this directory."
! config_directory_prompt="the final destination directory for
! installed Postfix configuration files."
! daemon_directory_prompt="the final destination directory for
! installed Postfix daemon programs. This directory should not be
! in the command search path of any users."
!
! command_directory_prompt="the final destination directory for
! installed Postfix administrative commands. This directory should
! be in the command search path of adminstrative users."
! queue_directory_prompt="the final destination directory for Postfix
queues."
! sendmail_path_prompt="the final destination pathname for the
! installed Postfix sendmail command. This is the Sendmail-compatible
! mail posting interface."
! newaliases_path_prompt="the final destination pathname for the
installed Postfix newaliases command. This is the Sendmail-compatible
command to build alias databases for the Postfix local delivery
agent."
! mailq_path_prompt="the final destination pathname for the installed
Postfix mailq command. This is the Sendmail-compatible mail queue
listing command."
diff -cr /tmp/postfix-2.0.7/proto/virtual ./proto/virtual
*** /tmp/postfix-2.0.7/proto/virtual Sat Dec 21 16:53:02 2002
--- ./proto/virtual Mon Apr 14 20:19:50 2003
***************
*** 129,137 ****
# .fi
# .sp
# The \fIvirtual-alias.domain anything\fR entry is required for a
! # virtual alias domain. Without this entry, mail is rejected
# with "relay access denied", or bounces with
! # "mail loops back to myself".
#
# Do not specify virtual alias domain names in the \fBmain.cf
# mydestination\fR or \fBrelay_domains\fR configuration parameters.
--- 129,137 ----
# .fi
# .sp
# The \fIvirtual-alias.domain anything\fR entry is required for a
! # virtual alias domain. \fBWithout this entry, mail is rejected
# with "relay access denied", or bounces with
! # "mail loops back to myself".\fR
#
# Do not specify virtual alias domain names in the \fBmain.cf
# mydestination\fR or \fBrelay_domains\fR configuration parameters.
diff -cr /tmp/postfix-2.0.7/src/global/mail_stream.c ./src/global/mail_stream.c
*** /tmp/postfix-2.0.7/src/global/mail_stream.c Wed Aug 14 09:07:55 2002
--- ./src/global/mail_stream.c Tue Apr 15 15:06:28 2003
***************
*** 83,88 ****
--- 83,89 ----
#include