Package: release.debian.org Severity: normal Tags: buster User: release.debian....@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 jaros...@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 jaros...@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 <sc...@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",