From: Wietse Venema Date: Sat, 18 Apr 2020 05:00:00 +0000 (-0500) Subject: postfix-3.2.14 X-Git-Tag: v3.2.14^0 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=655d0b67d8edaa3da48a88862da6b9c3b8cbb618;p=thirdparty%2Fpostfix.git postfix-3.2.14 --- diff --git a/postfix/HISTORY b/postfix/HISTORY index 399f87622..653bccb53 100644 --- a/postfix/HISTORY +++ b/postfix/HISTORY @@ -23265,3 +23265,17 @@ Apologies for any names omitted. 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. + +20200418 + + Bitrot: LINUX5, GLIBC resolver flags. Files: makedefs, + util/sys_defs.h, dns/dns_str_resflags.c. diff --git a/postfix/Makefile.in b/postfix/Makefile.in index 04efd1aac..b1c5cb831 100644 --- a/postfix/Makefile.in +++ b/postfix/Makefile.in @@ -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 --git a/postfix/makedefs b/postfix/makedefs index 7bfe82c91..3b3e86286 100644 --- a/postfix/makedefs +++ b/postfix/makedefs @@ -543,7 +543,7 @@ EOF : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"} : ${PLUGIN_LD="${CC-gcc} -shared"} ;; - Linux.[34].*) SYSTYPE=LINUX$RELEASE_MAJOR + Linux.[345].*) SYSTYPE=LINUX$RELEASE_MAJOR case "$CCARGS" in *-DNO_DB*) ;; *-DHAS_DB*) ;; @@ -1120,7 +1120,7 @@ esac : ${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 --git a/postfix/src/dns/dns.h b/postfix/src/dns/dns.h index 8ea5b9178..c2462b982 100644 --- a/postfix/src/dns/dns.h +++ b/postfix/src/dns/dns.h @@ -59,6 +59,7 @@ */ #ifdef NO_DNSSEC #undef RES_USE_DNSSEC +#undef RES_TRUSTAD #endif /* @@ -69,6 +70,9 @@ #endif #ifndef RES_USE_EDNS0 #define RES_USE_EDNS0 0 +#endif +#ifndef RES_TRUSTAD +#define RES_TRUSTAD 0 #endif /*- diff --git a/postfix/src/dns/dns_lookup.c b/postfix/src/dns/dns_lookup.c index 1bfeb7ee6..2ae64836a 100644 --- a/postfix/src/dns/dns_lookup.c +++ b/postfix/src/dns/dns_lookup.c @@ -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 @@ static int dns_query(const char *name, int type, unsigned flags, /* * 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 --git a/postfix/src/dns/dns_str_resflags.c b/postfix/src/dns/dns_str_resflags.c index 5f2cce5e0..df32345ad 100644 --- a/postfix/src/dns/dns_str_resflags.c +++ b/postfix/src/dns/dns_str_resflags.c @@ -60,10 +60,16 @@ static const LONG_NAME_MASK resflag_table[] = { "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 diff --git a/postfix/src/global/mail_version.h b/postfix/src/global/mail_version.h index 199d457aa..0e973f21f 100644 --- a/postfix/src/global/mail_version.h +++ b/postfix/src/global/mail_version.h @@ -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.2.13" +#define MAIL_RELEASE_DATE "20200418" +#define MAIL_VERSION_NUMBER "3.2.14" #ifdef SNAPSHOT #define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE diff --git a/postfix/src/util/sys_defs.h b/postfix/src/util/sys_defs.h index 3f570c46a..439ea9d23 100644 --- a/postfix/src/util/sys_defs.h +++ b/postfix/src/util/sys_defs.h @@ -748,7 +748,7 @@ extern int initgroups(const char *, int); /* * LINUX. */ -#if defined(LINUX2) || defined(LINUX3) || defined(LINUX4) +#if defined(LINUX2) || defined(LINUX3) || defined(LINUX4) || defined(LINUX5) #define SUPPORTED #define UINT32_TYPE unsigned int #define UINT16_TYPE unsigned short