]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-3.5-20191214
authorWietse Venema <wietse@porcupine.org>
Sat, 14 Dec 2019 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <postfix-users@dukhovni.org>
Fri, 20 Dec 2019 21:21:23 +0000 (16:21 -0500)
postfix/HISTORY
postfix/WISHLIST
postfix/src/dns/Makefile.in
postfix/src/dns/dns_lookup.c
postfix/src/dns/dnsbl_ttl_127.0.0.1_bind_ncache.ref
postfix/src/dns/dnsbl_ttl_127.0.0.1_bind_plain.ref
postfix/src/dns/dnsbl_ttl_127.0.0.2_bind_plain.ref
postfix/src/global/mail_params.h
postfix/src/global/mail_version.h
postfix/src/verify/verify.c

index 00c4ac06825b73e7545723d4cee4cbc3ec9c96c6..5fdba30d05d028ce80963200ff2158b79cc62307 100644 (file)
@@ -24474,12 +24474,31 @@ Apologies for any names omitted.
        qmgr/qmgr.c, qmgr/qmgr_active.c, smtp/smtp.c, smtpd/smtpd.c,
        smtpd/smtpd_check.c, virtual/virtual.c.
 
-       Workaround: the parser for key/certificate chain files
+       Usability: the parser for key/certificate chain files
        rejected inputs that contain an EC PARAMETERS object. While
        this is technically correct (the documentation says what
        types are allowed) this is surprising behavior because the
        legacy cert/key parameters will accept such inputs. For
        now, the parser skips object types that it does not know
-       about for inter-operability, and logs a warning because
-       ignoring inputs is not kosher. Viktor and Wietse. File:
-       tls/tls_certkey.c.
+       about usability, and logs a warning because ignoring inputs
+       is not kosher. Viktor and Wietse. File: tls/tls_certkey.c.
+
+20191201
+
+       Compatibility: added '_' to the milter_connect_macros default
+       value. Reportedly some software produces an ugly warning
+       message if Postfix does not send the macro, and there is
+       no harm in sending it. File: global/mail_params.h.
+
+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: sanitize server responses before storing them in
+       the verify database, to avoid Postfix warnings about malformed
+       UTF8. File: verify/verify.c.
index 4eb76f46659c17117db7afd6efaaa3047f07d7c2..fdf23be4c633fad5a672b0dd5783990a1c958569 100644 (file)
@@ -4,7 +4,7 @@ Wish list:
 
        transport policy protocol (clone of check_policy).
 
-       See also postscreen even-driven client for policy delegation
+       See also postscreen event-driven client for policy delegation
        below.
 
        smtp_line_length_limit can insert a line break in the middle
@@ -12,6 +12,8 @@ Wish list:
        so we can't simply look at the 8th bit). Also, note that a
        multi-byte character may span queue file record boundaries,
        for example if line_length_limit == smtp_line_length_limit.
+       The only way to fix this is to make the smtp_text_out()
+       routine aware of every possible multi-byte encoding.
 
        Replace ad-hoc code for pipe(8) flags handling, with
        infrastructure that was built for smtp(8).
index 1913bc3f001ffaf9cae66282730f32c639d308d7..aec91e0b5e2b656c4e7d42d5ddc94fcc6dd91dc9 100644 (file)
@@ -165,7 +165,6 @@ mxonly_test: test_dns_lookup mxonly_test.ref
 dnsbl_ttl_127.0.0.1_bind_plain_test: test_dns_lookup dnsbl_ttl_127.0.0.1_bind_plain.ref
        (set -e; \
         $(SHLIB_ENV) ./test_dns_lookup a 1.0.0.127.zen.spamhaus.org; \
-        $(SHLIB_ENV) ./test_dns_lookup a 1.0.0.127.b.barracudacentral.org; \
         $(SHLIB_ENV) ./test_dns_lookup a 1.0.0.127.bl.spamcop.net; \
        ) 2>&1 | $(DNSBL_NEXIST_REPLY_FIX) >dnsbl_ttl_127.0.0.1_bind_plain.tmp
        diff dnsbl_ttl_127.0.0.1_bind_plain.ref dnsbl_ttl_127.0.0.1_bind_plain.tmp
@@ -176,7 +175,6 @@ dnsbl_ttl_127.0.0.1_bind_plain_test: test_dns_lookup dnsbl_ttl_127.0.0.1_bind_pl
 dnsbl_ttl_127.0.0.1_priv_plain_test: test_dns_lookup dnsbl_ttl_127.0.0.1_bind_plain.ref
        (set -e; \
         $(SHLIB_ENV) ./test_dns_lookup -p a 1.0.0.127.zen.spamhaus.org; \
-        $(SHLIB_ENV) ./test_dns_lookup -p a 1.0.0.127.b.barracudacentral.org; \
         $(SHLIB_ENV) ./test_dns_lookup -p a 1.0.0.127.bl.spamcop.net; \
        ) 2>&1 | $(DNSBL_NEXIST_REPLY_FIX) >dnsbl_ttl_127.0.0.1_priv_plain.tmp
        diff dnsbl_ttl_127.0.0.1_bind_plain.ref dnsbl_ttl_127.0.0.1_priv_plain.tmp
@@ -187,7 +185,6 @@ dnsbl_ttl_127.0.0.1_priv_plain_test: test_dns_lookup dnsbl_ttl_127.0.0.1_bind_pl
 dnsbl_ttl_127.0.0.1_bind_ncache_test: test_dns_lookup dnsbl_ttl_127.0.0.1_bind_ncache.ref
        (set -e; \
         $(SHLIB_ENV) ./test_dns_lookup -n a 1.0.0.127.zen.spamhaus.org; \
-        $(SHLIB_ENV) ./test_dns_lookup -n a 1.0.0.127.b.barracudacentral.org; \
         $(SHLIB_ENV) ./test_dns_lookup -n a 1.0.0.127.bl.spamcop.net; \
        ) 2>&1 | $(DNSBL_NEXIST_REPLY_FIX) >dnsbl_ttl_127.0.0.1_bind_ncache.tmp
        diff dnsbl_ttl_127.0.0.1_bind_ncache.ref dnsbl_ttl_127.0.0.1_bind_ncache.tmp
@@ -198,7 +195,6 @@ dnsbl_ttl_127.0.0.1_bind_ncache_test: test_dns_lookup dnsbl_ttl_127.0.0.1_bind_n
 dnsbl_ttl_127.0.0.1_priv_ncache_test: test_dns_lookup dnsbl_ttl_127.0.0.1_bind_ncache.ref
        (set -e; \
         $(SHLIB_ENV) ./test_dns_lookup -n -p a 1.0.0.127.zen.spamhaus.org; \
-        $(SHLIB_ENV) ./test_dns_lookup -n -p a 1.0.0.127.b.barracudacentral.org; \
         $(SHLIB_ENV) ./test_dns_lookup -n -p a 1.0.0.127.bl.spamcop.net; \
        ) 2>&1 | $(DNSBL_NEXIST_REPLY_FIX) >dnsbl_ttl_127.0.0.1_priv_ncache.tmp
        diff dnsbl_ttl_127.0.0.1_bind_ncache.ref dnsbl_ttl_127.0.0.1_priv_ncache.tmp
@@ -209,7 +205,6 @@ dnsbl_ttl_127.0.0.1_priv_ncache_test: test_dns_lookup dnsbl_ttl_127.0.0.1_bind_n
 dnsbl_ttl_127.0.0.2_bind_plain_test: test_dns_lookup dnsbl_ttl_127.0.0.2_bind_plain.ref
        (set -e; \
         $(SHLIB_ENV) ./test_dns_lookup a 2.0.0.127.zen.spamhaus.org; \
-        $(SHLIB_ENV) ./test_dns_lookup a 2.0.0.127.b.barracudacentral.org; \
         $(SHLIB_ENV) ./test_dns_lookup a 2.0.0.127.bl.spamcop.net; \
        ) 2>&1 | $(DNSBL_EXIST_REPLY_FIX) >dnsbl_ttl_127.0.0.2_bind_plain.tmp
        diff dnsbl_ttl_127.0.0.2_bind_plain.ref dnsbl_ttl_127.0.0.2_bind_plain.tmp
@@ -220,7 +215,6 @@ dnsbl_ttl_127.0.0.2_bind_plain_test: test_dns_lookup dnsbl_ttl_127.0.0.2_bind_pl
 dnsbl_ttl_127.0.0.2_priv_plain_test: test_dns_lookup dnsbl_ttl_127.0.0.2_bind_plain.ref
        (set -e; \
         $(SHLIB_ENV) ./test_dns_lookup -p a 2.0.0.127.zen.spamhaus.org; \
-        $(SHLIB_ENV) ./test_dns_lookup -p a 2.0.0.127.b.barracudacentral.org; \
         $(SHLIB_ENV) ./test_dns_lookup -p a 2.0.0.127.bl.spamcop.net; \
        ) 2>&1 | $(DNSBL_EXIST_REPLY_FIX) >dnsbl_ttl_127.0.0.2_priv_plain.tmp
        diff dnsbl_ttl_127.0.0.2_bind_plain.ref dnsbl_ttl_127.0.0.2_priv_plain.tmp
@@ -231,7 +225,6 @@ dnsbl_ttl_127.0.0.2_priv_plain_test: test_dns_lookup dnsbl_ttl_127.0.0.2_bind_pl
 dnsbl_ttl_127.0.0.2_bind_ncache_test: test_dns_lookup dnsbl_ttl_127.0.0.2_bind_plain.ref
        (set -e; \
         $(SHLIB_ENV) ./test_dns_lookup -n a 2.0.0.127.zen.spamhaus.org; \
-        $(SHLIB_ENV) ./test_dns_lookup -n a 2.0.0.127.b.barracudacentral.org; \
         $(SHLIB_ENV) ./test_dns_lookup -n a 2.0.0.127.bl.spamcop.net; \
        ) 2>&1 | $(DNSBL_EXIST_REPLY_FIX) >dnsbl_ttl_127.0.0.2_bind_ncache.tmp
        diff dnsbl_ttl_127.0.0.2_bind_plain.ref dnsbl_ttl_127.0.0.2_bind_ncache.tmp
@@ -242,7 +235,6 @@ dnsbl_ttl_127.0.0.2_bind_ncache_test: test_dns_lookup dnsbl_ttl_127.0.0.2_bind_p
 dnsbl_ttl_127.0.0.2_priv_ncache_test: test_dns_lookup dnsbl_ttl_127.0.0.2_bind_plain.ref
        (set -e; \
         $(SHLIB_ENV) ./test_dns_lookup -n -p a 2.0.0.127.zen.spamhaus.org; \
-        $(SHLIB_ENV) ./test_dns_lookup -n -p a 2.0.0.127.b.barracudacentral.org; \
         $(SHLIB_ENV) ./test_dns_lookup -n -p a 2.0.0.127.bl.spamcop.net; \
        ) 2>&1 | $(DNSBL_EXIST_REPLY_FIX) >dnsbl_ttl_127.0.0.2_priv_ncache.tmp
        diff dnsbl_ttl_127.0.0.2_bind_plain.ref dnsbl_ttl_127.0.0.2_priv_ncache.tmp
index ae0ddadd798073aa7d8d6e631f742ee88e41dd4b..14aec33141e996df71eb3ae09255bc310ba0a625 100644 (file)
@@ -399,7 +399,7 @@ static int dns_res_search(const char *name, int class, int type,
     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);
index cbfc0593134144d1f306d7d8bad83a516bf7fa9f..af7b6bcff3548e0f5868f9179840f0fc537ef5ac 100644 (file)
@@ -4,9 +4,6 @@
 ./test_dns_lookup: warning: Host or domain name not found. Name service error for name=1.0.0.127.zen.spamhaus.org type=A: Host not found (rcode=3)
 1.0.0.127.zen.spamhaus.org: fqdn: zen.spamhaus.org
 ad: 0, rr: zen.spamhaus.org. TTL IN SOA - - D D D D D
-./test_dns_lookup: lookup 1.0.0.127.b.barracudacentral.org type A flags RES_USE_DNSSEC
-./test_dns_lookup: dns_query: 1.0.0.127.b.barracudacentral.org (A): Host not found
-./test_dns_lookup: warning: Host or domain name not found. Name service error for name=1.0.0.127.b.barracudacentral.org type=A: Host not found (rcode=3)
 ./test_dns_lookup: lookup 1.0.0.127.bl.spamcop.net type A flags RES_USE_DNSSEC
 ./test_dns_lookup: dns_query: 1.0.0.127.bl.spamcop.net (A): Host not found
 ./test_dns_lookup: dns_get_answer: type SOA for bl.spamcop.net
index eee08eb16fc3ed634d1192b96b51d1736e66bc07..b84554a0c2d68874f2a7632205bc9ad2a2d4f5d7 100644 (file)
@@ -1,9 +1,6 @@
 ./test_dns_lookup: lookup 1.0.0.127.zen.spamhaus.org type A flags RES_USE_DNSSEC
 ./test_dns_lookup: dns_query: 1.0.0.127.zen.spamhaus.org (A): Host not found
 ./test_dns_lookup: warning: Host or domain name not found. Name service error for name=1.0.0.127.zen.spamhaus.org type=A: Host not found (rcode=3)
-./test_dns_lookup: lookup 1.0.0.127.b.barracudacentral.org type A flags RES_USE_DNSSEC
-./test_dns_lookup: dns_query: 1.0.0.127.b.barracudacentral.org (A): Host not found
-./test_dns_lookup: warning: Host or domain name not found. Name service error for name=1.0.0.127.b.barracudacentral.org type=A: Host not found (rcode=3)
 ./test_dns_lookup: lookup 1.0.0.127.bl.spamcop.net type A flags RES_USE_DNSSEC
 ./test_dns_lookup: dns_query: 1.0.0.127.bl.spamcop.net (A): Host not found
 ./test_dns_lookup: warning: Host or domain name not found. Name service error for name=1.0.0.127.bl.spamcop.net type=A: Host not found (rcode=3)
index f1eb56b2d309c3bb2e4ec691271aafeb67e0a78d..81dd845d4743a33aa8e285e85fa4202a1282bd1d 100644 (file)
@@ -3,11 +3,6 @@
 ./test_dns_lookup: dns_get_answer: type A for 2.0.0.127.zen.spamhaus.org
 2.0.0.127.zen.spamhaus.org: fqdn: 2.0.0.127.zen.spamhaus.org
 ad: 0, rr: 2.0.0.127.zen.spamhaus.org. TTL IN A 127.0.0.D
-./test_dns_lookup: lookup 2.0.0.127.b.barracudacentral.org type A flags RES_USE_DNSSEC
-./test_dns_lookup: dns_query: 2.0.0.127.b.barracudacentral.org (A): OK
-./test_dns_lookup: dns_get_answer: type A for 2.0.0.127.b.barracudacentral.org
-2.0.0.127.b.barracudacentral.org: fqdn: 2.0.0.127.b.barracudacentral.org
-ad: 0, rr: 2.0.0.127.b.barracudacentral.org. TTL IN A 127.0.0.D
 ./test_dns_lookup: lookup 2.0.0.127.bl.spamcop.net type A flags RES_USE_DNSSEC
 ./test_dns_lookup: dns_query: 2.0.0.127.bl.spamcop.net (A): OK
 ./test_dns_lookup: dns_get_answer: type A for 2.0.0.127.bl.spamcop.net
index 5514fceca3a573bb4d1d9b71cb1cddcdfb54ba13..80088c5c04d6c1956a278b1fef870a46277f533c 100644 (file)
@@ -3362,7 +3362,7 @@ extern char *var_cleanup_milters;
 extern char *var_milt_def_action;
 
 #define VAR_MILT_CONN_MACROS           "milter_connect_macros"
-#define DEF_MILT_CONN_MACROS           "j {daemon_name} {daemon_addr} v"
+#define DEF_MILT_CONN_MACROS           "j {daemon_name} {daemon_addr} v _"
 extern char *var_milt_conn_macros;
 
 #define VAR_MILT_HELO_MACROS           "milter_helo_macros"
index da2a4b1eaa611855456ef8e572c62e7ff0193283..f60409a084dab8ecd523553cf6870ca6df792520 100644 (file)
@@ -20,7 +20,7 @@
   * Patches change both the patchlevel and the release date. Snapshots have no
   * patchlevel; they change the release date only.
   */
-#define MAIL_RELEASE_DATE      "20191109"
+#define MAIL_RELEASE_DATE      "20191214"
 #define MAIL_VERSION_NUMBER    "3.5"
 
 #ifdef SNAPSHOT
index ae185c0bfefc70e9ac0102bb35284db9a878dd39..148f2aa32eca01d10cd39a3cc43803d606ecec6f 100644 (file)
@@ -401,6 +401,7 @@ static void verify_update_service(VSTREAM *client_stream)
                || 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",