]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-3.11-20251028
authorWietse Z Venema <wietse@porcupine.org>
Tue, 28 Oct 2025 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <ietf-dane@dukhovni.org>
Wed, 29 Oct 2025 08:35:50 +0000 (19:35 +1100)
28 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/mantools/check-postconf-unimplemented
postfix/mantools/postlink
postfix/proto/DEPRECATION_README.html
postfix/proto/postconf.proto
postfix/proto/stop.double-history
postfix/proto/stop.spell-cc
postfix/src/global/mail_params.h
postfix/src/global/mail_version.h
postfix/src/postconf/postconf.c
postfix/src/postconf/postconf.h
postfix/src/postconf/postconf_unused.c
postfix/src/postconf/test18.ref
postfix/src/postconf/test76.ref
postfix/src/postconf/test78.ref
postfix/src/postqueue/postqueue.c
postfix/src/postqueue/showq_compat.c
postfix/src/postqueue/showq_json.c
postfix/src/showq/showq.c
postfix/src/smtp/smtp_tls_policy.c
postfix/src/smtp/smtp_tlsrpt.c
postfix/src/tlsproxy/tlsproxy.c

index 1013be043ae474fb9909dbc177111ec07e6f079b..6262adf1a65313305fa8d1294810247f7ef15346 100644 (file)
@@ -29670,9 +29670,72 @@ Apologies for any names omitted.
        Cleanup: missing USE_TLS include guard. Viktor Dukhovni.
        Files: smtp/lmtp_params.c, smtp/lmtp_params.c. in
 
+       Configuration: with OpenSSL 3.5 and later, recommend that
+       tls_eecdh_auto_curves and tls_ffdhe_auto_groups be left
+       empty (the new default) in anticipation of the removal of
+       these parameters. Instead, configuration should be done
+       with OpenSSL. Viktor Dukhovni. Files: global/mail_params.h,
+       proto/postconf.proto.
+
 20251021
 
        Cleanup: the change at 20250717 could result in warnings
        with "database X is older than source file Y". Files:
        util/dict.c, util/dict_db.c, util/dict_dbm.c, util/dict_lmdb.c,
        util/dict_sdbm.c.
+
+20251024
+
+       Logging: with "smtp_tls_enforce_sts_mx_patterns=yes" and
+       TLSRPT support enabled in a TLS policy plugin, the Postfix
+       SMTP client logs a warning when an MX hostname does not
+       match STS policy MX patterns; it logs a successful match
+       when verbose logging is enabled. File: smtp/smtp_tls_policy.c.
+
+20251025
+
+       Feature: original recipient address in "postqueue -j" output,
+       Christophe Kalt. Files: postqueue/postqueue.c,
+       postqueue/showq_compat.c, postqueue/showq_json.c, showq/showq.c.
+
+20251026
+
+       Cleanup: defer tlsproxy daemon warnings that the TLS server
+       role is disabled by configuration, until a request for that
+       role is received. File: tlsproxy/tlsproxy.c.
+
+20251027
+
+       Cleanup: add 12 more deprecation warnings for parameters
+       that have been renamed in the past, and that still provide
+       a backwards-compatible default value for their replacement.
+       The parameters deprecated by this change are:
+       authorized_verp_clients, fallback_relay, lmtp_per_request_deadline,
+       postscreen_blacklist_action, postscreen_dnsbl_ttl,
+       postscreen_dnsbl_whitelist_threshold,
+       postscreen_whitelist_interfaces,
+       smtpd_client_connection_limit_exceptions,
+       smtp_per_request_deadline, tlsproxy_client_level,
+       tlsproxy_client_policy, virtual_maps. Files: mantools/postlink,
+       proto/DEPRECATION_README.html, postconf/postconf_unused.c.
+
+       Cleanup: SMTP client null pointer crash when an STS policy
+       plugin sends no policy_string or no mx_pattern attributes.
+       This can happen only during tests with a fake STS plugin.
+       File: smtp/smtp_tlsrpt.c.
+
+20251028
+
+       The postconf command logs deprecation warnings for the
+       tls_eecdh_auto_curves and tls_ffdhe_auto_groups parameters
+       when Postfix is built with OpenSSL 3.5. Files:
+       proto/DEPRECATION_README.html, postconf/postconf_unused.c.
+
+       The postconf command logs a pointer to the on-line
+       DEPRECATION_README.html for further guidance.
+
+       Deprecate the smtp_cname_overrides_servername and
+       lmtp_cname_overrides_servername parameters, and delete
+       documentation that has been obsolete since Postfix 2.11.
+       Files: proto/postconf.proto, proto/DEPRECATION_README.html,
+       postconf/postconf_unused.c.
index ee797e50d848413b925cbd603c048dfff6de51be..cb297e250403a59dd581c17d0e8cbc34b256c7f4 100644 (file)
@@ -52,38 +52,134 @@ D\bDe\bep\bpr\bre\bec\bca\bat\bte\bed\bd f\bfe\bea\bat\btu\bur\bre\bes\bs
 The table summarizes removed or deprecated features and replacements. Click on
 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 
-    |                           |W\bWa\bar\brn\bni\bin\bng\bg|          |                         |
-    |O\bOb\bbs\bso\bol\ble\bet\bte\be f\bfe\bea\bat\btu\bur\bre\be n\bna\bam\bme\be      |a\bas\bs     |R\bRe\bem\bmo\bov\bve\bed\bd   |R\bRe\bep\bpl\bla\bac\bce\bem\bme\ben\bnt\bt              |
-    |                           |o\bof\bf     |i\bin\bn v\bve\ber\brs\bsi\bio\bon\bn|                         |
-    |                           |v\bve\ber\brs\bsi\bio\bon\bn|          |                         |
-    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
-    |xxx_tls_enforce_peername   |  3.11 |      -   |xxx_tls_security_level   |
-    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
-    |disable_dns_lookups        |   3.9 |      -   |smtp_dns_support_level   |
-    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
-    |xxx_use_tls                |   3.9 |      -   |xxx_tls_security_level   |
-    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
-    |xxx_enforce_tls            |   3.9 |      -   |xxx_tls_security_level   |
-    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
-    |xxx_per_site               |   3.9 |      -   |xxx_policy_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 |
-    |smtpd_tls_dh1024_param_file|   3.9 |      -   |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 |
-    |smtpd_tls_eecdh_grade      |   3.9 |      -   |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 |
-    |permit_mx_backup           |   3.9 |      -   |relay_domains            |
-    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
-    |check_relay_domains        |   2.2 |     3.9  |permit_mynetworks,       |
-    |                           |       |          |reject_unauth_destination|
-    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
-    |reject_maps_rbl            |   2.1 |     3.9  |reject_rbl_client        |
-    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
-    |permit_naked_ip_address    |   2.0 |     3.9  |permit_mynetworks,       |
-    |                           |       |          |permit_sasl_authenticated|
-    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
+     _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b 
+    |                                        |W\bWa\bar\brn\bni\bin\bng\bg|R\bRe\bem\bmo\bov\bve\bed\bd|                                    |
+    |O\bOb\bbs\bso\bol\ble\bet\bte\be f\bfe\bea\bat\btu\bur\bre\be n\bna\bam\bme\be                   |a\bas\bs     |       |R\bRe\bep\bpl\bla\bac\bce\bem\bme\ben\bnt\bt                         |
+    |                                        |o\bof\bf     |i\bin\bn     |                                    |
+    |                                        |v\bve\ber\brs\bsi\bio\bon\bn|v\bve\ber\brs\bsi\bio\bon\bn|                                    |
+    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
+    |authorized_verp_clients                 |  3.11 |    -  |smtpd_authorized_verp_clients       |
+    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
+    |fallback_relay                          |  3.11 |    -  |smtp_fallback_relay                 |
+    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\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_per_request_deadline               |  3.11 |    -  |lmtp_per_request_deadline           |
+    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
+    |postscreen_blacklist_action             |  3.11 |    -  |postscreen_denylist_action          |
+    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
+    |postscreen_dnsbl_ttl                    |  3.11 |    -  |postscreen_dnsbl_max_ttl            |
+    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
+    |postscreen_dnsbl_whitelist_threshold    |  3.11 |    -  |postscreen_dnsbl_allowlist_threshold|
+    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
+    |postscreen_whitelist_interfaces         |  3.11 |    -  |postscreen_allowlist_interfaces     |
+    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
+    |smtpd_client_connection_limit_exceptions|  3.11 |    -  |smtpd_client_event_limit_exceptions |
+    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\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_per_request_deadline               |  3.11 |    -  |smtp_per_request_deadline           |
+    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
+    |tlsproxy_client_level                   |  3.11 |    -  |tlsproxy_client_security_level      |
+    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
+    |tlsproxy_client_policy                  |  3.11 |    -  |tlsproxy_client_policy_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 |
+    |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)   |
+    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
+    |xxx_tls_enforce_peername                |  3.11 |    -  |xxx_tls_security_level              |
+    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
+    |disable_dns_lookups                     |   3.9 |    -  |smtp_dns_support_level              |
+    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
+    |xxx_use_tls                             |   3.9 |    -  |xxx_tls_security_level              |
+    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
+    |xxx_enforce_tls                         |   3.9 |    -  |xxx_tls_security_level              |
+    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
+    |xxx_per_site                            |   3.9 |    -  |xxx_policy_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 |
+    |smtpd_tls_dh1024_param_file             |   3.9 |    -  |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 |
+    |smtpd_tls_eecdh_grade                   |   3.9 |    -  |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 |
+    |permit_mx_backup                        |   3.9 |    -  |relay_domains                       |
+    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
+    |check_relay_domains                     |   2.2 |   3.9 |permit_mynetworks,                  |
+    |                                        |       |       |reject_unauth_destination           |
+    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
+    |reject_maps_rbl                         |   2.1 |   3.9 |reject_rbl_client                   |
+    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
+    |permit_naked_ip_address                 |   2.0 |   3.9 |permit_mynetworks,                  |
+    |                                        |       |       |permit_sasl_authenticated           |
+    |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
+
+P\bPa\bar\bra\bam\bme\bet\bte\ber\brs\bs t\bth\bha\bat\bt h\bha\bav\bve\be b\bbe\bee\ben\bn r\bre\ben\bna\bam\bme\bed\bd f\bfo\bor\br c\bco\bon\bns\bsi\bis\bst\bte\ben\bnc\bcy\by
+
+The postconf(1) command logs one or more of the following:
+
+  * support for parameter "authorized_verp_clients" will be removed; instead,
+    specify "smtpd_authorized_verp_clients"
+  * support for parameter "fallback_relay" will be removed; instead, specify
+    "smtp_fallback_relay"
+  * support for parameter "lmtp_per_request_deadline" will be removed; instead,
+    specify "lmtp_per_request_deadline"
+  * support for parameter "postscreen_blacklist_action" will be removed;
+    instead, specify "postscreen_denylist_action"
+  * support for parameter "postscreen_dnsbl_ttl" will be removed; instead,
+    specify "postscreen_dnsbl_max_ttl"
+  * support for parameter "postscreen_dnsbl_whitelist_threshold" will be
+    removed; instead, specify "postscreen_dnsbl_allowlist_threshold"
+  * support for parameter "postscreen_whitelist_interfaces" will be removed;
+    instead, specify "postscreen_allowlist_interfaces"
+  * support for parameter "smtpd_client_connection_limit_exceptions" will be
+    removed; instead, specify "smtpd_client_event_limit_exceptions"
+  * support for parameter "smtp_per_request_deadline" will be removed; instead,
+    specify "smtp_per_request_deadline"
+  * support for parameter "tlsproxy_client_level" will be removed; instead,
+    specify "tlsproxy_client_security_level"
+  * support for parameter "tlsproxy_client_policy" will be removed; instead,
+    specify "tlsproxy_client_policy_maps"
+  * support for parameter "virtual_maps" will be removed; instead, specify
+    "virtual_alias_maps"
+
+The above parameters have been renamed for consistency with other parameters.
+For backwards compatibility, the old parameter values are used as the default
+value for the new parameters, but they will eventually be removed to eliminate
+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:
+
+  * support for parameter "smtp_cname_overrides_servername" will be removed;
+    instead, do not specify
+  * support for parameter "lmtp_cname_overrides_servername" will be removed;
+    instead, do not specify
+
+These features control whether a DNS CNAME record can override the server peer
+name that Postfix will use for policy lookup or for certificate verification.
+This behavior is disabled by default as of Postfix 2.11, because it no longer
+solves a real problem.
 
 O\bOb\bbs\bso\bol\ble\bet\bte\be T\bTL\bLS\bS p\bpe\bee\ber\br n\bna\bam\bme\be m\bma\bat\btc\bch\bh c\bco\bon\bnf\bfi\big\bgu\bur\bra\bat\bti\bio\bon\bn
 
index 60402835055c6a5aaa84e51c6cafa20cfc23a08a..eb7c16c827ca6db2c6a3dd33375abc0b0c43e913 100644 (file)
@@ -104,6 +104,76 @@ detailed description. </p>
 </th> <th> Removed <br> in version </th> <th> Replacement </th>
 </tr>
 
+<tr> <td> <a href="#renamed"> authorized_verp_clients </a> </td>
+<td align="center"> 3.11 </td> <td align="center"> - </td> <td>
+<a href="postconf.5.html#smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a> </td> </tr>
+
+<tr> <td> <a href="#renamed"> fallback_relay </a> </td> <td
+align="center"> 3.11 </td> <td align="center"> - </td> <td>
+<a href="postconf.5.html#smtp_fallback_relay">smtp_fallback_relay</a> </td> </tr>
+
+<tr> <td> <a href="#renamed"> lmtp_per_request_deadline </a> </td>
+<td align="center"> 3.11 </td> <td align="center"> - </td> <td>
+<a href="postconf.5.html#lmtp_per_request_deadline">lmtp_per_request_deadline</a> </td> </tr>
+
+<tr> <td> <a href="#renamed"> postscreen_blacklist_action </a> </td>
+<td align="center"> 3.11 </td> <td align="center"> - </td> <td>
+<a href="postconf.5.html#postscreen_denylist_action">postscreen_denylist_action</a> </td> </tr>
+
+<tr> <td> <a href="#renamed"> postscreen_dnsbl_ttl </a> </td> <td
+align="center"> 3.11 </td> <td align="center"> - </td> <td>
+<a href="postconf.5.html#postscreen_dnsbl_max_ttl">postscreen_dnsbl_max_ttl</a> </td> </tr>
+
+<tr> <td> <a href="#renamed"> postscreen_dnsbl_whitelist_threshold
+</a> </td> <td align="center"> 3.11 </td> <td align="center"> -
+</td> <td> 
+<a href="postconf.5.html#postscreen_dnsbl_allowlist_threshold">postscreen_dnsbl_allowlist_threshold</a> </td> </tr>
+
+<tr> <td> <a href="#renamed"> postscreen_whitelist_interfaces </a>
+</td> <td align="center"> 3.11 </td> <td align="center"> - </td>
+<td> <a href="postconf.5.html#postscreen_allowlist_interfaces">postscreen_allowlist_interfaces</a> </td> </tr>
+
+<tr> <td> <a href="#renamed"> smtpd_client_connection_limit_exceptions
+</a> </td> <td align="center"> 3.11 </td> <td align="center"> -
+</td> <td>
+<a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a> </td> </tr>
+
+<tr> <td> <a href="#renamed"> smtp_per_request_deadline </a> </td>
+<td align="center"> 3.11 </td> <td align="center"> - </td> <td>
+<a href="postconf.5.html#smtp_per_request_deadline">smtp_per_request_deadline</a> </td> </tr>
+
+<tr> <td> <a href="#renamed"> tlsproxy_client_level </a> </td> <td
+align="center"> 3.11 </td> <td align="center"> - </td> <td>
+<a href="postconf.5.html#tlsproxy_client_security_level">tlsproxy_client_security_level</a> </td> </tr>
+
+<tr> <td> <a href="#renamed"> tlsproxy_client_policy </a> </td> <td
+align="center"> 3.11 </td> <td align="center"> - </td> <td>
+<a href="postconf.5.html#tlsproxy_client_policy_maps">tlsproxy_client_policy_maps</a> </td> </tr>
+
+<tr> <td> <a href="#renamed"> virtual_maps </a> </td> <td align="center">
+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
+</td> </tr>
+
+<tr> <td> <a href="#tls_xdhx_auto">
+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)
+</td> </tr>
+
+<tr> <td> <a href="#cname_overrides_servername">
+lmtp_cname_overrides_servername </a> </td> <td align="center"> 3.11
+</td> <td align="center"> - </td> <td> do not specify (leave at default)
+</td> </tr>
+
 <tr> <td> <a href="#xxx_tls_enforce_peername">
 <i>xxx</i>_tls_enforce_peername </a> </td> <td align="center"> 3.11
 </td> <td align="center"> - </td> <td> <i>xxx</i>_tls_security_level
@@ -154,6 +224,100 @@ smtpd_tls_dh1024_param_file </a> </td> <td align="center"> 3.9 </td>
 
 </blockquote>
 
+<h3> <a name="renamed"> Parameters that have been renamed for
+consistency </a> </h3>
+
+<p> The <a href="postconf.1.html">postconf(1)</a> command logs one or more of the following: </p>
+
+<ul>
+
+<li> support for parameter "<a href="postconf.5.html#authorized_verp_clients">authorized_verp_clients</a>" will be removed;
+instead, specify "<a href="postconf.5.html#smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a>" </li>
+
+<li> support for parameter "<a href="postconf.5.html#fallback_relay">fallback_relay</a>" will be removed; instead,
+specify "<a href="postconf.5.html#smtp_fallback_relay">smtp_fallback_relay</a>" </li>
+
+<li> support for parameter "<a href="postconf.5.html#lmtp_per_request_deadline">lmtp_per_request_deadline</a>" will be
+removed; instead, specify "<a href="postconf.5.html#lmtp_per_request_deadline">lmtp_per_request_deadline</a>" </li>
+
+<li> support for parameter "<a href="postconf.5.html#postscreen_blacklist_action">postscreen_blacklist_action</a>" will be
+removed; instead, specify "<a href="postconf.5.html#postscreen_denylist_action">postscreen_denylist_action</a>" </li>
+
+<li> support for parameter "<a href="postconf.5.html#postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>" will be removed;
+instead, specify "<a href="postconf.5.html#postscreen_dnsbl_max_ttl">postscreen_dnsbl_max_ttl</a>" </li>
+
+<li> support for parameter "<a href="postconf.5.html#postscreen_dnsbl_whitelist_threshold">postscreen_dnsbl_whitelist_threshold</a>"
+will be removed; instead, specify "<a href="postconf.5.html#postscreen_dnsbl_allowlist_threshold">postscreen_dnsbl_allowlist_threshold</a>"
+</li>
+
+<li> support for parameter "<a href="postconf.5.html#postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a>" will
+be removed; instead, specify "<a href="postconf.5.html#postscreen_allowlist_interfaces">postscreen_allowlist_interfaces</a>" </li>
+
+<li> support for parameter "<a href="postconf.5.html#smtpd_client_connection_limit_exceptions">smtpd_client_connection_limit_exceptions</a>"
+will be removed; instead, specify "<a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a>"
+</li>
+
+<li> support for parameter "<a href="postconf.5.html#smtp_per_request_deadline">smtp_per_request_deadline</a>" will be
+removed; instead, specify "<a href="postconf.5.html#smtp_per_request_deadline">smtp_per_request_deadline</a>" </li>
+
+<li> support for parameter "<a href="postconf.5.html#tlsproxy_client_level">tlsproxy_client_level</a>" will be removed;
+instead, specify "<a href="postconf.5.html#tlsproxy_client_security_level">tlsproxy_client_security_level</a>" </li>
+
+<li> support for parameter "<a href="postconf.5.html#tlsproxy_client_policy">tlsproxy_client_policy</a>" will be removed;
+instead, specify "<a href="postconf.5.html#tlsproxy_client_policy_maps">tlsproxy_client_policy_maps</a>" </li>
+
+<li> support for parameter "<a href="postconf.5.html#virtual_maps">virtual_maps</a>" will be removed; instead,
+specify "<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>" </li>
+
+</ul>
+
+<p> The above parameters have been renamed for consistency with other
+parameters. For backwards compatibility, the old parameter values are
+used as the default value for the new parameters, but they will
+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>
+
+<p> The <a href="postconf.1.html">postconf(1)</a> command logs one of the following: </p>
+
+<ul>
+
+<li> support for parameter "<a href="postconf.5.html#tls_eecdh_auto_curves">tls_eecdh_auto_curves</a>" will be removed;
+instead, do not specify with OpenSSL 3.5 or later
+
+<li> support for parameter "<a href="postconf.5.html#tls_ffdhe_auto_groups">tls_ffdhe_auto_groups</a>" will be removed;
+instead, do not specify with OpenSSL 3.5 or later
+
+</ul>
+
+<p> The empty value is the default setting for both as of Postfix
+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>
+
+<p> The <a href="postconf.1.html">postconf(1)</a> command logs one of the following: </p>
+
+<ul>
+
+<li> support for parameter "<a href="postconf.5.html#smtp_cname_overrides_servername">smtp_cname_overrides_servername</a>" will be
+removed; instead, do not specify
+
+<li> support for parameter "<a href="postconf.5.html#lmtp_cname_overrides_servername">lmtp_cname_overrides_servername</a>" will be
+removed; instead, do not specify
+
+</ul>
+
+<p> These features control whether a DNS CNAME record can override
+the server peer name that Postfix will use for policy lookup or for
+certificate verification. This behavior is disabled by default as of
+Postfix 2.11, because it no longer solves a real problem. </p>
+
 <h3> <a name="xxx_tls_enforce_peername"> Obsolete TLS peer name
 match configuration </a> </h3>
 
index a8d36291116648d26d760e920c6f0bb6bb345576..b13f6ca3d9051e48651f3c96a59330d39f5fce1e 100644 (file)
@@ -11416,11 +11416,8 @@ false hostname information in DNS CNAME records, and makes SASL
 password file lookups more predictable. This is the default setting
 as of Postfix 2.3. </p>
 
-<p> When DNS CNAME records are validated with secure DNS lookups
-(<a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a> = dnssec), they are always allowed to
-override the above servername (Postfix 2.11 and later). </p>
-
-<p> This feature is available in Postfix 2.2.9 and later. </p>
+<p> This feature is available in Postfix 2.2.9 and later, deprecated
+as of Postfix 3.11. </p>
 
 
 </DD>
@@ -15198,6 +15195,14 @@ This feature is available in Postfix 2.2 and later.
 </p>
 
 
+</DD>
+
+<DT><b><a name="smtpd_client_connection_limit_exceptions">smtpd_client_connection_limit_exceptions</a>
+(default: $<a href="postconf.5.html#mynetworks">mynetworks</a>)</b></DT><DD>
+
+<p> Renamed to <a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a> in Postfix 2.2. </p>
+
+
 </DD>
 
 <DT><b><a name="smtpd_client_connection_rate_limit">smtpd_client_connection_rate_limit</a>
@@ -20250,6 +20255,11 @@ MinProtocol = TLSv1
 <a href="postconf.5.html">main.cf</a>:
     <a href="postconf.5.html#tls_config_file">tls_config_file</a> = ${<a href="postconf.5.html#config_directory">config_directory</a>}/openssl.cnf
     <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> =
 </pre>
 
 <pre>
@@ -20504,7 +20514,9 @@ configuration syntax that Postfix will not attempt to imitate.
 Instead, with Postfix 3.6.17, 3.7.13, 3.8.8, 3.9.2, and later, set
 both <a href="postconf.5.html#tls_eecdh_auto_curves">tls_eecdh_auto_curves</a> and if available <a href="postconf.5.html#tls_ffdhe_auto_groups">tls_ffdhe_auto_groups</a>
 to the empty value, to enable algorithm selection through OpenSSL
-configuration. See <a href="postconf.5.html#tls_config_file">tls_config_file</a> for a configuration example.
+configuration.  The empty value is the default setting for both as
+of Postfix 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>
 
 <p> This feature is available in Postfix 3.2 and later, when it is
@@ -20662,7 +20674,9 @@ configuration syntax that Postfix will not attempt to imitate.
 Instead, with Postfix 3.6.17, 3.7.13, 3.8.8, 3.9.2, and later, set
 both <a href="postconf.5.html#tls_eecdh_auto_curves">tls_eecdh_auto_curves</a> and <a href="postconf.5.html#tls_ffdhe_auto_groups">tls_ffdhe_auto_groups</a> to the empty
 value, to enable algorithm selection through OpenSSL configuration.
-See <a href="postconf.5.html#tls_config_file">tls_config_file</a> for a configuration example. </p>
+The empty value is the default setting for both as of Postfix 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>
 
 <p> All the default groups and EC curves should be sufficiently strong to make
 "pruning" the defaults unwise.  At a minimum, "x25519" and "prime256v1" (the
index 3d63737d1eed35f2f42b54845bcdd2cd1fdde49e..4ef6188ec674041eefba6a584b5b62a90ea71d4c 100644 (file)
@@ -144,6 +144,9 @@ POSTQUEUE(1)                                                      POSTQUEUE(1)
               <b>address</b>
                      One recipient address.
 
+              <b>orig_address</b>
+                     One original recipient address.
+
               <b>delay_reason</b>
                      If present, the reason  for  delayed  delivery.   Delayed
                      recipients  may  have no delay reason, for example, while
index d042a34d6f63b6fb67ff5b63baa7053d36c90003..4959609d23ae0b27c2c15ef80219577c50011b1b 100644 (file)
@@ -139,6 +139,8 @@ An array containing zero or more objects with members:
 .RS
 .IP \fBaddress\fR
 One recipient address.
+.IP \fBorig_address\fR
+One original recipient address.
 .IP \fBdelay_reason\fR
 If present, the reason for delayed delivery.  Delayed
 recipients may have no delay reason, for example, while
index bcecdf30d5f221fe6600baea3dba0fccdde8f695..7c824b4f78868e4261b10c60af25b1ed95403e90 100644 (file)
@@ -7165,11 +7165,8 @@ false hostname information in DNS CNAME records, and makes SASL
 password file lookups more predictable. This is the default setting
 as of Postfix 2.3.
 .PP
-When DNS CNAME records are validated with secure DNS lookups
-(smtp_dns_support_level = dnssec), they are always allowed to
-override the above servername (Postfix 2.11 and later).
-.PP
-This feature is available in Postfix 2.2.9 and later.
+This feature is available in Postfix 2.2.9 and later, deprecated
+as of Postfix 3.11.
 .SH smtp_connect_timeout (default: 30s)
 The Postfix SMTP client time limit for completing a TCP connection, or
 zero (use the operating system built\-in time limit).
@@ -10132,6 +10129,8 @@ WARNING: The purpose of this feature is to limit abuse. It must
 not be used to regulate legitimate mail traffic.
 .PP
 This feature is available in Postfix 2.2 and later.
+.SH smtpd_client_connection_limit_exceptions (default: $mynetworks)
+Renamed to smtpd_client_event_limit_exceptions in Postfix 2.2.
 .SH smtpd_client_connection_rate_limit (default: 0)
 The maximal number of connection attempts any client is allowed to
 make to this service per time unit.  The time unit is specified
@@ -14106,6 +14105,11 @@ Example: Custom OpenSSL group settings.
 main.cf:
     tls_config_file = ${config_directory}/openssl.cnf
     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 =
 .fi
 .ad
 .PP
@@ -14337,7 +14341,9 @@ configuration syntax that Postfix will not attempt to imitate.
 Instead, with Postfix 3.6.17, 3.7.13, 3.8.8, 3.9.2, and later, set
 both tls_eecdh_auto_curves and if available tls_ffdhe_auto_groups
 to the empty value, to enable algorithm selection through OpenSSL
-configuration. See tls_config_file for a configuration example.
+configuration.  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.
 .PP
 This feature is available in Postfix 3.2 and later, when it is
 compiled and linked with OpenSSL 1.0.2 or later on platforms where
@@ -14457,7 +14463,9 @@ configuration syntax that Postfix will not attempt to imitate.
 Instead, with Postfix 3.6.17, 3.7.13, 3.8.8, 3.9.2, and later, set
 both tls_eecdh_auto_curves and tls_ffdhe_auto_groups to the empty
 value, to enable algorithm selection through OpenSSL configuration.
-See tls_config_file for a configuration example.
+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.
 .PP
 All the default groups and EC curves should be sufficiently strong to make
 "pruning" the defaults unwise.  At a minimum, "x25519" and "prime256v1" (the
index 9f5479fe78d31a3cb5b390fbdb1d77753a1fb408..e6214f26771a210ab49db39cba29b78e93e47f86 100755 (executable)
@@ -63,6 +63,7 @@ sender_based_routing
 smtp_per_record_deadline
 smtp_skip_4xx_greeting
 smtp_tls_cipherlist
+smtpd_client_connection_limit_exceptions
 smtpd_per_record_deadline
 smtpd_sasl_application_name
 smtpd_tls_cipherlist
index 2b174bcacd1e57586e6a5aa70217477fd5970b12..3ed4999777c073ce01898ba6cc6ad98e6b53e543 100755 (executable)
@@ -544,6 +544,7 @@ while (<>) {
     s;\bsmtpd_client_auth_rate_limit\b;<a href="postconf.5.html#smtpd_client_auth_rate_limit">$&</a>;g;
     s;\bsmtpd_client_connec[-</bB>]*\n*[ <bB>]*tion_count_limit\b;<a href="postconf.5.html#smtpd_client_connection_count_limit">$&</a>;g;
     s;\bsmtpd_client_event_limit_exceptions\b;<a href="postconf.5.html#smtpd_client_event_limit_exceptions">$&</a>;g;
+    s;\bsmtpd_client_connection_limit_exceptions\b;<a href="postconf.5.html#smtpd_client_connection_limit_exceptions">$&</a>;g;
     s;\bsmtpd_client_connec[-</bB>]*\n*[ <bB>]*tion_rate_limit\b;<a href="postconf.5.html#smtpd_client_connection_rate_limit">$&</a>;g;
     s;\bsmtpd_client_message_rate_limit\b;<a href="postconf.5.html#smtpd_client_message_rate_limit">$&</a>;g;
     s;\bsmtpd_client_port_logging\b;<a href="postconf.5.html#smtpd_client_port_logging">$&</a>;g;
index 6f9f247bfddec4c0b5db8044d59ed4c504d58fdb..8dbcb11fb92093d9184b9e0b1651845c83d89cf7 100644 (file)
@@ -104,6 +104,76 @@ detailed description. </p>
 </th> <th> Removed <br> in version </th> <th> Replacement </th>
 </tr>
 
+<tr> <td> <a href="#renamed"> authorized_verp_clients </a> </td>
+<td align="center"> 3.11 </td> <td align="center"> - </td> <td>
+smtpd_authorized_verp_clients </td> </tr>
+
+<tr> <td> <a href="#renamed"> fallback_relay </a> </td> <td
+align="center"> 3.11 </td> <td align="center"> - </td> <td>
+smtp_fallback_relay </td> </tr>
+
+<tr> <td> <a href="#renamed"> lmtp_per_request_deadline </a> </td>
+<td align="center"> 3.11 </td> <td align="center"> - </td> <td>
+lmtp_per_request_deadline </td> </tr>
+
+<tr> <td> <a href="#renamed"> postscreen_blacklist_action </a> </td>
+<td align="center"> 3.11 </td> <td align="center"> - </td> <td>
+postscreen_denylist_action </td> </tr>
+
+<tr> <td> <a href="#renamed"> postscreen_dnsbl_ttl </a> </td> <td
+align="center"> 3.11 </td> <td align="center"> - </td> <td>
+postscreen_dnsbl_max_ttl </td> </tr>
+
+<tr> <td> <a href="#renamed"> postscreen_dnsbl_whitelist_threshold
+</a> </td> <td align="center"> 3.11 </td> <td align="center"> -
+</td> <td> 
+postscreen_dnsbl_allowlist_threshold </td> </tr>
+
+<tr> <td> <a href="#renamed"> postscreen_whitelist_interfaces </a>
+</td> <td align="center"> 3.11 </td> <td align="center"> - </td>
+<td> postscreen_allowlist_interfaces </td> </tr>
+
+<tr> <td> <a href="#renamed"> smtpd_client_connection_limit_exceptions
+</a> </td> <td align="center"> 3.11 </td> <td align="center"> -
+</td> <td>
+smtpd_client_event_limit_exceptions </td> </tr>
+
+<tr> <td> <a href="#renamed"> smtp_per_request_deadline </a> </td>
+<td align="center"> 3.11 </td> <td align="center"> - </td> <td>
+smtp_per_request_deadline </td> </tr>
+
+<tr> <td> <a href="#renamed"> tlsproxy_client_level </a> </td> <td
+align="center"> 3.11 </td> <td align="center"> - </td> <td>
+tlsproxy_client_security_level </td> </tr>
+
+<tr> <td> <a href="#renamed"> tlsproxy_client_policy </a> </td> <td
+align="center"> 3.11 </td> <td align="center"> - </td> <td>
+tlsproxy_client_policy_maps </td> </tr>
+
+<tr> <td> <a href="#renamed"> virtual_maps </a> </td> <td align="center">
+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
+</td> </tr>
+
+<tr> <td> <a href="#tls_xdhx_auto">
+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)
+</td> </tr>
+
+<tr> <td> <a href="#cname_overrides_servername">
+lmtp_cname_overrides_servername </a> </td> <td align="center"> 3.11
+</td> <td align="center"> - </td> <td> do not specify (leave at default)
+</td> </tr>
+
 <tr> <td> <a href="#xxx_tls_enforce_peername">
 <i>xxx</i>_tls_enforce_peername </a> </td> <td align="center"> 3.11
 </td> <td align="center"> - </td> <td> <i>xxx</i>_tls_security_level
@@ -154,6 +224,100 @@ reject_rbl_client </td> </tr>
 
 </blockquote>
 
+<h3> <a name="renamed"> Parameters that have been renamed for
+consistency </a> </h3>
+
+<p> The postconf(1) command logs one or more of the following: </p>
+
+<ul>
+
+<li> support for parameter "authorized_verp_clients" will be removed;
+instead, specify "smtpd_authorized_verp_clients" </li>
+
+<li> support for parameter "fallback_relay" will be removed; instead,
+specify "smtp_fallback_relay" </li>
+
+<li> support for parameter "lmtp_per_request_deadline" will be
+removed; instead, specify "lmtp_per_request_deadline" </li>
+
+<li> support for parameter "postscreen_blacklist_action" will be
+removed; instead, specify "postscreen_denylist_action" </li>
+
+<li> support for parameter "postscreen_dnsbl_ttl" will be removed;
+instead, specify "postscreen_dnsbl_max_ttl" </li>
+
+<li> support for parameter "postscreen_dnsbl_whitelist_threshold"
+will be removed; instead, specify "postscreen_dnsbl_allowlist_threshold"
+</li>
+
+<li> support for parameter "postscreen_whitelist_interfaces" will
+be removed; instead, specify "postscreen_allowlist_interfaces" </li>
+
+<li> support for parameter "smtpd_client_connection_limit_exceptions"
+will be removed; instead, specify "smtpd_client_event_limit_exceptions"
+</li>
+
+<li> support for parameter "smtp_per_request_deadline" will be
+removed; instead, specify "smtp_per_request_deadline" </li>
+
+<li> support for parameter "tlsproxy_client_level" will be removed;
+instead, specify "tlsproxy_client_security_level" </li>
+
+<li> support for parameter "tlsproxy_client_policy" will be removed;
+instead, specify "tlsproxy_client_policy_maps" </li>
+
+<li> support for parameter "virtual_maps" will be removed; instead,
+specify "virtual_alias_maps" </li>
+
+</ul>
+
+<p> The above parameters have been renamed for consistency with other
+parameters. For backwards compatibility, the old parameter values are
+used as the default value for the new parameters, but they will
+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>
+
+<p> The postconf(1) command logs one of the following: </p>
+
+<ul>
+
+<li> support for parameter "tls_eecdh_auto_curves" will be removed;
+instead, do not specify with OpenSSL 3.5 or later
+
+<li> support for parameter "tls_ffdhe_auto_groups" will be removed;
+instead, do not specify with OpenSSL 3.5 or later
+
+</ul>
+
+<p> 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 </p>
+
+<h3> <a name="cname_overrides_servername"> Obsolete CNAME override
+for peer name configuration </a> </h3>
+
+<p> The postconf(1) command logs one of the following: </p>
+
+<ul>
+
+<li> support for parameter "smtp_cname_overrides_servername" will be
+removed; instead, do not specify
+
+<li> support for parameter "lmtp_cname_overrides_servername" will be
+removed; instead, do not specify
+
+</ul>
+
+<p> These features control whether a DNS CNAME record can override
+the server peer name that Postfix will use for policy lookup or for
+certificate verification. This behavior is disabled by default as of
+Postfix 2.11, because it no longer solves a real problem. </p>
+
 <h3> <a name="xxx_tls_enforce_peername"> Obsolete TLS peer name
 match configuration </a> </h3>
 
index 4237ab89738903e27fb8889edac05b9bb518d07f..c9733aee420ad78c70ff4e10da808cef3c6ac7d1 100644 (file)
@@ -5104,6 +5104,10 @@ not be used to regulate legitimate mail traffic.
 This feature is available in Postfix 2.2 and later.
 </p>
 
+%PARAM smtpd_client_connection_limit_exceptions $mynetworks
+
+<p> Renamed to smtpd_client_event_limit_exceptions in Postfix 2.2. </p>
+
 %PARAM smtpd_client_event_limit_exceptions $mynetworks
 
 <p>
@@ -11458,11 +11462,8 @@ false hostname information in DNS CNAME records, and makes SASL
 password file lookups more predictable. This is the default setting
 as of Postfix 2.3. </p>
 
-<p> When DNS CNAME records are validated with secure DNS lookups
-(smtp_dns_support_level = dnssec), they are always allowed to
-override the above servername (Postfix 2.11 and later). </p>
-
-<p> This feature is available in Postfix 2.2.9 and later. </p>
+<p> This feature is available in Postfix 2.2.9 and later, deprecated
+as of Postfix 3.11. </p>
 
 %PARAM lmtp_cname_overrides_servername yes
 
@@ -13442,7 +13443,9 @@ configuration syntax that Postfix will not attempt to imitate.
 Instead, with Postfix 3.6.17, 3.7.13, 3.8.8, 3.9.2, and later, set
 both tls_eecdh_auto_curves and if available tls_ffdhe_auto_groups
 to the empty value, to enable algorithm selection through OpenSSL
-configuration. See tls_config_file for a configuration example.
+configuration.  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.
 </p>
 
 <p> This feature is available in Postfix 3.2 and later, when it is
@@ -13483,7 +13486,9 @@ configuration syntax that Postfix will not attempt to imitate.
 Instead, with Postfix 3.6.17, 3.7.13, 3.8.8, 3.9.2, and later, set
 both tls_eecdh_auto_curves and tls_ffdhe_auto_groups to the empty
 value, to enable algorithm selection through OpenSSL configuration.
-See tls_config_file for a configuration example. </p>
+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. </p>
 
 <p> All the default groups and EC curves should be sufficiently strong to make
 "pruning" the defaults unwise.  At a minimum, "x25519" and "prime256v1" (the
@@ -19290,6 +19295,11 @@ MinProtocol = TLSv1
 main.cf:
     tls_config_file = ${config_directory}/openssl.cnf
     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 =
 </pre>
 
 <pre>
index 6b32f33093732f26c90ebeda3cdd7e7abaee225c..89f28c530e39bc5d6e2e4ec03b304361d215e4f7 100644 (file)
@@ -202,3 +202,7 @@ proto  proto COMPATIBILITY_README html
  smtp smtp h smtp smtp_connect c smtp smtp_params c 
  the policies policy policy domain value This ignores
  TLSRPT Workaround when policies policy policy type is
+ Christophe Kalt Files postqueue postqueue c 
+ 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 
index c21a6600daa6c9050e2cbcd238a9b10f61182429..ee926cca751477993da5ef9bbcd9673f4147f945 100644 (file)
@@ -1871,3 +1871,6 @@ REPLYCODE
 PTEST
 finalizer
 enf
+Christophe
+Kalt
+stdlib
index 28a879f1c9159e989de3237aae9890716e11da7e..de23c963702ee3f1683deac49ab0848e5c726d90 100644 (file)
@@ -22,6 +22,9 @@ typedef int bool;
 #if OPENSSL_VERSION_NUMBER < 0x1010100fUL
 #error "OpenSSL releases prior to 1.1.1 are no longer supported"
 #endif
+#endif
+#ifndef OPENSSL_VERSION_PREREQ
+#define OPENSSL_VERSION_PREREQ(m,n) 0
 #endif
 
  /*
@@ -3416,6 +3419,10 @@ extern char *var_tls_export_ignored;
 #define DEF_TLS_NULL_CLIST     "eNULL" TLS_EXCL_REST ":!aNULL"
 extern char *var_tls_null_clist;
 
+#define VAR_TLS_EECDH_AUTO     "tls_eecdh_auto_curves"
+#if OPENSSL_VERSION_PREREQ(3,5)
+#define DEF_TLS_EECDH_AUTO      ""
+#else
 #if defined(SN_X25519) && defined(NID_X25519)
 #define DEF_TLS_EECDH_AUTO_1 SN_X25519 " "
 #else
@@ -3446,12 +3453,12 @@ extern char *var_tls_null_clist;
 #define DEF_TLS_EECDH_AUTO_5 ""
 #endif
 
-#define VAR_TLS_EECDH_AUTO     "tls_eecdh_auto_curves"
 #define DEF_TLS_EECDH_AUTO      DEF_TLS_EECDH_AUTO_1 \
                                 DEF_TLS_EECDH_AUTO_2 \
                                 DEF_TLS_EECDH_AUTO_3 \
                                 DEF_TLS_EECDH_AUTO_4 \
                                 DEF_TLS_EECDH_AUTO_5
+#endif
 extern char *var_tls_eecdh_auto;
 
 #define VAR_TLS_EECDH_STRONG   "tls_eecdh_strong_curve"
@@ -3462,6 +3469,10 @@ extern char *var_tls_eecdh_strong;
 #define DEF_TLS_EECDH_ULTRA    "secp384r1"
 extern char *var_tls_eecdh_ultra;
 
+#define VAR_TLS_FFDHE_AUTO     "tls_ffdhe_auto_groups"
+#if OPENSSL_VERSION_PREREQ(3,5)
+#define DEF_TLS_FFDHE_AUTO      ""
+#else
 #if defined(SN_ffdhe2048) && defined(NID_ffdhe2048)
 #define DEF_TLS_FFDHE_AUTO_1 SN_ffdhe2048 " "
 #else
@@ -3473,9 +3484,9 @@ extern char *var_tls_eecdh_ultra;
 #define DEF_TLS_FFDHE_AUTO_2 ""
 #endif
 
-#define VAR_TLS_FFDHE_AUTO     "tls_ffdhe_auto_groups"
 #define DEF_TLS_FFDHE_AUTO      DEF_TLS_FFDHE_AUTO_1 \
                                 DEF_TLS_FFDHE_AUTO_2
+#endif
 extern char *var_tls_ffdhe_auto;
 
 #define VAR_TLS_PREEMPT_CLIST  "tls_preempt_cipherlist"
index 06ad2c87530cbeca1380c6f07516639fd5a569bb..0970dd8732ae7c6bc098688258c8de222c01e0c5 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      "20251026"
+#define MAIL_RELEASE_DATE      "20251028"
 #define MAIL_VERSION_NUMBER    "3.11"
 
 #ifdef SNAPSHOT
index 402c96d7f291ceb64c0589cee145fa9687275e41..c68a07f19aa6b9c63d2f8a25ae7ffe584f2096b0 100644 (file)
@@ -1135,5 +1135,9 @@ int     main(int argc, char **argv)
        }
     }
     vstream_fflush(VSTREAM_OUT);
+
+    if ((pcf_cmd_mode & PCF_WARN_UNUSED_DEPRECATED) && pcf_found_deprecated)
+       msg_warn("See https://www.postfix.org/DEPRECATION_README.html "
+                "for details");
     exit(0);
 }
index b42245c78536f264d6464c68e952dd885d3e31e2..faeed0ded7ba6f1317519a4be72dc9f8a21f1a4d 100644 (file)
@@ -304,6 +304,7 @@ extern void PRINTFLIKE(3, 4) pcf_print_line(VSTREAM *, int, const char *,...);
   */
 extern void pcf_flag_unused_main_parameters(void);
 extern void pcf_flag_unused_master_parameters(void);
+extern int pcf_found_deprecated;
 
  /*
   * postconf_other.c.
index 0b8d1464670f41dcd9d28820b94178d62fc49130..fc6a07bf9d30ea835e6db31eefe3ff353b26ef58 100644 (file)
@@ -6,6 +6,8 @@
 /* SYNOPSIS
 /*     #include <postconf.h>
 /*
+/*     int     pcf_found_deprecated;
+/*
 /*     void    pcf_flag_unused_main_parameters()
 /*
 /*     void    pcf_flag_unused_master_parameters()
@@ -20,6 +22,9 @@
 /*
 /*     pcf_flag_unused_master_parameters() reports unused or
 /*     deprecated "-o name=value" entries in master.cf.
+/*
+/*     pcf_found_deprecated is non-zero if deprecated parameters were
+/*     reported.
 /* DIAGNOSTICS
 /*     Problems are reported to the standard error stream.
 /* LICENSE
@@ -98,12 +103,35 @@ static const PCF_DEPR_PARAM_INFO pcf_depr_param_info[] = {
     /*
      * Deprecated as of Postfix 3.11.
      */
+    "authorized_verp_clients", "specify \"smtpd_authorized_verp_clients\"",
+    "fallback_relay", "specify \"smtp_fallback_relay\"",
+    "lmtp_per_request_deadline", "specify \"lmtp_per_request_deadline\"",
     "lmtp_tls_enforce_peername", "specify \"lmtp_tls_security_level\"",
+    "postscreen_blacklist_action", "specify \"postscreen_denylist_action\"",
+    "postscreen_dnsbl_ttl", "specify \"postscreen_dnsbl_max_ttl\"",
+    "postscreen_dnsbl_whitelist_threshold", "specify \"postscreen_dnsbl_allowlist_threshold\"",
+    "postscreen_whitelist_interfaces", "specify \"postscreen_allowlist_interfaces\"",
+    "smtpd_client_connection_limit_exceptions", "specify \"smtpd_client_event_limit_exceptions\"",
+    "smtp_per_request_deadline", "specify \"smtp_per_request_deadline\"",
     "smtp_tls_enforce_peername", "specify \"smtp_tls_security_level\"",
+    "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)
+    "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
+    "lmtp_cname_overrides_servername", "do not specify",
+    "smtp_cname_overrides_servername", "do not specify",
+
+    /*
+     * Terminator.
+     */
     0,
 };
 
 static HTABLE *pcf_depr_param_table;
+int     pcf_found_deprecated;
 
 /* pcf_init_depr_params - initialize lookup table */
 
@@ -164,6 +192,7 @@ static void pcf_flag_unused_parameters(DICT *dict, const char *conf_name,
                msg_warn("%s/%s: support for parameter %s has been removed;"
                         " instead, %s", var_config_dir, conf_name,
                         param_name, dp->alternative);
+               pcf_found_deprecated = 1;
            } else {
                msg_warn("%s/%s: unused parameter: %s=%s",
                         var_config_dir, conf_name, param_name, param_value);
@@ -181,6 +210,7 @@ static void pcf_flag_unused_parameters(DICT *dict, const char *conf_name,
            msg_warn("%s/%s: support for parameter \"%s\" will be removed;"
                     " instead, %s", var_config_dir, conf_name,
                     param_name, dp->alternative);
+           pcf_found_deprecated = 1;
        }
     }
 }
index 09224a638614a0ae0f5c2f0e4d6172275d336625..2a79d6c8c7e62f118b15efd6b5c36b7400125e5d 100644 (file)
@@ -1,3 +1,6 @@
 config_directory = .
 smtpd_client_connection_limit_exceptions = yyy
 virtual_maps = xxx
+./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 "virtual_maps" will be removed; instead, specify "virtual_alias_maps"
+./postconf: warning: See https://www.postfix.org/DEPRECATION_README.html for details
index 3e4cd26408aa34139beaa9f0c5dc1e533ac7c471..57b5aabfe5c62ef220fd0c2eccf1f7e0cb62f626 100644 (file)
@@ -7,3 +7,4 @@ smtpd_tls_dh1024_param_file = auto
 ./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"
+./postconf: warning: See https://www.postfix.org/DEPRECATION_README.html for details
index 59d171b4ad557bf4a8d41dd3207e204dc9007216..47741a110fbda390fd42689e1a71807f49c9184b 100644 (file)
@@ -5,3 +5,4 @@ smtp_tls_enforce_peername = yes
 ./postconf: warning: ./main.cf: support for parameter "lmtp_tls_enforce_peername" will be removed; instead, specify "lmtp_tls_security_level"
 ./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 ca8bcd3488d690944072dcfe15e0b4cb641dfb95..6c376416f22df6a810307000b7359bacf59675ec 100644 (file)
 /* .RS
 /* .IP \fBaddress\fR
 /*     One recipient address.
+/* .IP \fBorig_address\fR
+/*     One original recipient address.
 /* .IP \fBdelay_reason\fR
 /*     If present, the reason for delayed delivery.  Delayed
 /*     recipients may have no delay reason, for example, while
index f5ca05991ceda91e00c40374152762d432c7a8e6..8647034ca2efc70346b31fcc8dfc7b19939e7e30 100644 (file)
@@ -84,6 +84,7 @@ static unsigned long showq_message(VSTREAM *showq_stream)
     static VSTRING *queue_name = 0;
     static VSTRING *queue_id = 0;
     static VSTRING *id_status = 0;
+    static VSTRING *oaddr = 0;
     static VSTRING *addr = 0;
     static VSTRING *why = 0;
     long    arrival_time;
@@ -102,6 +103,7 @@ static unsigned long showq_message(VSTREAM *showq_stream)
        queue_name = vstring_alloc(100);
        queue_id = vstring_alloc(100);
        id_status = vstring_alloc(100);
+       oaddr = vstring_alloc(100);
        addr = vstring_alloc(100);
        why = vstring_alloc(100);
     }
@@ -146,9 +148,10 @@ static unsigned long showq_message(VSTREAM *showq_stream)
     while ((showq_status = attr_scan_more(showq_stream)) > 0) {
        if (attr_scan(showq_stream, ATTR_FLAG_MORE | ATTR_FLAG_STRICT
                      | ATTR_FLAG_PRINTABLE,
+                     RECV_ATTR_STR(MAIL_ATTR_ORCPT, oaddr),
                      RECV_ATTR_STR(MAIL_ATTR_RECIP, addr),
                      RECV_ATTR_STR(MAIL_ATTR_WHY, why),
-                     ATTR_TYPE_END) != 2)
+                     ATTR_TYPE_END) != 3)
            msg_fatal_status(EX_SOFTWARE, "malformed showq server response");
 
        /*
index a2820dda9b22326f1c6f712f050c230036f07e6b..bf55e97d6d75441a243abcd48af25b881997b0da 100644 (file)
@@ -64,6 +64,7 @@ static void format_json(VSTREAM *showq_stream)
 {
     static VSTRING *queue_name = 0;
     static VSTRING *queue_id = 0;
+    static VSTRING *oaddr = 0;
     static VSTRING *addr = 0;
     static VSTRING *why = 0;
     static VSTRING *quote_buf = 0;
@@ -79,6 +80,7 @@ static void format_json(VSTREAM *showq_stream)
     if (queue_name == 0) {
        queue_name = vstring_alloc(100);
        queue_id = vstring_alloc(100);
+       oaddr = vstring_alloc(100);
        addr = vstring_alloc(100);
        why = vstring_alloc(100);
        quote_buf = vstring_alloc(100);
@@ -126,10 +128,13 @@ static void format_json(VSTREAM *showq_stream)
        vstream_printf("{");
        if (attr_scan(showq_stream, ATTR_FLAG_MORE | ATTR_FLAG_STRICT
                      | ATTR_FLAG_PRINTABLE,
+                     RECV_ATTR_STR(MAIL_ATTR_ORCPT, oaddr),
                      RECV_ATTR_STR(MAIL_ATTR_RECIP, addr),
                      RECV_ATTR_STR(MAIL_ATTR_WHY, why),
-                     ATTR_TYPE_END) != 2)
+                     ATTR_TYPE_END) != 3)
            msg_fatal_status(EX_SOFTWARE, "malformed showq server response");
+       vstream_printf("\"orig_address\": \"%s\", ",
+                      QUOTE_JSON(quote_buf, STR(oaddr)));
        vstream_printf("\"address\": \"%s\"",
                       QUOTE_JSON(quote_buf, STR(addr)));
        if (LEN(why) > 0)
index 80e1e89e2ee8335bc86c3f971b0548f8e6a3d16d..c54a3247671f72cb46c66984efd0961c22c6507c 100644 (file)
@@ -171,10 +171,12 @@ static void showq_report(VSTREAM *client, char *queue, char *id,
     long    msg_size = size;
     BOUNCE_LOG *logfile;
     HTABLE *dup_filter = 0;
+    VSTRING *orcpt_buf = vstring_alloc(100);
     RCPT_BUF *rcpt_buf = 0;
     DSN_BUF *dsn_buf = 0;
     int     sender_seen = 0;
     int     msg_size_ok = 0;
+    const char *have_orcpt = 0;
 
     /*
      * Let the optimizer worry about eliminating duplicate code.
@@ -184,6 +186,7 @@ static void showq_report(VSTREAM *client, char *queue, char *id,
            attr_print(client, ATTR_FLAG_NONE, ATTR_TYPE_END); \
        vstring_free(buf); \
        vstring_free(printable_quoted_addr); \
+       vstring_free(orcpt_buf); \
        if (rcpt_buf) \
            rcpb_free(rcpt_buf); \
        if (dsn_buf) \
@@ -248,6 +251,17 @@ static void showq_report(VSTREAM *client, char *queue, char *id,
                                     STR(printable_quoted_addr)),
                       ATTR_TYPE_END);
            break;
+       case REC_TYPE_ORCP:
+           if (sender_seen == 0) {
+               msg_warn("%s: missing sender address: %s "
+                        "-- skipping remainder of this file",
+                        id, STR(printable_quoted_addr));
+               SHOWQ_CLEANUP_AND_RETURN;
+           }
+           quote_822_local(orcpt_buf, start);
+           /* For consistency with REC_TYPE_RCPT below. */
+           have_orcpt = printable(STR(orcpt_buf), '?');
+           break;
        case REC_TYPE_RCPT:
            if (sender_seen == 0) {
                msg_warn("%s: missing sender address: %s "
@@ -255,18 +269,24 @@ static void showq_report(VSTREAM *client, char *queue, char *id,
                         id, STR(printable_quoted_addr));
                SHOWQ_CLEANUP_AND_RETURN;
            }
-           if (*start == 0)                    /* can't happen? */
+           if (*start == 0)                    /* non-smtpd case */
                start = var_empty_addr;
            quote_822_local(printable_quoted_addr, start);
            /* For consistency with recipients in bounce logfile. */
            printable(STR(printable_quoted_addr), '?');
+           /* For consistency with cleanup server and maildrop messages. */
+           if (have_orcpt == 0)
+               have_orcpt = STR(vstring_strcpy(orcpt_buf,
+                                               STR(printable_quoted_addr)));
            if (dup_filter == 0
              || htable_locate(dup_filter, STR(printable_quoted_addr)) == 0)
                attr_print(client, ATTR_FLAG_MORE,
+                          SEND_ATTR_STR(MAIL_ATTR_ORCPT, have_orcpt),
                           SEND_ATTR_STR(MAIL_ATTR_RECIP,
                                         STR(printable_quoted_addr)),
                           SEND_ATTR_STR(MAIL_ATTR_WHY, ""),
                           ATTR_TYPE_END);
+           have_orcpt = 0;
            break;
        case REC_TYPE_MESG:
            if (msg_size_ok && vstream_fseek(qfile, msg_size, SEEK_CUR) < 0)
@@ -325,6 +345,7 @@ static void showq_reasons(VSTREAM *client, BOUNCE_LOG *bp, RCPT_BUF *rcpt_buf,
                htable_enter(dup_filter, rcpt->address, (void *) 0);
 
        attr_print(client, ATTR_FLAG_MORE,
+                  SEND_ATTR_STR(MAIL_ATTR_ORCPT, rcpt->orig_addr),
                   SEND_ATTR_STR(MAIL_ATTR_RECIP, rcpt->address),
                   SEND_ATTR_STR(MAIL_ATTR_WHY, dsn->reason),
                   ATTR_TYPE_END);
index 73d1cd96274586197425c3e4f4bc906c7752cebb..028f48c3239b2197f42d4439cd9c3411e4075b52 100644 (file)
@@ -187,9 +187,16 @@ int     smtp_tls_authorize_mx_hostname(SMTP_TLS_POLICY *tls, const char *name)
        } else
 #endif
            aname = name;
-       for (pattp = tls->ext_mx_host_patterns->argv; *pattp; pattp++)
-           if (match_sts_mx_host_pattern(*pattp, aname))
+       for (pattp = tls->ext_mx_host_patterns->argv; *pattp; pattp++) {
+           if (match_sts_mx_host_pattern(*pattp, aname)) {
+               if (msg_verbose)
+                   msg_info("MX name '%s' matches STS MX pattern for '%s'",
+                   aname, tls->ext_policy_domain ? tls->ext_policy_domain : "");
                return (1);
+           }
+       }
+       msg_warn("MX name '%s' does not match STS MX pattern for '%s'",
+                aname, tls->ext_policy_domain ? tls->ext_policy_domain : "");
        return (0);
     }
     /* No applicable policy name patterns. */
index b22be52c36de496923812ed370173b071707c605..b8af711056127f0e4ff3bfb2a4df780a3533f7b8 100644 (file)
@@ -312,13 +312,15 @@ static void smtp_tlsrpt_set_ext_policy(SMTP_STATE *state)
     if (tls->ext_policy_type == 0)
        msg_panic("smtp_tlsrpt_set_ext_policy: no policy type");
 
+#define ARGV_OR_NULL(ap) ((ap) ? (ap)->argv : 0)
+
     switch (policy_type_val =
            convert_tlsrpt_policy_type(tls->ext_policy_type)) {
     case TLSRPT_POLICY_STS:
        trw_set_tls_policy(state->tlsrpt, policy_type_val,
-                       (const char *const *) tls->ext_policy_strings->argv,
+               (const char *const *) ARGV_OR_NULL(tls->ext_policy_strings),
                           tls->ext_policy_domain,
-                    (const char *const *) tls->ext_mx_host_patterns->argv);
+            (const char *const *) ARGV_OR_NULL(tls->ext_mx_host_patterns));
        break;
     case TLSRPT_NO_POLICY_FOUND:
        smtp_tlsrpt_set_no_policy(state);
index 5eb6027cea09b3a0f42324b2d64647f0192fbd32..cef9a4f2394cc2d7aefca4bbd584edbbcc2f34b1 100644 (file)
@@ -546,6 +546,7 @@ static bool tlsp_pre_jail_done;
 static int ask_client_cert;
 static char *tlsp_pre_jail_client_param_key;   /* pre-jail global params */
 static char *tlsp_pre_jail_client_init_key;    /* pre-jail init props */
+static const char *server_role_disabled;
 
  /*
   * TLS per-client status.
@@ -1481,6 +1482,8 @@ static void tlsp_get_request_event(int event, void *context)
     case TLS_PROXY_FLAG_ROLE_SERVER:
        state->is_server_role = 1;
        ready = (tlsp_server_ctx != 0);
+       if (server_role_disabled)
+           msg_warn("%s", server_role_disabled);
        break;
     default:
        state->is_server_role = 0;
@@ -1593,8 +1596,7 @@ static void pre_jail_init_server(void)
     }
     var_tlsp_use_tls = var_tlsp_use_tls || var_tlsp_enforce_tls;
     if (!var_tlsp_use_tls) {
-       msg_warn("TLS server role is disabled with %s or %s",
-                VAR_TLSP_TLS_LEVEL, VAR_TLSP_USE_TLS);
+       server_role_disabled = "TLS server role is disabled by configuration";
        return;
     }