diff --git a/postfix/HISTORY b/postfix/HISTORY index bba61fb24..8f095ce1c 100644 --- a/postfix/HISTORY +++ b/postfix/HISTORY @@ -4848,3 +4848,15 @@ Apologies for any names omitted. util/sane_time.[hc]. Bumped the default mailbox file size limits to 50MB. + +20010202 + + Bugfix: fixed the way the master resets the file size limit + to avoid problems when a Postfix daemon updates a queue + file. The file size limit is now increased to INT_MAX if + it is smaller than INT_MAX, so that it is less likely to + interfere than the old setting of message_size_limit. + + Feature: disable mailbox size limits for the local and + virtual delivery agents by setting mailbox_size_limit or + virtual_mailbox_limit to zero. diff --git a/postfix/RELEASE_NOTES b/postfix/RELEASE_NOTES index 26fab0180..a1c31ed58 100644 --- a/postfix/RELEASE_NOTES +++ b/postfix/RELEASE_NOTES @@ -1,15 +1,28 @@ Apart from bugfixes this is expected to become the first non-beta Postfix release. +Major changes with snapshot-20010202 +==================================== + +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 =========================================== +If this release does not work for you, you can go back to a previous +Postfix version without losing your mail, subject to the "incompatible +changes" listed for previous Postfix releases below. + 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). +New mailbox size limit for local delivery (default: 50MBytes). This +limit affects all file write access by the local delivery agent or +by a process run by the local delivery agent. The purpose of this +parameter is to act as a safety for run-away software. It cannot +be a substitute for a file quota management system. The default RBL (real-time blackhole lists) domain examples have been updated from *.vix.com to *.mail-abuse.org. @@ -27,7 +40,7 @@ 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 +Many "valid_hostname" warnings were eliminated. The warnings that were not eliminated were replaced by something more informative. SASL support (RFC 2554) for the LMTP delivery agent. This is required diff --git a/postfix/html/faq.html b/postfix/html/faq.html index 1cfd0b911..e8919e7ca 100644 --- a/postfix/html/faq.html +++ b/postfix/html/faq.html @@ -1319,7 +1319,7 @@ be a broken PIX firewall.
@@ -1333,7 +1333,7 @@ end of mail are sent in separate packets. How does one recognize a mailer behind a Cisco PIX with "fixup protocol smtp" enabled? As of version 5.1 and later, the fixup protocol smtp command changes the characters in the SMTP banner to -asterisks except for the "2", "0", "0" and space characters. +asterisks except for the "2", "0" and "0 SPACE" characters.
diff --git a/postfix/html/local.8.html b/postfix/html/local.8.html
index 1b0ba3c60..5aac19255 100644
--- a/postfix/html/local.8.html
+++ b/postfix/html/local.8.html
@@ -451,9 +451,9 @@ LOCAL(8) LOCAL(8)
mailbox_size_limit
Limit the size of a mailbox etc. file (any file
- that is written to upon delivery).
+ that is written to upon delivery). Set to zero to
+ disable the limit.
-Security controls
@@ -467,33 +467,34 @@ LOCAL(8) LOCAL(8)
LOCAL(8) LOCAL(8)
+Security controls
allow_mail_to_commands
- Restrict the usage of mail delivery to external
+ Restrict the usage of mail delivery to external
command.
allow_mail_to_files
- Restrict the usage of mail delivery to external
+ Restrict the usage of mail delivery to external
file.
command_expansion_filter
- What characters are allowed to appear in $name
- expansions of mailbox_command. Illegal characters
+ What characters are allowed to appear in $name
+ expansions of mailbox_command. Illegal characters
are replaced by underscores.
default_privs
- Default rights for delivery to external file or
+ Default rights for delivery to external file or
command.
forward_expansion_filter
- What characters are allowed to appear in $name
- expansions of forward_path. Illegal characters are
+ What characters are allowed to appear in $name
+ expansions of forward_path. Illegal characters are
replaced by underscores.
HISTORY
- The Delivered-To: header appears in the qmail system by
+ The Delivered-To: header appears in the qmail system by
Daniel Bernstein.
- The maildir structure appears in the qmail system by
+ The maildir structure appears in the qmail system by
Daniel Bernstein.
SEE ALSO
@@ -504,7 +505,7 @@ LOCAL(8) LOCAL(8)
qmgr(8) queue manager
LICENSE
- The Secure Mailer license must be distributed with this
+ The Secure Mailer license must be distributed with this
software.
AUTHOR(S)
@@ -523,7 +524,6 @@ LOCAL(8) LOCAL(8)
-
8
diff --git a/postfix/html/virtual.8.html b/postfix/html/virtual.8.html
index 43ee3df0b..82c47ede1 100644
--- a/postfix/html/virtual.8.html
+++ b/postfix/html/virtual.8.html
@@ -224,7 +224,7 @@ VIRTUAL(8) VIRTUAL(8)
virtual_mailbox_limit
The maximal size in bytes of a mailbox or maildir
- file.
+ file. Set to zero to disable the limit.
HISTORY
This agent was originally based on the Postfix local
diff --git a/postfix/man/man8/local.8 b/postfix/man/man8/local.8
index 3d10429a6..8f3806515 100644
--- a/postfix/man/man8/local.8
+++ b/postfix/man/man8/local.8
@@ -378,6 +378,7 @@ The default limit is taken from the
.IP \fBmailbox_size_limit\fR
Limit the size of a mailbox etc. file (any file that is
written to upon delivery).
+Set to zero to disable the limit.
.SH "Security controls"
.ad
.fi
diff --git a/postfix/man/man8/virtual.8 b/postfix/man/man8/virtual.8
index 994bd71dc..52b1fbe75 100644
--- a/postfix/man/man8/virtual.8
+++ b/postfix/man/man8/virtual.8
@@ -191,6 +191,7 @@ The default limit is taken from the
The limit is enforced by the Postfix queue manager.
.IP \fBvirtual_mailbox_limit\fR
The maximal size in bytes of a mailbox or maildir file.
+Set to zero to disable the limit.
.SH HISTORY
.na
.nf
diff --git a/postfix/src/global/mail_version.h b/postfix/src/global/mail_version.h
index 3564c0b1e..82f068e6d 100644
--- a/postfix/src/global/mail_version.h
+++ b/postfix/src/global/mail_version.h
@@ -15,7 +15,7 @@
* Version of this program.
*/
#define VAR_MAIL_VERSION "mail_version"
-#define DEF_MAIL_VERSION "Snapshot-20010201"
+#define DEF_MAIL_VERSION "Snapshot-20010202"
extern char *var_mail_version;
/* LICENSE
diff --git a/postfix/src/local/local.c b/postfix/src/local/local.c
index 6d6bd05d4..068d61e08 100644
--- a/postfix/src/local/local.c
+++ b/postfix/src/local/local.c
@@ -350,6 +350,7 @@
/* .IP \fBmailbox_size_limit\fR
/* Limit the size of a mailbox etc. file (any file that is
/* written to upon delivery).
+/* Set to zero to disable the limit.
/* .SH "Security controls"
/* .ad
/* .fi
@@ -635,14 +636,20 @@ static void pre_init(char *unused_name, char **unused_argv)
* size limit. XXX This still isn't accurate because the file size limit
* also affects delivery to command.
*
+ * A file size limit protects the machine against runaway software errors.
+ * It is not suitable to enfoce mail quota, because users can get around
+ * mail quota by delivering to /file/name or to |command.
+ *
* We can't have mailbox size limit smaller than the message size limit,
* because that prohibits the delivery agent from updating the queue
* file.
*/
- if (var_mailbox_limit < var_message_limit)
- msg_fatal("main.cf configuration error: %s is smaller than %s",
- VAR_MAILBOX_LIMIT, VAR_MESSAGE_LIMIT);
- set_file_limit(var_mailbox_limit);
+ if (var_mailbox_limit) {
+ if (var_mailbox_limit < var_message_limit)
+ msg_fatal("main.cf configuration error: %s is smaller than %s",
+ VAR_MAILBOX_LIMIT, VAR_MESSAGE_LIMIT);
+ set_file_limit(var_mailbox_limit);
+ }
}
/* main - pass control to the single-threaded skeleton */
@@ -655,7 +662,7 @@ int main(int argc, char **argv)
};
static CONFIG_INT_TABLE int_table[] = {
VAR_DUP_FILTER_LIMIT, DEF_DUP_FILTER_LIMIT, &var_dup_filter_limit, 0, 0,
- VAR_MAILBOX_LIMIT, DEF_MAILBOX_LIMIT, &var_mailbox_limit, 1, 0,
+ VAR_MAILBOX_LIMIT, DEF_MAILBOX_LIMIT, &var_mailbox_limit, 0, 0,
0,
};
static CONFIG_STR_TABLE str_table[] = {
diff --git a/postfix/src/master/master.c b/postfix/src/master/master.c
index 2967d914f..c7dead391 100644
--- a/postfix/src/master/master.c
+++ b/postfix/src/master/master.c
@@ -134,6 +134,7 @@
#include