Bug#951563: buster-pu: package postfix/3.4.8-0+10debu1
Package: release.debian.org
Severity: normal
Tags: buster
User: release.debian.org@packages.debian.org
Usertags: pu
This is the latest in the series of postfix 3.4 maintenance updates for
buster. The version is in bullseye already and I have it running
locally without issue. In addition to the upstream bugfixes, there are
two Debian packaging fixes: a correction to the lmtp man page redirect
and a sysv init update that fixes a regression in the last update (that
solved the problem that it was intended to solve, but caused problems
with multiple postfix instances). This update has been tested by end
users to work in both configurations. Neither fix has any regression
risk for users of Debian's default init system. Details follow:
postfix (3.4.9-0+10debu1) buster; urgency=medium
[Scott Kitterman]
* Correct Debian's smtp (8) man page name in d/p/debian-man-name.diff for
lmtp. Closes: #920356
* Fix d/init.d running change so it works with multi-instance again - Thanks
to jaroslav@thinline.cz for the fix. Closes: #944922
[Wietse Venema]
* 3.4.9
- Bugfix (introduced: Postfix 3.1): support for
smtp_dns_resolver_options was broken while adding support
for negative DNS response caching in postscreen. Postfix
was inadvertently changed to call res_query() instead of
res_search(). Reported by Jaroslav Skarvada. File:
dns/dns_lookup.c.
- Bugfix (introduced: Postfix 3.0): sanitize server responses
before storing them in the verify database, to avoid Postfix
warnings about malformed UTF8. File: verify/verify.c.
- Bugfix (introduced: Postfix 2.5): the Milter connect event
macros were evaluated before the Milter connection itself
had been negotiated. Problem reported by David Bürgin.
Files: milter/milter.h, milter/milter.c, milter/milter8.c
Scott K
diff -Nru postfix-3.4.8/debian/changelog postfix-3.4.9/debian/changelog
--- postfix-3.4.8/debian/changelog 2020-01-15 09:05:50.000000000 -0500
+++ postfix-3.4.9/debian/changelog 2020-02-16 01:30:10.000000000 -0500
@@ -1,3 +1,33 @@
+postfix (3.4.9-0+10debu1) buster; urgency=medium
+
+ [Scott Kitterman]
+
+ * Correct Debian's smtp (8) man page name in d/p/debian-man-name.diff for
+ lmtp. Closes: #920356
+ * Fix d/init.d running change so it works with multi-instance again - Thanks
+ to jaroslav@thinline.cz for the fix. Closes: #944922
+
+ [Wietse Venema]
+
+ * 3.4.9
+ - Bugfix (introduced: Postfix 3.1): support for
+ smtp_dns_resolver_options was broken while adding support
+ for negative DNS response caching in postscreen. Postfix
+ was inadvertently changed to call res_query() instead of
+ res_search(). Reported by Jaroslav Skarvada. File:
+ dns/dns_lookup.c.
+
+ - Bugfix (introduced: Postfix 3.0): sanitize server responses
+ before storing them in the verify database, to avoid Postfix
+ warnings about malformed UTF8. File: verify/verify.c.
+
+ - Bugfix (introduced: Postfix 2.5): the Milter connect event
+ macros were evaluated before the Milter connection itself
+ had been negotiated. Problem reported by David Bürgin.
+ Files: milter/milter.h, milter/milter.c, milter/milter8.c
+
+ -- Scott Kitterman <scott@kitterman.com> Sun, 16 Feb 2020 01:30:10 -0500
+
postfix (3.4.8-0+10debu1) buster; urgency=medium
[Scott Kitterman]
diff -Nru postfix-3.4.8/debian/init.d postfix-3.4.9/debian/init.d
--- postfix-3.4.8/debian/init.d 2020-01-15 09:02:40.000000000 -0500
+++ postfix-3.4.9/debian/init.d 2020-02-16 01:28:07.000000000 -0500
@@ -35,12 +35,14 @@
running() {
INSTANCE="$1"
if [ "X$INSTANCE" = X ]; then
- POSTCONF="postconf"
+ POSTMULTI=""
else
- POSTCONF="postmulti -i $INSTANCE -x postconf"
+ POSTMULTI="postmulti -i $INSTANCE -x "
fi
+ POSTCONF="${POSTMULTI} postconf"
+
daemon_directory=$($POSTCONF -hx daemon_directory 2>/dev/null || echo /usr/lib/postfix/sbin)
- if ! $daemon_directory/master -t 2>/dev/null ; then
+ if ! ${POSTMULTI} $daemon_directory/master -t 2>/dev/null ; then
echo y
fi
}
diff -Nru postfix-3.4.8/debian/patches/debian-man-name.diff postfix-3.4.9/debian/patches/debian-man-name.diff
--- postfix-3.4.8/debian/patches/debian-man-name.diff 2020-01-15 09:04:20.000000000 -0500
+++ postfix-3.4.9/debian/patches/debian-man-name.diff 2020-02-16 01:27:45.000000000 -0500
@@ -6,4 +6,4 @@
+++ postfix-dev/man/man8/lmtp.8 2019-02-16 02:46:57.254292885 -0500
@@ -1 +1 @@
-.so man8/smtp.8
-+.so man8/smtp.8debian
++.so man8/smtp.8postfix
diff -Nru postfix-3.4.8/HISTORY postfix-3.4.9/HISTORY
--- postfix-3.4.8/HISTORY 2019-11-11 18:01:20.000000000 -0500
+++ postfix-3.4.9/HISTORY 2020-02-02 12:51:46.000000000 -0500
@@ -24319,3 +24319,23 @@
now, the parser skips object types that it does not know
about for usability, and logs a warning because ignoring
inputs is not kosher. Viktor and Wietse. File: tls/tls_certkey.c.
+
+20191214
+
+ Bugfix (introduced: Postfix 3.1): support for
+ smtp_dns_resolver_options was broken while adding support
+ for negative DNS response caching in postscreen. Postfix
+ was inadvertently changed to call res_query() instead of
+ res_search(). Reported by Jaroslav Skarvada. File:
+ dns/dns_lookup.c.
+
+ Bugfix (introduced: Postfix 3.0): sanitize server responses
+ before storing them in the verify database, to avoid Postfix
+ warnings about malformed UTF8. File: verify/verify.c.
+
+20200115
+
+ Bugfix (introduced: Postfix 2.5): the Milter connect event
+ macros were evaluated before the Milter connection itself
+ had been negotiated. Problem reported by David Bürgin.
+ Files: milter/milter.h, milter/milter.c, milter/milter8.c
diff -Nru postfix-3.4.8/src/dns/dns_lookup.c postfix-3.4.9/src/dns/dns_lookup.c
--- postfix-3.4.8/src/dns/dns_lookup.c 2017-12-20 20:48:39.000000000 -0500
+++ postfix-3.4.9/src/dns/dns_lookup.c 2019-12-15 11:13:04.000000000 -0500
@@ -396,7 +396,7 @@
if (keep_notfound)
/* Prepare for returning a null-padded server reply. */
memset(answer, 0, anslen);
- len = res_query(name, class, type, answer, anslen);
+ len = res_search(name, class, type, answer, anslen);
/* Begin API creep workaround. */
if (len < 0 && h_errno == 0) {
SET_H_ERRNO(TRY_AGAIN);
diff -Nru postfix-3.4.8/src/global/mail_version.h postfix-3.4.9/src/global/mail_version.h
--- postfix-3.4.8/src/global/mail_version.h 2019-11-24 15:40:32.000000000 -0500
+++ postfix-3.4.9/src/global/mail_version.h 2020-02-02 15:13:52.000000000 -0500
@@ -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 "20191124"
-#define MAIL_VERSION_NUMBER "3.4.8"
+#define MAIL_RELEASE_DATE "20200203"
+#define MAIL_VERSION_NUMBER "3.4.9"
#ifdef SNAPSHOT
#define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE
diff -Nru postfix-3.4.8/src/milter/milter8.c postfix-3.4.9/src/milter/milter8.c
--- postfix-3.4.8/src/milter/milter8.c 2018-11-27 19:30:23.000000000 -0500
+++ postfix-3.4.9/src/milter/milter8.c 2020-02-02 12:37:46.000000000 -0500
@@ -1918,15 +1918,6 @@
#define STR_NE(x,y) (strcmp((x), (y)) != 0)
/*
- * XXX Sendmail 8 libmilter closes the MTA-to-filter socket when it finds
- * out that the SMTP client has disconnected. Because of this, Postfix
- * has to open a new MTA-to-filter socket for each SMTP client.
- */
-#ifdef LIBMILTER_AUTO_DISCONNECT
- milter8_connect(milter);
-#endif
-
- /*
* Report the event.
*/
switch (milter->state) {
@@ -2835,6 +2826,10 @@
/*
* Fill in the structure. Note: all strings must be copied.
+ *
+ * XXX Sendmail 8 libmilter closes the MTA-to-filter socket when it finds
+ * out that the SMTP client has disconnected. Because of this, Postfix
+ * has to open a new MTA-to-filter socket for each SMTP client.
*/
milter = (MILTER8 *) mymalloc(sizeof(*milter));
milter->m.name = mystrdup(name);
@@ -2842,6 +2837,11 @@
milter->m.next = 0;
milter->m.parent = parent;
milter->m.macros = 0;
+#ifdef LIBMILTER_AUTO_DISCONNECT
+ milter->m.connect_on_demand = (void (*) (struct MILTER *)) milter8_connect;
+#else
+ milter->m.connect_on_demand = 0;
+#endif
milter->m.conn_event = milter8_conn_event;
milter->m.helo_event = milter8_helo_event;
milter->m.mail_event = milter8_mail_event;
diff -Nru postfix-3.4.8/src/milter/milter.c postfix-3.4.9/src/milter/milter.c
--- postfix-3.4.8/src/milter/milter.c 2017-02-21 17:32:57.000000000 -0500
+++ postfix-3.4.9/src/milter/milter.c 2020-02-02 12:37:46.000000000 -0500
@@ -417,6 +417,8 @@
if (msg_verbose)
msg_info("report connect to all milters");
for (resp = 0, m = milters->milter_list; resp == 0 && m != 0; m = m->next) {
+ if (m->connect_on_demand != 0)
+ m->connect_on_demand(m);
any_macros = MILTER_MACRO_EVAL(global_macros, m, milters, conn_macros);
resp = m->conn_event(m, client_name, client_addr, client_port,
addr_family, any_macros);
diff -Nru postfix-3.4.8/src/milter/milter.h postfix-3.4.9/src/milter/milter.h
--- postfix-3.4.8/src/milter/milter.h 2016-06-11 18:17:03.000000000 -0400
+++ postfix-3.4.9/src/milter/milter.h 2020-02-02 12:37:46.000000000 -0500
@@ -35,6 +35,7 @@
struct MILTER *next; /* linkage */
struct MILTERS *parent; /* parent information */
struct MILTER_MACROS *macros; /* private macros */
+ void (*connect_on_demand) (struct MILTER *);
const char *(*conn_event) (struct MILTER *, const char *, const char *, const char *, unsigned, ARGV *);
const char *(*helo_event) (struct MILTER *, const char *, int, ARGV *);
const char *(*mail_event) (struct MILTER *, const char **, ARGV *);
diff -Nru postfix-3.4.8/src/verify/verify.c postfix-3.4.9/src/verify/verify.c
--- postfix-3.4.8/src/verify/verify.c 2019-02-03 14:17:14.000000000 -0500
+++ postfix-3.4.9/src/verify/verify.c 2019-12-14 20:16:04.000000000 -0500
@@ -401,6 +401,7 @@
|| STATUS_FROM_RAW_ENTRY(raw_data) != DEL_RCPT_STAT_OK) {
probed = 0;
updated = (long) time((time_t *) 0);
+ printable(STR(text), '?');
verify_make_entry(buf, addr_status, probed, updated, STR(text));
if (msg_verbose)
msg_info("PUT %s status=%d probed=%ld updated=%ld text=%s",
Reply to: