Prereq: "3.4.10" diff -ur --new-file /var/tmp/postfix-3.4.10/src/global/mail_version.h ./src/global/mail_version.h --- /var/tmp/postfix-3.4.10/src/global/mail_version.h 2020-03-12 10:52:04.000000000 -0400 +++ ./src/global/mail_version.h 2020-04-18 11:19:31.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 "20200312" -#define MAIL_VERSION_NUMBER "3.4.10" +#define MAIL_RELEASE_DATE "20200418" +#define MAIL_VERSION_NUMBER "3.4.11" #ifdef SNAPSHOT #define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE diff -ur --new-file /var/tmp/postfix-3.4.10/HISTORY ./HISTORY --- /var/tmp/postfix-3.4.10/HISTORY 2020-03-12 10:58:26.000000000 -0400 +++ ./HISTORY 2020-04-18 11:28:37.000000000 -0400 @@ -24346,3 +24346,12 @@ multi-Milter configuration during MAIL FROM. Milter client state was not properly reset after one of the Milters failed. Reported by WeiYu Wu. + +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. diff -ur --new-file /var/tmp/postfix-3.4.10/Makefile.in ./Makefile.in --- /var/tmp/postfix-3.4.10/Makefile.in 2019-01-29 17:24:42.000000000 -0500 +++ ./Makefile.in 2020-04-18 11:25:46.000000000 -0400 @@ -1,5 +1,5 @@ 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 -ur --new-file /var/tmp/postfix-3.4.10/makedefs ./makedefs --- /var/tmp/postfix-3.4.10/makedefs 2019-03-10 19:42:59.000000000 -0400 +++ ./makedefs 2020-04-18 11:22:53.000000000 -0400 @@ -1136,7 +1136,7 @@ : ${CC=gcc} ${OPT='-O'} ${DEBUG='-g'} ${AWK=awk} \ ${WARN='-Wall -Wno-comment -Wformat -Wimplicit -Wmissing-prototypes \ -Wparentheses -Wstrict-prototypes -Wswitch -Wuninitialized \ - -Wunused -Wno-missing-braces'} + -Wunused -Wno-missing-braces -fcommon'} # Extract map type names from -DHAS_XXX compiler options. We avoid # problems with tr(1) range syntax by using enumerations instead, diff -ur --new-file /var/tmp/postfix-3.4.10/src/dns/dns.h ./src/dns/dns.h --- /var/tmp/postfix-3.4.10/src/dns/dns.h 2017-12-27 17:29:44.000000000 -0500 +++ ./src/dns/dns.h 2020-04-18 11:22:54.000000000 -0400 @@ -59,6 +59,7 @@ */ #ifdef NO_DNSSEC #undef RES_USE_DNSSEC +#undef RES_TRUSTAD #endif /* @@ -70,6 +71,9 @@ #ifndef RES_USE_EDNS0 #define RES_USE_EDNS0 0 #endif +#ifndef RES_TRUSTAD +#define RES_TRUSTAD 0 +#endif /*- * TLSA: https://tools.ietf.org/html/rfc6698#section-7.1 diff -ur --new-file /var/tmp/postfix-3.4.10/src/dns/dns_lookup.c ./src/dns/dns_lookup.c --- /var/tmp/postfix-3.4.10/src/dns/dns_lookup.c 2019-12-15 11:13:04.000000000 -0500 +++ ./src/dns/dns_lookup.c 2020-04-18 11:22:54.000000000 -0400 @@ -116,6 +116,9 @@ /* Request DNSSEC validation. This flag is silently ignored /* when the system stub resolver API, resolver(3), does not /* implement DNSSEC. +/* Automatically turns on the RES_TRUSTAD flag on systems that +/* support this flag (this behavior will be more configurable +/* in a later release). /* .RE /* .IP lflags /* Flags that control the operation of the dns_lookup*() @@ -453,10 +456,10 @@ /* * Set extra options that aren't exposed to the application. */ -#define XTRA_FLAGS (RES_USE_EDNS0) +#define XTRA_FLAGS (RES_USE_EDNS0 | RES_TRUSTAD) if (flags & RES_USE_DNSSEC) - flags |= RES_USE_EDNS0; + flags |= (RES_USE_EDNS0 | RES_TRUSTAD); /* * Save and restore resolver options that we overwrite, to avoid diff -ur --new-file /var/tmp/postfix-3.4.10/src/dns/dns_str_resflags.c ./src/dns/dns_str_resflags.c --- /var/tmp/postfix-3.4.10/src/dns/dns_str_resflags.c 2016-05-15 11:20:14.000000000 -0400 +++ ./src/dns/dns_str_resflags.c 2020-04-18 13:06:43.000000000 -0400 @@ -60,10 +60,16 @@ "RES_DEFNAMES", RES_DEFNAMES, "RES_STAYOPEN", RES_STAYOPEN, "RES_DNSRCH", RES_DNSRCH, +#ifdef RES_INSECURE1 "RES_INSECURE1", RES_INSECURE1, +#endif +#ifdef RES_INSECURE2 "RES_INSECURE2", RES_INSECURE2, +#endif "RES_NOALIASES", RES_NOALIASES, +#ifdef RES_USE_INET6 "RES_USE_INET6", RES_USE_INET6, +#endif #ifdef RES_ROTATE "RES_ROTATE", RES_ROTATE, #endif