--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Please unblock package postfix
As mentioned in the last unblock request, for postfix we've been doing stable
updates of new 3.1 series versions and I'm trying to follow a similar
approach during freeze, particularly due to the late switch to postfix 3.4.
Of course, as soon as I think it's quieted down and it's safe to update, there
is another one. I would like to go ahead with this now and not wait because
there is a companion 3.1 update for stable that I would like to proceed with
sooner rather than later and I don't want stable to get ahead of testing in
terms of fixes/functionality.
There are two fixes in this release:
* 3.4.5
- With message_size_limit=0 (which is NOT DOCUMENTED), BDAT
chunks were always rejected as too large. File: smtpd/smtpd.c
- Bugfix (introduced: Postfix 3.0): LMTP connections over
UNIX-domain sockets were cached but not reused, due to a
cache lookup key mismatch. Therefore, idle cached connections
could exhaust LMTP server resources, resulting in two-second
pauses between email deliveries. This problem was investigated
by Juliana Rodrigueiro. File: smtp/smtp_connect.c.
The latter fix is a regression from oldstable -> stable. For high volume
LMTP users, the impact is likley significant, but difficult to diagnose. I
definitely want this fixed in stable and I think we want it fixed in buster
too.
The first fix represents the next in a series of existing code limitations
that present problems not that BDAT is implemented.
As you can see, the diff is pretty trivial. I have the package ready to
upload when ack'ed.
Thanks,
Scott K
unblock postfix/3.4.5-1
diff -Nru postfix-3.4.4/debian/changelog postfix-3.4.5/debian/changelog
--- postfix-3.4.4/debian/changelog 2019-03-25 11:03:58.000000000 -0400
+++ postfix-3.4.5/debian/changelog 2019-04-01 13:30:19.000000000 -0400
@@ -1,3 +1,19 @@
+postfix (3.4.5-1) UNRELEASED; urgency=medium
+
+ [Wietse Venema]
+
+ * 3.4.5
+ - With message_size_limit=0 (which is NOT DOCUMENTED), BDAT
+ chunks were always rejected as too large. File: smtpd/smtpd.c
+ - Bugfix (introduced: Postfix 3.0): LMTP connections over
+ UNIX-domain sockets were cached but not reused, due to a
+ cache lookup key mismatch. Therefore, idle cached connections
+ could exhaust LMTP server resources, resulting in two-second
+ pauses between email deliveries. This problem was investigated
+ by Juliana Rodrigueiro. File: smtp/smtp_connect.c.
+
+ -- Scott Kitterman <scott@kitterman.com> Mon, 01 Apr 2019 13:27:26 -0400
+
postfix (3.4.4-1) unstable; urgency=medium
[Wietse Venema]
diff -Nru postfix-3.4.4/HISTORY postfix-3.4.5/HISTORY
--- postfix-3.4.4/HISTORY 2019-03-14 19:57:12.000000000 -0400
+++ postfix-3.4.5/HISTORY 2019-03-30 10:33:58.000000000 -0400
@@ -24195,3 +24195,16 @@
does the same with the Postfix 3.4 BDAT command. The latter
was reported by Andreas Schulze. File: smtpd/smtpd_check.c.
+20190319
+
+ With message_size_limit=0 (which is NOT DOCUMENTED), BDAT
+ chunks were always rejected as too large. File: smtpd/smtpd.c
+
+20190328
+
+ Bugfix (introduced: Postfix 3.0): LMTP connections over
+ UNIX-domain sockets were cached but not reused, due to a
+ cache lookup key mismatch. Therefore, idle cached connections
+ could exhaust LMTP server resources, resulting in two-second
+ pauses between email deliveries. This problem was investigated
+ by Juliana Rodrigueiro. File: smtp/smtp_connect.c.
diff -Nru postfix-3.4.4/html/postconf.5.html postfix-3.4.5/html/postconf.5.html
--- postfix-3.4.4/html/postconf.5.html 2019-02-10 12:12:57.000000000 -0500
+++ postfix-3.4.5/html/postconf.5.html 2019-03-24 18:59:02.000000000 -0400
@@ -6241,7 +6241,7 @@
(default: empty)</b></DT><DD>
<p> The name of an optional logfile that is written by the Postfix
-<a href="postlogd.8.html">postlogd(8)</a> service. A non-empty value selects logging to syslogd(8).
+<a href="postlogd.8.html">postlogd(8)</a> service. An empty value selects logging to syslogd(8).
Specify "/dev/stdout" to select logging to standard output. Stdout
logging requires that Postfix is started with "postfix start-fg".
</p>
diff -Nru postfix-3.4.4/man/man5/postconf.5 postfix-3.4.5/man/man5/postconf.5
--- postfix-3.4.4/man/man5/postconf.5 2019-02-03 11:58:44.000000000 -0500
+++ postfix-3.4.5/man/man5/postconf.5 2019-03-24 18:59:03.000000000 -0400
@@ -3750,7 +3750,7 @@
This feature is available in Postfix 2.3 and later.
.SH maillog_file (default: empty)
The name of an optional logfile that is written by the Postfix
-\fBpostlogd\fR(8) service. A non\-empty value selects logging to \fBsyslogd\fR(8).
+\fBpostlogd\fR(8) service. An empty value selects logging to \fBsyslogd\fR(8).
Specify "/dev/stdout" to select logging to standard output. Stdout
logging requires that Postfix is started with "postfix start\-fg".
.PP
diff -Nru postfix-3.4.4/proto/postconf.proto postfix-3.4.5/proto/postconf.proto
--- postfix-3.4.4/proto/postconf.proto 2019-02-03 11:58:37.000000000 -0500
+++ postfix-3.4.5/proto/postconf.proto 2019-03-21 12:41:06.000000000 -0400
@@ -17550,7 +17550,7 @@
%PARAM maillog_file
<p> The name of an optional logfile that is written by the Postfix
-postlogd(8) service. A non-empty value selects logging to syslogd(8).
+postlogd(8) service. An empty value selects logging to syslogd(8).
Specify "/dev/stdout" to select logging to standard output. Stdout
logging requires that Postfix is started with "postfix start-fg".
</p>
diff -Nru postfix-3.4.4/src/global/mail_version.h postfix-3.4.5/src/global/mail_version.h
--- postfix-3.4.4/src/global/mail_version.h 2019-03-14 19:53:55.000000000 -0400
+++ postfix-3.4.5/src/global/mail_version.h 2019-03-30 10:38:23.000000000 -0400
@@ -20,8 +20,8 @@
* Patches change both the patchlevel and the release date. Snapshots have no
* patchlevel; they change the release date only.
*/
-#define MAIL_RELEASE_DATE "20190314"
-#define MAIL_VERSION_NUMBER "3.4.4"
+#define MAIL_RELEASE_DATE "20190330"
+#define MAIL_VERSION_NUMBER "3.4.5"
#ifdef SNAPSHOT
#define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE
diff -Nru postfix-3.4.4/src/smtp/smtp_connect.c postfix-3.4.5/src/smtp/smtp_connect.c
--- postfix-3.4.4/src/smtp/smtp_connect.c 2018-11-19 19:51:37.000000000 -0500
+++ postfix-3.4.5/src/smtp/smtp_connect.c 2019-03-28 18:58:04.000000000 -0400
@@ -492,6 +492,8 @@
* the "unix:" prefix.
*/
smtp_cache_policy(state, path);
+ if (state->misc_flags & SMTP_MISC_FLAG_CONN_CACHE_MASK)
+ SET_SCACHE_REQUEST_NEXTHOP(state, path);
/*
* Here we ensure that the iter->addr member refers to a copy of the
@@ -567,6 +569,12 @@
msg_panic("%s: unix-domain destination not final!", myname);
smtp_cleanup_session(state);
}
+
+ /*
+ * Cleanup.
+ */
+ if (HAVE_SCACHE_REQUEST_NEXTHOP(state))
+ CLEAR_SCACHE_REQUEST_NEXTHOP(state);
}
/* smtp_scrub_address_list - delete all cached addresses from list */
diff -Nru postfix-3.4.4/src/smtpd/smtpd.c postfix-3.4.5/src/smtpd/smtpd.c
--- postfix-3.4.4/src/smtpd/smtpd.c 2019-02-10 17:51:45.000000000 -0500
+++ postfix-3.4.5/src/smtpd/smtpd.c 2019-03-30 08:05:29.000000000 -0400
@@ -3878,7 +3878,8 @@
}
}
/* Block too large chunks. */
- if (state->act_size > var_message_limit - chunk_size) {
+ if (var_message_limit > 0
+ && state->act_size > var_message_limit - chunk_size) {
state->error_mask |= MAIL_ERROR_POLICY;
msg_warn("%s: BDAT request from %s exceeds message size limit",
state->queue_id ? state->queue_id : "NOQUEUE",
--- End Message ---