]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-3.9-20240228
authorWietse Z Venema <wietse@porcupine.org>
Wed, 28 Feb 2024 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <ietf-dane@dukhovni.org>
Thu, 29 Feb 2024 02:03:25 +0000 (21:03 -0500)
postfix/HISTORY
postfix/WISHLIST
postfix/src/dns/dns_rr_test.c
postfix/src/dns/dns_strrecord.c
postfix/src/global/mail_addr_find.c
postfix/src/global/mail_version.h
postfix/src/postconf/test76.ref [new file with mode: 0644]

index 5505fdc0b2dc3a8844ba88ccf32f8959bb4efd88..a0c4ede22047297c9eb4a74911f4a64401d8fc76 100644 (file)
@@ -27934,3 +27934,11 @@ Apologies for any names omitted.
        Documentation: document the need to disable regular expression
        special characters when using $name inside an inlined
        pattern. Files: proto/pcre_table, proto/regexp_table.
+
+20240228
+
+       Cleanups. Fixed some dns_rr_create() calls in test code,
+       and reverted a workaround in the DNS record formatter;
+       files: dns/dns_rr_test.c, dns/dns_strrecord.c. Code formatting;
+       file: global/nail_addr_find.c. Added missing test reference;
+       file: postconf/test76.ref.
index 88c66fb1e8415caf0603c422fe485138bcb84a39..f3d9860a2288f33c164e764b5770401fd4a5d82a 100644 (file)
@@ -1,13 +1,15 @@
 Wish list:
 
-       The postconf command needs more mongodb tests.
-
        Things to do before the stable release:
 
        make pre-release-check, HTML validator check.
 
        Disable -DSNAPSHOT and -DNONPROD in makedefs.
 
+       The postconf command needs more mongodb tests.
+
+       The mongodb client needs tests.
+
        Remove .printfck directories, and remove printfck targets
        from Makefiles.
 
@@ -22,11 +24,6 @@ Wish list:
 
        Update DKIM examples for signing with the benefits of forced
        MIME converison with "force_mime_input_conversion = yes"
-       Deprecate permit_mx_backup. It is fundamentally incompatible
-       with recipient address validation. There is no way to fix that:
-       reject_unverified_recipient requires that the domain is reachable,
-       and in that case, permit_mx_backup is not needed.
 
        Scan Postfix code with github.com/googleprojectzero/weggli
        (depends on "rust").
@@ -46,9 +43,6 @@ Wish list:
        Multi-recipient support in sender/recipient_bcc_maps and
        always_bcc.
 
-       Test for dns_rr_copy() + dns_rr_free().
-
-
        mail_conf_xxx supprt for non-negative numbers (i.e. 
        numbers with a lower bound of zero).
 
index 562a3e5f0a51f595203ed0b0ddca820cae89a884..7bbe769270497d512fbfaf74fa49f279d9f81b02 100644 (file)
@@ -101,7 +101,7 @@ typedef struct TEST_CASE {
 
 static int eq_dns_rr_qname_differ(void)
 {
-    DNS_RR *got = dns_rr_create("qa", "ra", T_SRV, C_IN, 3600, 1, 25, 1, "mxa", 3);
+    DNS_RR *got = dns_rr_create("qa", "ra", T_SRV, C_IN, 3600, 1, 25, 1, "mxa", 4);
     DNS_RR *want = dns_rr_copy(got);
 
     myfree(want->qname);
@@ -111,7 +111,7 @@ static int eq_dns_rr_qname_differ(void)
 
 static int eq_dns_rr_reply_differ(void)
 {
-    DNS_RR *got = dns_rr_create("qa", "ra", T_SRV, C_IN, 3600, 1, 25, 1, "mxa", 3);
+    DNS_RR *got = dns_rr_create("qa", "ra", T_SRV, C_IN, 3600, 1, 25, 1, "mxa", 4);
     DNS_RR *want = dns_rr_copy(got);
 
     want->port += 1;
@@ -128,7 +128,7 @@ static int eq_dns_rr_reply_differ(void)
 
 static int eq_dns_rr_flags_differ(void)
 {
-    DNS_RR *got = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 3);
+    DNS_RR *got = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 4);
     DNS_RR *want = dns_rr_copy(got);
 
     want->flags |= DNS_RR_FLAG_TRUNCATED;
@@ -145,7 +145,7 @@ static int append_to_null_from_null(void)
 
 static int append_to_elem_from_null(void)
 {
-    DNS_RR *a = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 3);
+    DNS_RR *a = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 4);
     DNS_RR *got, *want;
 
     got = dns_rr_append(dns_rr_copy(a), (DNS_RR *) 0);
@@ -157,7 +157,7 @@ static int append_to_elem_from_null(void)
 
 static int appent_to_null_from_elem(void)
 {
-    DNS_RR *a = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 3);
+    DNS_RR *a = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 4);
     DNS_RR *got, *want;
 
     got = dns_rr_append((DNS_RR *) 0, dns_rr_copy(a));
@@ -169,8 +169,8 @@ static int appent_to_null_from_elem(void)
 
 static int append_to_elem_from_elem(void)
 {
-    DNS_RR *a = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 3);
-    DNS_RR *b = dns_rr_create_noport("qb", "rb", T_MX, C_IN, 3600, 1, "mxb", 3);
+    DNS_RR *a = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 4);
+    DNS_RR *b = dns_rr_create_noport("qb", "rb", T_MX, C_IN, 3600, 1, "mxb", 4);
     DNS_RR *got, *want;
 
     got = dns_rr_append(dns_rr_copy(a), dns_rr_copy(b));
@@ -182,9 +182,9 @@ static int append_to_elem_from_elem(void)
 
 static int append_to_elem_from_list(void)
 {
-    DNS_RR *a = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 3);
-    DNS_RR *b = dns_rr_create_noport("qb", "rb", T_MX, C_IN, 3600, 1, "mxb", 3);
-    DNS_RR *c = dns_rr_create_noport("qc", "rc", T_MX, C_IN, 3600, 1, "mxc", 3);
+    DNS_RR *a = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 4);
+    DNS_RR *b = dns_rr_create_noport("qb", "rb", T_MX, C_IN, 3600, 1, "mxb", 4);
+    DNS_RR *c = dns_rr_create_noport("qc", "rc", T_MX, C_IN, 3600, 1, "mxc", 4);
     DNS_RR *got, *want;
 
     got = dns_rr_append(dns_rr_copy(a),
@@ -198,9 +198,9 @@ static int append_to_elem_from_list(void)
 
 static int append_to_list_from_elem(void)
 {
-    DNS_RR *a = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 3);
-    DNS_RR *b = dns_rr_create_noport("qb", "rb", T_MX, C_IN, 3600, 1, "mxb", 3);
-    DNS_RR *c = dns_rr_create_noport("qc", "rc", T_MX, C_IN, 3600, 1, "mxc", 3);
+    DNS_RR *a = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 4);
+    DNS_RR *b = dns_rr_create_noport("qb", "rb", T_MX, C_IN, 3600, 1, "mxb", 4);
+    DNS_RR *c = dns_rr_create_noport("qc", "rc", T_MX, C_IN, 3600, 1, "mxc", 4);
     DNS_RR *got, *want;
 
     got = dns_rr_append(dns_rr_append(dns_rr_copy(a),
@@ -214,10 +214,10 @@ static int append_to_list_from_elem(void)
 
 static int append_to_list_from_list(void)
 {
-    DNS_RR *a = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 3);
-    DNS_RR *b = dns_rr_create_noport("qb", "rb", T_MX, C_IN, 3600, 1, "mxb", 3);
-    DNS_RR *c = dns_rr_create_noport("qc", "rc", T_MX, C_IN, 3600, 1, "mxc", 3);
-    DNS_RR *d = dns_rr_create_noport("qd", "rd", T_MX, C_IN, 3600, 1, "mxd", 3);
+    DNS_RR *a = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 4);
+    DNS_RR *b = dns_rr_create_noport("qb", "rb", T_MX, C_IN, 3600, 1, "mxb", 4);
+    DNS_RR *c = dns_rr_create_noport("qc", "rc", T_MX, C_IN, 3600, 1, "mxc", 4);
+    DNS_RR *d = dns_rr_create_noport("qd", "rd", T_MX, C_IN, 3600, 1, "mxd", 4);
     DNS_RR *got, *want;
 
     got = dns_rr_append(dns_rr_append(dns_rr_copy(a),
@@ -232,10 +232,10 @@ static int append_to_list_from_list(void)
 
 static int append_propagates_flags(void)
 {
-    DNS_RR *a = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 3);
-    DNS_RR *b = dns_rr_create_noport("qb", "rb", T_MX, C_IN, 3600, 1, "mxb", 3);
-    DNS_RR *c = dns_rr_create_noport("qc", "rc", T_MX, C_IN, 3600, 1, "mxc", 3);
-    DNS_RR *d = dns_rr_create_noport("qd", "rd", T_MX, C_IN, 3600, 1, "mxd", 3);
+    DNS_RR *a = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 4);
+    DNS_RR *b = dns_rr_create_noport("qb", "rb", T_MX, C_IN, 3600, 1, "mxb", 4);
+    DNS_RR *c = dns_rr_create_noport("qc", "rc", T_MX, C_IN, 3600, 1, "mxc", 4);
+    DNS_RR *d = dns_rr_create_noport("qd", "rd", T_MX, C_IN, 3600, 1, "mxd", 4);
     DNS_RR *left = dns_rr_append(dns_rr_copy(a), dns_rr_copy(b));
     DNS_RR *rite = dns_rr_append(dns_rr_copy(c), dns_rr_copy(d));
     DNS_RR *got, *want, *rr;
@@ -254,10 +254,10 @@ static int append_propagates_flags(void)
 
 static int append_to_list_from_list_truncate(void)
 {
-    DNS_RR *a = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 3);
-    DNS_RR *b = dns_rr_create_noport("qb", "rb", T_MX, C_IN, 3600, 1, "mxb", 3);
-    DNS_RR *c = dns_rr_create_noport("qc", "rc", T_MX, C_IN, 3600, 1, "mxc", 3);
-    DNS_RR *d = dns_rr_create_noport("qd", "rd", T_MX, C_IN, 3600, 1, "mxd", 3);
+    DNS_RR *a = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 4);
+    DNS_RR *b = dns_rr_create_noport("qb", "rb", T_MX, C_IN, 3600, 1, "mxb", 4);
+    DNS_RR *c = dns_rr_create_noport("qc", "rc", T_MX, C_IN, 3600, 1, "mxc", 4);
+    DNS_RR *d = dns_rr_create_noport("qd", "rd", T_MX, C_IN, 3600, 1, "mxd", 4);
     DNS_RR *got, *want, *rr;
 
     var_dns_rr_list_limit = 3;
@@ -274,10 +274,10 @@ static int append_to_list_from_list_truncate(void)
 
 static int append_to_list_from_elem_elem_truncate(void)
 {
-    DNS_RR *a = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 3);
-    DNS_RR *b = dns_rr_create_noport("qb", "rb", T_MX, C_IN, 3600, 1, "mxb", 3);
-    DNS_RR *c = dns_rr_create_noport("qc", "rc", T_MX, C_IN, 3600, 1, "mxc", 3);
-    DNS_RR *d = dns_rr_create_noport("qd", "rd", T_MX, C_IN, 3600, 1, "mxd", 3);
+    DNS_RR *a = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 4);
+    DNS_RR *b = dns_rr_create_noport("qb", "rb", T_MX, C_IN, 3600, 1, "mxb", 4);
+    DNS_RR *c = dns_rr_create_noport("qc", "rc", T_MX, C_IN, 3600, 1, "mxc", 4);
+    DNS_RR *d = dns_rr_create_noport("qd", "rd", T_MX, C_IN, 3600, 1, "mxd", 4);
     DNS_RR *got, *want, *rr;
 
     var_dns_rr_list_limit = 2;
@@ -295,9 +295,9 @@ static int append_to_list_from_elem_elem_truncate(void)
 
 static int append_to_list_from_elem_truncate(void)
 {
-    DNS_RR *a = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 3);
-    DNS_RR *b = dns_rr_create_noport("qb", "rb", T_MX, C_IN, 3600, 1, "mxb", 3);
-    DNS_RR *c = dns_rr_create_noport("qc", "rc", T_MX, C_IN, 3600, 1, "mxc", 3);
+    DNS_RR *a = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 4);
+    DNS_RR *b = dns_rr_create_noport("qb", "rb", T_MX, C_IN, 3600, 1, "mxb", 4);
+    DNS_RR *c = dns_rr_create_noport("qc", "rc", T_MX, C_IN, 3600, 1, "mxc", 4);
     DNS_RR *got, *want, *rr;
 
     var_dns_rr_list_limit = 2;
@@ -313,9 +313,9 @@ static int append_to_list_from_elem_truncate(void)
 
 static int append_to_elem_from_list_truncate(void)
 {
-    DNS_RR *a = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 3);
-    DNS_RR *b = dns_rr_create_noport("qb", "rb", T_MX, C_IN, 3600, 1, "mxb", 3);
-    DNS_RR *c = dns_rr_create_noport("qc", "rc", T_MX, C_IN, 3600, 1, "mxc", 3);
+    DNS_RR *a = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 4);
+    DNS_RR *b = dns_rr_create_noport("qb", "rb", T_MX, C_IN, 3600, 1, "mxb", 4);
+    DNS_RR *c = dns_rr_create_noport("qc", "rc", T_MX, C_IN, 3600, 1, "mxc", 4);
     DNS_RR *got, *want, *rr;
 
     var_dns_rr_list_limit = 2;
@@ -331,9 +331,9 @@ static int append_to_elem_from_list_truncate(void)
 
 static int append_to_list_from_elem_exact_fit(void)
 {
-    DNS_RR *a = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 3);
-    DNS_RR *b = dns_rr_create_noport("qb", "rb", T_MX, C_IN, 3600, 1, "mxb", 3);
-    DNS_RR *c = dns_rr_create_noport("qc", "rc", T_MX, C_IN, 3600, 1, "mxc", 3);
+    DNS_RR *a = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 4);
+    DNS_RR *b = dns_rr_create_noport("qb", "rb", T_MX, C_IN, 3600, 1, "mxb", 4);
+    DNS_RR *c = dns_rr_create_noport("qc", "rc", T_MX, C_IN, 3600, 1, "mxc", 4);
     DNS_RR *got, *want;
 
     var_dns_rr_list_limit = 3;
@@ -347,9 +347,9 @@ static int append_to_list_from_elem_exact_fit(void)
 
 static int append_to_elem_from_list_exact_fit(void)
 {
-    DNS_RR *a = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 3);
-    DNS_RR *b = dns_rr_create_noport("qb", "rb", T_MX, C_IN, 3600, 1, "mxb", 3);
-    DNS_RR *c = dns_rr_create_noport("qc", "rc", T_MX, C_IN, 3600, 1, "mxc", 3);
+    DNS_RR *a = dns_rr_create_noport("qa", "ra", T_MX, C_IN, 3600, 1, "mxa", 4);
+    DNS_RR *b = dns_rr_create_noport("qb", "rb", T_MX, C_IN, 3600, 1, "mxb", 4);
+    DNS_RR *c = dns_rr_create_noport("qc", "rc", T_MX, C_IN, 3600, 1, "mxc", 4);
     DNS_RR *got, *want;
 
     var_dns_rr_list_limit = 3;
index bddf535ddfc6a9da6bf9b5bfd01bff2d94bcb159..1e3b74389353f9540c22485a198d1f19610cf00c 100644 (file)
@@ -78,12 +78,11 @@ char   *dns_strrecord(VSTRING *buf, DNS_RR *rr)
        vstring_sprintf_append(buf, "%s", rr->data);
        break;
     case T_MX:
-       vstring_sprintf_append(buf, "%u %.*s.", rr->pref, 
-                              (int) rr->data_len, rr->data);
+       vstring_sprintf_append(buf, "%u %s.", rr->pref, rr->data);
        break;
     case T_SRV:
-       vstring_sprintf_append(buf, "%u %u %u %.*s.", rr->pref, rr->weight,
-                              rr->port, (int) rr->data_len, rr->data);
+       vstring_sprintf_append(buf, "%u %u %u %s.", rr->pref, rr->weight,
+                              rr->port, rr->data);
        break;
     case T_TLSA:
        if (rr->data_len >= 3) {
index afbccd521ab8980320510f0cd0c80ba36eb6aed1..c7e55455c03685ffcd18e214cdff1846842e7035 100644 (file)
@@ -442,8 +442,8 @@ const char *mail_addr_find_opt(MAPS *path, const char *address, char **extp,
     /*
      * Try localpart@ even if the domain is not local.
      */
-    if ((strategy & MA_FIND_LOCALPART_AT) != 0 \
-       &&result == 0 && path->error == 0)
+    if ((strategy & MA_FIND_LOCALPART_AT) != 0
+       && result == 0 && path->error == 0)
        result = find_local(path, ratsign, 1, int_full_key,
                            int_bare_key, query_form, extp, &saved_ext,
                            ext_addr_buf);
index b33624384dc2be239d269b5352d8ce754b00194d..02168f75cd7372cfaddfbc7c63c72029bd7d5561 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      "20240227"
+#define MAIL_RELEASE_DATE      "20240228"
 #define MAIL_VERSION_NUMBER    "3.9"
 
 #ifdef SNAPSHOT
diff --git a/postfix/src/postconf/test76.ref b/postfix/src/postconf/test76.ref
new file mode 100644 (file)
index 0000000..29297ff
--- /dev/null
@@ -0,0 +1,9 @@
+config_directory = .
+disable_dns_lookups = no
+lmtp_use_tls = no
+smtpd_tls_dh1024_param_file = auto
+./postconf: warning: ./main.cf: support for parameter disable_dns_lookups will be removed; instead, specify smtp_dns_support_level
+./postconf: warning: ./main.cf: support for parameter lmtp_use_tls will be removed; instead, specify lmtp_tls_security_level
+./postconf: warning: ./main.cf: support for parameter smtpd_tls_dh1024_param_file will be removed; instead, do not specify (leave at default)
+./postconf: warning: ./main.cf: support for parameter deleted-test-only has been removed; instead, do not specify
+./postconf: warning: ./master.cf: support for parameter smtp_enforce_tls will be removed; instead, specify smtp_tls_security_level