[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#926188: marked as done (unblock: postfix/3.4.5-1)



Your message dated Thu, 04 Apr 2019 18:54:41 +0000
with message-id <E1hC7VZ-0003Xw-P4@respighi.debian.org>
and subject line unblock postfix
has caused the Debian Bug report #926188,
regarding unblock: postfix/3.4.5-1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
926188: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=926188
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- 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 ---
--- Begin Message ---
Unblocked postfix.

--- End Message ---

Reply to: