]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-3.11-20251029
authorWietse Z Venema <wietse@porcupine.org>
Wed, 29 Oct 2025 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <ietf-dane@dukhovni.org>
Wed, 29 Oct 2025 08:36:20 +0000 (19:36 +1100)
15 files changed:
postfix/HISTORY
postfix/README_FILES/DEPRECATION_README
postfix/html/DEPRECATION_README.html
postfix/html/postconf.5.html
postfix/html/postqueue.1.html
postfix/man/man1/postqueue.1
postfix/man/man5/postconf.5
postfix/proto/DEPRECATION_README.html
postfix/proto/postconf.proto
postfix/proto/stop.double-history
postfix/src/global/mail_version.h
postfix/src/postconf/Makefile.in
postfix/src/postconf/postconf_unused.c
postfix/src/postconf/test79.ref [new file with mode: 0644]
postfix/src/postqueue/postqueue.c

index 6262adf1a65313305fa8d1294810247f7ef15346..bd3cd5d0bb3c931420b1fe05005cba22d51054f6 100644 (file)
@@ -29739,3 +29739,14 @@ Apologies for any names omitted.
        documentation that has been obsolete since Postfix 2.11.
        Files: proto/postconf.proto, proto/DEPRECATION_README.html,
        postconf/postconf_unused.c.
+
+       Cleanup: Postfix version info for postqueue JSON output
+       features. File: postqueue/postqueue.c.
+
+       Cleanup: add missing unit tests for newly deprecated parameters.
+       Files: postconf/Makefile.in, postconf/test79.ref
+
+       Postpone the deprecation of the tls_eecdh_auto_curves and
+       tls_ffdhe_auto_groups parameters because doing this now
+       would make migration noisy. Files: proto/DEPRECATION_README.html,
+       proto/postconf.proto, postconf/postconf_unused.c.
index cb297e250403a59dd581c17d0e8cbc34b256c7f4..eccc37f9ee4497d1a301d824c4c21960c103a131 100644 (file)
@@ -82,12 +82,6 @@ the "obsolete feature" name for a more detailed description.
     |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
     |virtual_maps                            |  3.11 |    -  |virtual_alias_maps                  |
     |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
-    |tls_eecdh_auto_curves                   |  3.11 |    -  |do not specify with OpenSSL 3.5 or  |
-    |                                        |       |       |later                               |
-    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
-    |tls_ffdhe_auto_groups                   |  3.11 |    -  |do not specify with OpenSSL 3.5 or  |
-    |                                        |       |       |later                               |
-    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
     |smtp_cname_overrides_servername         |  3.11 |    -  |do not specify (leave at default)   |
     |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
     |lmtp_cname_overrides_servername         |  3.11 |    -  |do not specify (leave at default)   |
@@ -154,19 +148,6 @@ clutter and confusion
 To silence these warning messages, edit main.cf or master.cf, and replace each
 obsolete parameter name with its replacement.
 
-O\bOb\bbs\bso\bol\ble\bet\bte\be a\bau\but\bto\bo g\bgr\bro\bou\bup\bp/\b/c\bcu\bur\brv\bve\be c\bco\bon\bnf\bfi\big\bgu\bur\bra\bat\bti\bio\bon\bn
-
-The postconf(1) command logs one of the following:
-
-  * support for parameter "tls_eecdh_auto_curves" will be removed; instead, do
-    not specify with OpenSSL 3.5 or later
-  * support for parameter "tls_ffdhe_auto_groups" will be removed; instead, do
-    not specify with OpenSSL 3.5 or later
-
-The empty value is the default setting for both as of Postfix 3.11, when
-compiled with OpenSSL 3.5 or later. See tls_config_file for a configuration
-example
-
 O\bOb\bbs\bso\bol\ble\bet\bte\be C\bCN\bNA\bAM\bME\bE o\bov\bve\ber\brr\bri\bid\bde\be f\bfo\bor\br p\bpe\bee\ber\br n\bna\bam\bme\be c\bco\bon\bnf\bfi\big\bgu\bur\bra\bat\bti\bio\bon\bn
 
 The postconf(1) command logs one of the following:
index eb7c16c827ca6db2c6a3dd33375abc0b0c43e913..3960f7b86ef51e684aefcd84544f7a3c4e9111cf 100644 (file)
@@ -154,6 +154,8 @@ align="center"> 3.11 </td> <td align="center"> - </td> <td>
 3.11 </td> <td align="center"> - </td> <td> <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> </td>
 </tr>
 
+<!--
+
 <tr> <td> <a href="#tls_xdhx_auto">
 tls_eecdh_auto_curves </a> </td> <td align="center"> 3.11
 </td> <td align="center"> - </td> <td> do not specify with OpenSSL 3.5 or later
@@ -164,6 +166,8 @@ tls_ffdhe_auto_groups </a> </td> <td align="center"> 3.11
 </td> <td align="center"> - </td> <td> do not specify with OpenSSL 3.5 or later
 </td> </tr>
 
+-->
+
 <tr> <td> <a href="#cname_overrides_servername">
 smtp_cname_overrides_servername </a> </td> <td align="center"> 3.11
 </td> <td align="center"> - </td> <td> do not specify (leave at default)
@@ -279,6 +283,8 @@ eventually be removed to eliminate clutter and confusion  </p>
 <p> To silence these warning messages, edit <a href="postconf.5.html">main.cf</a> or <a href="master.5.html">master.cf</a>,
 and replace each obsolete parameter name with its replacement. </p>
 
+<!--
+
 <h3> <a name="tls_xdhx_auto"> Obsolete auto group/curve configuration
 </a> </h3>
 
@@ -298,6 +304,8 @@ instead, do not specify with OpenSSL 3.5 or later
 3.11, when compiled with OpenSSL 3.5 or later. See <a href="postconf.5.html#tls_config_file">tls_config_file</a>
 for a configuration example </p>
 
+-->
+
 <h3> <a name="cname_overrides_servername"> Obsolete CNAME override
 for peer name configuration </a> </h3>
 
index b13f6ca3d9051e48651f3c96a59330d39f5fce1e..359e046b6b38f6677560cf7759dc7bce8e3705ad 100644 (file)
@@ -20257,9 +20257,8 @@ MinProtocol = TLSv1
     <a href="postconf.5.html#tls_config_name">tls_config_name</a> = postfix
     # Clear Postfix curve/group settings to let OpenSSL settings take
     # effect.
-    # Uncomment only with Postfix &lt; 3.11 or OpenSSL &lt; 3.5.
-    # <a href="postconf.5.html#tls_eecdh_auto_curves">tls_eecdh_auto_curves</a> =
-    # <a href="postconf.5.html#tls_ffdhe_auto_groups">tls_ffdhe_auto_groups</a> =
+    <a href="postconf.5.html#tls_eecdh_auto_curves">tls_eecdh_auto_curves</a> =
+    <a href="postconf.5.html#tls_ffdhe_auto_groups">tls_ffdhe_auto_groups</a> =
 </pre>
 
 <pre>
index 4ef6188ec674041eefba6a584b5b62a90ea71d4c..a33319808a54e1c5e879584cb8417d132b3cce1f 100644 (file)
@@ -130,12 +130,10 @@ POSTQUEUE(1)                                                      POSTQUEUE(1)
               mately equal to the number of bytes that  would  be  transmitted
               via SMTP including the &lt;CR&gt;&lt;LF&gt; line endings.
 
-       <b>forced_expire</b>
+       <b>forced_expire</b> (Postfix &gt;= 3.5)
               The  message is forced to expire (<b>true</b> or <b>false</b>).  See the <a href="postsuper.1.html"><b>post-</b></a>
               <a href="postsuper.1.html"><b>super</b>(1)</a> options <b>-e</b> or <b>-f</b>.
 
-              This feature is available in Postfix 3.5 and later.
-
        <b>sender</b> The envelope sender address.
 
        <b>recipients</b>
@@ -144,7 +142,7 @@ POSTQUEUE(1)                                                      POSTQUEUE(1)
               <b>address</b>
                      One recipient address.
 
-              <b>orig_address</b>
+              <b>orig_address</b> (Postfix &gt;= 3.11)
                      One original recipient address.
 
               <b>delay_reason</b>
index 4959609d23ae0b27c2c15ef80219577c50011b1b..4d2b6d4b57ee0fc34e968e2f7cb15f98689ce505 100644 (file)
@@ -127,11 +127,9 @@ The number of bytes in the message header and body. This
 number does not include message envelope information. It
 is approximately equal to the number of bytes that would
 be transmitted via SMTP including the <CR><LF> line endings.
-.IP \fBforced_expire\fR
+.IP "\fBforced_expire\fR (Postfix >= 3.5)
 The message is forced to expire (\fBtrue\fR or \fBfalse\fR).
 See the \fBpostsuper\fR(1) options \fB\-e\fR or \fB\-f\fR.
-.sp
-This feature is available in Postfix 3.5 and later.
 .IP \fBsender\fR
 The envelope sender address.
 .IP \fBrecipients\fR
@@ -139,7 +137,7 @@ An array containing zero or more objects with members:
 .RS
 .IP \fBaddress\fR
 One recipient address.
-.IP \fBorig_address\fR
+.IP "\fBorig_address\fR (Postfix >= 3.11)
 One original recipient address.
 .IP \fBdelay_reason\fR
 If present, the reason for delayed delivery.  Delayed
index 7c824b4f78868e4261b10c60af25b1ed95403e90..87d39ab8ea15dd290a474f2e2d62c5aade573952 100644 (file)
@@ -14107,9 +14107,8 @@ main.cf:
     tls_config_name = postfix
     # Clear Postfix curve/group settings to let OpenSSL settings take
     # effect.
-    # Uncomment only with Postfix < 3.11 or OpenSSL < 3.5.
-    # tls_eecdh_auto_curves =
-    # tls_ffdhe_auto_groups =
+    tls_eecdh_auto_curves =
+    tls_ffdhe_auto_groups =
 .fi
 .ad
 .PP
index 8dbcb11fb92093d9184b9e0b1651845c83d89cf7..e9d68ed7ee6eff09daefffa054413b9633f05c9f 100644 (file)
@@ -154,6 +154,8 @@ tlsproxy_client_policy_maps </td> </tr>
 3.11 </td> <td align="center"> - </td> <td> virtual_alias_maps </td>
 </tr>
 
+<!--
+
 <tr> <td> <a href="#tls_xdhx_auto">
 tls_eecdh_auto_curves </a> </td> <td align="center"> 3.11
 </td> <td align="center"> - </td> <td> do not specify with OpenSSL 3.5 or later
@@ -164,6 +166,8 @@ tls_ffdhe_auto_groups </a> </td> <td align="center"> 3.11
 </td> <td align="center"> - </td> <td> do not specify with OpenSSL 3.5 or later
 </td> </tr>
 
+-->
+
 <tr> <td> <a href="#cname_overrides_servername">
 smtp_cname_overrides_servername </a> </td> <td align="center"> 3.11
 </td> <td align="center"> - </td> <td> do not specify (leave at default)
@@ -279,6 +283,8 @@ eventually be removed to eliminate clutter and confusion  </p>
 <p> To silence these warning messages, edit main.cf or master.cf,
 and replace each obsolete parameter name with its replacement. </p>
 
+<!--
+
 <h3> <a name="tls_xdhx_auto"> Obsolete auto group/curve configuration
 </a> </h3>
 
@@ -298,6 +304,8 @@ instead, do not specify with OpenSSL 3.5 or later
 3.11, when compiled with OpenSSL 3.5 or later. See tls_config_file
 for a configuration example </p>
 
+-->
+
 <h3> <a name="cname_overrides_servername"> Obsolete CNAME override
 for peer name configuration </a> </h3>
 
index c9733aee420ad78c70ff4e10da808cef3c6ac7d1..5f94cb366cb4ecfd2b4f48b00762f7a894152fd2 100644 (file)
@@ -19297,9 +19297,8 @@ main.cf:
     tls_config_name = postfix
     # Clear Postfix curve/group settings to let OpenSSL settings take
     # effect. 
-    # Uncomment only with Postfix &lt; 3.11 or OpenSSL &lt; 3.5.
-    # tls_eecdh_auto_curves =
-    # tls_ffdhe_auto_groups =
+    tls_eecdh_auto_curves =
+    tls_ffdhe_auto_groups =
 </pre>
 
 <pre>
index 89f28c530e39bc5d6e2e4ec03b304361d215e4f7..3534e30a55ad6a9cc1a623fc71b9972c0a199c6c 100644 (file)
@@ -206,3 +206,4 @@ proto  proto COMPATIBILITY_README html
  postqueue showq_compat c postqueue showq_json c showq showq c 
  role is received File tlsproxy tlsproxy c 
  Files proto postconf proto proto DEPRECATION_README html 
+ features File postqueue postqueue c 
index 0970dd8732ae7c6bc098688258c8de222c01e0c5..9c379e9eaa758254d7c1d435c2c37c6c52a9d7a6 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      "20251028"
+#define MAIL_RELEASE_DATE      "20251029"
 #define MAIL_VERSION_NUMBER    "3.11"
 
 #ifdef SNAPSHOT
index dcb5a78c05036b97e54a194c8d62b93aa8bea60c..f607792d745c165fda60b26122344830cf1e405b 100644 (file)
@@ -56,7 +56,7 @@ tests: test1 test2 test3 test4 test5 test6 test7 test8 test9 test10 test11 \
        test42 test43 test44 test45 test46 test47 test48 test49 test50 test51 \
        test52 test53 test54 test55 test56 test57 test58 test59 test60 test61 \
        test62 test63 test64 test65 test66 test67 test68 test69 test70 test71 \
-       test72 test73 test74 test75 test76 test78
+       test72 test73 test74 test75 test76 test78 test79
 
 root_tests:
 
@@ -1094,6 +1094,38 @@ test78:  $(PROG) test78.ref
        diff /dev/null test78.tmp
        rm -f main.cf master.cf test78.tmp
 
+# Warn about unused, deprecated, or deleted parameters.
+test79:        $(PROG) test79.ref
+       rm -f main.cf master.cf
+       touch main.cf master.cf
+       $(HTABLE_FIX) $(SHLIB_ENV) $(VALGRIND) ./$(PROG) -c. \
+           config_directory=. \
+           authorized_verp_clients=x \
+           fallback_relay=x \
+           lmtp_per_request_deadline=x \
+           postscreen_blacklist_action=x \
+           postscreen_dnsbl_ttl=x \
+           postscreen_dnsbl_whitelist_threshold=x \
+           postscreen_whitelist_interfaces=x \
+           smtpd_client_connection_limit_exceptions=x \
+           smtp_per_request_deadline=x \
+           tlsproxy_client_level=x \
+           tlsproxy_client_policy=x \
+           virtual_maps=x \
+           lmtp_cname_overrides_servername=x \
+           smtp_cname_overrides_servername=x \
+           >test79.tmp 2>&1
+       touch -t 197601010000 main.cf
+       echo foo unix - n n - 0 other >> master.cf
+       echo ' -o lmtp_tls_enforce_peername=no' >> master.cf
+       echo ' -o smtp_tls_enforce_peername=no' >> master.cf
+       touch -t 197601010000 master.cf
+       $(HTABLE_FIX) $(SHLIB_ENV) $(VALGRIND) ./$(PROG) -nc. >>test79.tmp 2>&1
+       diff test79.ref test79.tmp
+       $(HTABLE_FIX) $(SHLIB_ENV) $(VALGRIND) ./$(PROG) -qnc. >/dev/null 2>test79.tmp
+       diff /dev/null test79.tmp
+       rm -f main.cf master.cf test79.tmp
+
 clean:
        rm -f *.o *core $(PROG) $(TESTPROG) junk $(MAKES) $(AUTOS) $(DUMMIES) \
        $(TEST_TMP) $(DB_MAKES)
index fc6a07bf9d30ea835e6db31eefe3ff353b26ef58..c77c8b622b859a33181d223c13b5101178013c75 100644 (file)
@@ -117,7 +117,7 @@ static const PCF_DEPR_PARAM_INFO pcf_depr_param_info[] = {
     "tlsproxy_client_level", "specify \"tlsproxy_client_security_level\"",
     "tlsproxy_client_policy", "specify \"tlsproxy_client_policy_maps\"",
     "virtual_maps", "specify \"virtual_alias_maps\"",
-#if OPENSSL_VERSION_PREREQ(3,5)
+#if 0 && OPENSSL_VERSION_PREREQ(3,5)
     "tls_eecdh_auto_curves", "do not specify with OpenSSL 3.5 or later",
     "tls_ffdhe_auto_groups", "do not specify with OpenSSL 3.5 or later",
 #endif
diff --git a/postfix/src/postconf/test79.ref b/postfix/src/postconf/test79.ref
new file mode 100644 (file)
index 0000000..a9fe23e
--- /dev/null
@@ -0,0 +1,32 @@
+authorized_verp_clients = x
+config_directory = .
+fallback_relay = x
+lmtp_cname_overrides_servername = x
+lmtp_per_request_deadline = x
+postscreen_blacklist_action = x
+postscreen_dnsbl_ttl = x
+postscreen_dnsbl_whitelist_threshold = x
+postscreen_whitelist_interfaces = x
+smtp_cname_overrides_servername = x
+smtp_per_request_deadline = x
+smtpd_client_connection_limit_exceptions = x
+tlsproxy_client_level = x
+tlsproxy_client_policy = x
+virtual_maps = x
+./postconf: warning: ./main.cf: support for parameter "lmtp_per_request_deadline" will be removed; instead, specify "lmtp_per_request_deadline"
+./postconf: warning: ./main.cf: support for parameter "tlsproxy_client_policy" will be removed; instead, specify "tlsproxy_client_policy_maps"
+./postconf: warning: ./main.cf: support for parameter "virtual_maps" will be removed; instead, specify "virtual_alias_maps"
+./postconf: warning: ./main.cf: support for parameter "authorized_verp_clients" will be removed; instead, specify "smtpd_authorized_verp_clients"
+./postconf: warning: ./main.cf: support for parameter "tlsproxy_client_level" will be removed; instead, specify "tlsproxy_client_security_level"
+./postconf: warning: ./main.cf: support for parameter "smtpd_client_connection_limit_exceptions" will be removed; instead, specify "smtpd_client_event_limit_exceptions"
+./postconf: warning: ./main.cf: support for parameter "postscreen_whitelist_interfaces" will be removed; instead, specify "postscreen_allowlist_interfaces"
+./postconf: warning: ./main.cf: support for parameter "fallback_relay" will be removed; instead, specify "smtp_fallback_relay"
+./postconf: warning: ./main.cf: support for parameter "postscreen_dnsbl_ttl" will be removed; instead, specify "postscreen_dnsbl_max_ttl"
+./postconf: warning: ./main.cf: support for parameter "lmtp_cname_overrides_servername" will be removed; instead, do not specify
+./postconf: warning: ./main.cf: support for parameter "smtp_cname_overrides_servername" will be removed; instead, do not specify
+./postconf: warning: ./main.cf: support for parameter "postscreen_dnsbl_whitelist_threshold" will be removed; instead, specify "postscreen_dnsbl_allowlist_threshold"
+./postconf: warning: ./main.cf: support for parameter "postscreen_blacklist_action" will be removed; instead, specify "postscreen_denylist_action"
+./postconf: warning: ./main.cf: support for parameter "smtp_per_request_deadline" will be removed; instead, specify "smtp_per_request_deadline"
+./postconf: warning: ./master.cf: support for parameter "smtp_tls_enforce_peername" will be removed; instead, specify "smtp_tls_security_level"
+./postconf: warning: ./master.cf: support for parameter "lmtp_tls_enforce_peername" will be removed; instead, specify "lmtp_tls_security_level"
+./postconf: warning: See https://www.postfix.org/DEPRECATION_README.html for details
index 6c376416f22df6a810307000b7359bacf59675ec..7f20a98666f516cbae173bd8306da0681d23dd88 100644 (file)
 /*     number does not include message envelope information. It
 /*     is approximately equal to the number of bytes that would
 /*     be transmitted via SMTP including the <CR><LF> line endings.
-/* .IP \fBforced_expire\fR
+/* .IP "\fBforced_expire\fR (Postfix >= 3.5)
 /*     The message is forced to expire (\fBtrue\fR or \fBfalse\fR).
 /*     See the \fBpostsuper\fR(1) options \fB-e\fR or \fB-f\fR.
-/* .sp
-/*     This feature is available in Postfix 3.5 and later.
 /* .IP \fBsender\fR
 /*     The envelope sender address.
 /* .IP \fBrecipients\fR
 /* .RS
 /* .IP \fBaddress\fR
 /*     One recipient address.
-/* .IP \fBorig_address\fR
+/* .IP "\fBorig_address\fR (Postfix >= 3.11)
 /*     One original recipient address.
 /* .IP \fBdelay_reason\fR
 /*     If present, the reason for delayed delivery.  Delayed