Source-Changes-HG archive

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

[src/trunk]: src/external/ibm-public/postfix/dist Postfix versions 3.5.2, 3.4...



details:   https://anonhg.NetBSD.org/src/rev/6c2a0fa129e7
branches:  trunk
changeset: 933509:6c2a0fa129e7
user:      christos <christos%NetBSD.org@localhost>
date:      Mon May 25 23:40:25 2020 +0000

description:
Postfix versions 3.5.2, 3.4.12, 3.3.10, 3.2.15:

A TLS error for a database client caused a false 'lost connection'
error for an SMTP over TLS session in the same Postfix process.
Reported by Alexander Vasarab, diagnosed by Viktor Dukhovni. This
bug was introduced with Postfix 2.2.

The same bug existed in the tlsproxy(8) daemon, where a TLS error
for one TLS session could cause a false 'lost connection' error
for a concurrent TLS session in the same process. This bug was
introduced with Postfix 2.8.

The Postfix build now disables DANE support on Linux systems with
libc-musl such as Alpine, because libc-musl provides no indication
whether DNS responses are authentic. This broke DANE support without
a clear explanation.

Due to implementation changes in the ICU library, some Postfix
daemons reported file access errrors (U_FILE_ACCESS_ERROR) after
chroot(). This was fixed by initializing the ICU library before
making the chroot() call.

Minor code changes to silence a compiler that special-cases string literals.

Postfix 3.5.2, 3.4.12:

Segfault (null pointer) in the tlsproxy(8) client role when the
server role was disabled. This typically happened on systems that
do not receive mail, after configuring connection reuse for outbound
SMTP over TLS.

The date portion of the maillog_file_rotate_suffix default value
used the minute (%M) instead of the month (%m). Reported by Larry
Stone.

Postfix versions 3.5.1, 3.4.11, 3.3.9, 3.2.14:

Bitrot workaround for broken builds after an incompatible change in GCC 10.

Bitrot workaround for broken DANE/DNSSEC support after an incompatible
change in GLIBC 2.31.  This change avoids the need for new options
in /etc/resolv.conf.

Postfix 3.3.9, 3.2.14:

Bitrot workarounds for Linux 5 and GLIBC resolver flags.

diffstat:

 external/ibm-public/postfix/dist/HISTORY                     |  68 +++++++++++-
 external/ibm-public/postfix/dist/Makefile.in                 |   2 +-
 external/ibm-public/postfix/dist/README_FILES/MAILLOG_README |   2 +-
 external/ibm-public/postfix/dist/README_FILES/RELEASE_NOTES  |   8 +
 external/ibm-public/postfix/dist/RELEASE_NOTES               |   8 +
 external/ibm-public/postfix/dist/html/MAILLOG_README.html    |   2 +-
 external/ibm-public/postfix/dist/html/postfix.1.html         |   2 +-
 external/ibm-public/postfix/dist/proto/MAILLOG_README.html   |   2 +-
 external/ibm-public/postfix/dist/src/tls/tls_bio_ops.c       |   9 +-
 9 files changed, 96 insertions(+), 7 deletions(-)

diffs (201 lines):

diff -r f5c98a7a6c76 -r 6c2a0fa129e7 external/ibm-public/postfix/dist/HISTORY
--- a/external/ibm-public/postfix/dist/HISTORY  Mon May 25 23:23:09 2020 +0000
+++ b/external/ibm-public/postfix/dist/HISTORY  Mon May 25 23:40:25 2020 +0000
@@ -24663,7 +24663,7 @@
 
        Usability: the Postfix SMTP server now logs a warning when
        a configuration requests access control by client certificate,
-       but "smtpd_tls_ask_clientcert = no".  Files: proto/postconf.proto,
+       but "smtpd_tls_ask_ccert = no". Files: proto/postconf.proto,
        smtpd/smtpd_check.c.
 
 20200316
@@ -24671,3 +24671,69 @@
        Removed the issuer_cn and subject_cn matches from
        check_ccert_access. Files: smtpd/smtpd_check.c,
        proto/postconf.proto.
+
+20200416
+
+       Workaround for broken builds after an incompatible change
+       in GCC 10. Files: makedefs, Makefile.in.
+
+       Workaround for broken DANE support after an incompatible
+       change in GLIBC 2.31. This avoids the need for new options
+       in /etc/resolv.conf. Files: dns/dns.h, dns/dns_lookup.c.
+
+20200419
+
+       Bugfix: segfault in the tlsproxy client role when the server
+       role was disabled. This typically happens on systems that
+       do not receive mail, after configuring connection reuse for
+       outbound TLS. Found during program maintenance. File:
+       tlsproxy/tlsproxy.c.
+
+20200420
+
+       Noise suppression: shut up a compiler that special-cases
+       string literals. Viktor Dukhovni. File milter/milter.c.
+
+20200422
+
+       Security: disable DANE support on Alpine Linux because
+       libc-musl provides no indication whether DNS responses are
+       authentic. This broke DANE support without a clear explanation.
+       File: makedefs.
+
+20200505
+
+       Noise suppression: shut up a compiler that special-cases
+       string literals. Viktor Dukhovni. File smtpd/smtpd_check.c.
+
+20200509
+
+       Bugfix (introduced: Postfix 3.5): maillog_file_rotate_suffix
+       default value used the minute instead of the month. Reported
+       by Larry Stone. Files: conf/postfix-tls-script,
+       proto/MAILLOG_README.html, proto/postconf.proto.
+       global/mail_params.h, postfix/postfix.c.
+
+20200510
+
+       Bitrot: avoid U_FILE_ACCESS_ERROR after chroot(), by
+       initializing the ICU library before making the chroot()
+       call. Files: util/midna_domain.[hc], global/mail_params.c.
+
+20200511
+
+       Noise suppression: avoid "SSL_Shutdown:shutdown while in
+       init" warnings. File: tls/tls_session.c.
+
+20200515
+
+       Bugfix (introduced: Postfix 2.2): a TLS error for a PostgreSQL
+       client caused a false 'lost connection' error for an SMTP
+       over TLS session in the same Postfix process. Reported by
+       Alexander Vasarab, diagnosed by Viktor Dukhovni. File:
+       tls/tls_bio_ops.c.
+
+       Bugfix (introduced: Postfix 2.8): a TLS error for one TLS
+       session may cause a false 'lost connection' error for a
+       concurrent TLS session in the same tlsproxy process. File:
+       tlsproxy/tlsproxy.c.
diff -r f5c98a7a6c76 -r 6c2a0fa129e7 external/ibm-public/postfix/dist/Makefile.in
--- a/external/ibm-public/postfix/dist/Makefile.in      Mon May 25 23:23:09 2020 +0000
+++ b/external/ibm-public/postfix/dist/Makefile.in      Mon May 25 23:40:25 2020 +0000
@@ -1,7 +1,7 @@
 # To test with valgrind:
 # make -i tests VALGRIND="valgrind --tool=memcheck --log-file=/some/where.%p" 
 SHELL  = /bin/sh
-WARN    = -Wmissing-prototypes -Wformat -Wno-comment
+WARN    = -Wmissing-prototypes -Wformat -Wno-comment -fcommon
 OPTS   = 'WARN=$(WARN)'
 DIRS   = src/util src/global src/dns src/tls src/xsasl src/master src/milter \
        src/postfix src/fsstone src/smtpstone \
diff -r f5c98a7a6c76 -r 6c2a0fa129e7 external/ibm-public/postfix/dist/README_FILES/MAILLOG_README
--- a/external/ibm-public/postfix/dist/README_FILES/MAILLOG_README      Mon May 25 23:23:09 2020 +0000
+++ b/external/ibm-public/postfix/dist/README_FILES/MAILLOG_README      Mon May 25 23:40:25 2020 +0000
@@ -64,7 +64,7 @@
 
   * Rename the current logfile by appending a suffix that contains the date and
     time. This suffix is configured with the maillog_file_rotate_suffix
-    parameter (default: %Y%M%d-%H%M%S).
+    parameter (default: %Y%m%d-%H%M%S).
 
   * Reload Postfix so that postlogd(8) immediately closes the old logfile.
 
diff -r f5c98a7a6c76 -r 6c2a0fa129e7 external/ibm-public/postfix/dist/README_FILES/RELEASE_NOTES
--- a/external/ibm-public/postfix/dist/README_FILES/RELEASE_NOTES       Mon May 25 23:23:09 2020 +0000
+++ b/external/ibm-public/postfix/dist/README_FILES/RELEASE_NOTES       Mon May 25 23:40:25 2020 +0000
@@ -25,6 +25,14 @@
 the software under the license of their choice. Those who are more
 comfortable with the IPL can continue with that license.
 
+libc-musl workaround for Postfix 3.2.15, 3.3.10, 3.4.12, and 3.5.2
+------------------------------------------------------------------
+
+Security: this release disables DANE support on Linux systems with
+libc-musl, because libc-musl provides no indication whether DNS
+responses are authentic. This broke DANE support without a clear
+explanation.
+
 Major changes - multiple relayhost in SMTP
 ------------------------------------------
 
diff -r f5c98a7a6c76 -r 6c2a0fa129e7 external/ibm-public/postfix/dist/RELEASE_NOTES
--- a/external/ibm-public/postfix/dist/RELEASE_NOTES    Mon May 25 23:23:09 2020 +0000
+++ b/external/ibm-public/postfix/dist/RELEASE_NOTES    Mon May 25 23:40:25 2020 +0000
@@ -25,6 +25,14 @@
 the software under the license of their choice. Those who are more
 comfortable with the IPL can continue with that license.
 
+libc-musl workaround for Postfix 3.2.15, 3.3.10, 3.4.12, and 3.5.2
+------------------------------------------------------------------
+
+Security: this release disables DANE support on Linux systems with
+libc-musl, because libc-musl provides no indication whether DNS
+responses are authentic. This broke DANE support without a clear
+explanation.
+
 Major changes - multiple relayhost in SMTP
 ------------------------------------------
 
diff -r f5c98a7a6c76 -r 6c2a0fa129e7 external/ibm-public/postfix/dist/html/MAILLOG_README.html
--- a/external/ibm-public/postfix/dist/html/MAILLOG_README.html Mon May 25 23:23:09 2020 +0000
+++ b/external/ibm-public/postfix/dist/html/MAILLOG_README.html Mon May 25 23:40:25 2020 +0000
@@ -114,7 +114,7 @@
 
 <li> <p> Rename the current logfile by appending a suffix that
 contains the date and time. This suffix is configured with the
-<a href="postconf.5.html#maillog_file_rotate_suffix">maillog_file_rotate_suffix</a> parameter (default: %Y%M%d-%H%M%S). </p>
+<a href="postconf.5.html#maillog_file_rotate_suffix">maillog_file_rotate_suffix</a> parameter (default: %Y%m%d-%H%M%S). </p>
 
 <li> <p> Reload Postfix so that <a href="postlogd.8.html">postlogd(8)</a> immediately closes the
 old logfile. </p>
diff -r f5c98a7a6c76 -r 6c2a0fa129e7 external/ibm-public/postfix/dist/html/postfix.1.html
--- a/external/ibm-public/postfix/dist/html/postfix.1.html      Mon May 25 23:23:09 2020 +0000
+++ b/external/ibm-public/postfix/dist/html/postfix.1.html      Mon May 25 23:40:25 2020 +0000
@@ -285,7 +285,7 @@
        <b><a href="postconf.5.html#maillog_file_prefixes">maillog_file_prefixes</a> (/var, /dev/stdout)</b>
               A list of allowed prefixes for a <a href="postconf.5.html#maillog_file">maillog_file</a> value.
 
-       <b><a href="postconf.5.html#maillog_file_rotate_suffix">maillog_file_rotate_suffix</a> (%Y%M%d-%H%M%S)</b>
+       <b><a href="postconf.5.html#maillog_file_rotate_suffix">maillog_file_rotate_suffix</a> (%Y%m%d-%H%M%S)</b>
               The format of the suffix to append to $<a href="postconf.5.html#maillog_file">maillog_file</a> while rotat-
               ing the file with "postfix logrotate".
 
diff -r f5c98a7a6c76 -r 6c2a0fa129e7 external/ibm-public/postfix/dist/proto/MAILLOG_README.html
--- a/external/ibm-public/postfix/dist/proto/MAILLOG_README.html        Mon May 25 23:23:09 2020 +0000
+++ b/external/ibm-public/postfix/dist/proto/MAILLOG_README.html        Mon May 25 23:40:25 2020 +0000
@@ -114,7 +114,7 @@
 
 <li> <p> Rename the current logfile by appending a suffix that
 contains the date and time. This suffix is configured with the
-maillog_file_rotate_suffix parameter (default: %Y%M%d-%H%M%S). </p>
+maillog_file_rotate_suffix parameter (default: %Y%m%d-%H%M%S). </p>
 
 <li> <p> Reload Postfix so that postlogd(8) immediately closes the
 old logfile. </p>
diff -r f5c98a7a6c76 -r 6c2a0fa129e7 external/ibm-public/postfix/dist/src/tls/tls_bio_ops.c
--- a/external/ibm-public/postfix/dist/src/tls/tls_bio_ops.c    Mon May 25 23:23:09 2020 +0000
+++ b/external/ibm-public/postfix/dist/src/tls/tls_bio_ops.c    Mon May 25 23:40:25 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: tls_bio_ops.c,v 1.1.1.5 2014/07/06 19:27:54 tron Exp $ */
+/*     $NetBSD: tls_bio_ops.c,v 1.1.1.6 2020/05/25 23:40:34 christos Exp $     */
 
 /*++
 /* NAME
@@ -196,6 +196,13 @@
      * handling any pending network I/O.
      */
     for (;;) {
+
+       /*
+        * Flush the per-thread SSL error queue. Otherwise, errors from other
+        * code that also uses TLS may confuse SSL_get_error(3).
+        */
+       ERR_clear_error();
+
        if (hsfunc)
            status = hsfunc(TLScontext->con);
        else if (rfunc)



Home | Main Index | Thread Index | Old Index