]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-3.11-20251030
authorWietse Z Venema <wietse@porcupine.org>
Thu, 30 Oct 2025 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <ietf-dane@dukhovni.org>
Thu, 30 Oct 2025 04:55:03 +0000 (15:55 +1100)
20 files changed:
postfix/HISTORY
postfix/README_FILES/DEPRECATION_README
postfix/html/DEPRECATION_README.html
postfix/html/posttls-finger.1.html
postfix/man/man1/posttls-finger.1
postfix/proto/DEPRECATION_README.html
postfix/src/global/mail_version.h
postfix/src/postconf/Makefile.in
postfix/src/postconf/postconf_unused.c
postfix/src/postconf/test2.ref
postfix/src/postconf/test28.ref
postfix/src/postconf/test29.ref
postfix/src/postconf/test57.ref
postfix/src/postconf/test59.ref
postfix/src/postconf/test67.ref
postfix/src/postconf/test76.ref
postfix/src/postconf/test77.ref
postfix/src/postconf/test78.ref
postfix/src/postconf/test79.ref
postfix/src/posttls-finger/posttls-finger.c

index bd3cd5d0bb3c931420b1fe05005cba22d51054f6..e9017bb139f475a7a1dabbabd46d0b9e6432f3c8 100644 (file)
@@ -29710,12 +29710,12 @@ Apologies for any names omitted.
        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,
+       authorized_verp_clients, fallback_relay, lmtp_per_record_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,
+       smtp_per_record_deadline, tlsproxy_client_level,
        tlsproxy_client_policy, virtual_maps. Files: mantools/postlink,
        proto/DEPRECATION_README.html, postconf/postconf_unused.c.
 
@@ -29750,3 +29750,18 @@ Apologies for any names omitted.
        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.
+
+20251029
+
+       Cleanup: postconf(1) logged a few wrong deprecated parameter
+       names (Viktor Dukhovni). Sort the order of unused and
+       deprecated warnings to make test results predictable.
+       Files: proto/DEPRECATION_README.html, postconf/Makefile.in,
+       postconf/postconf_unused.c, postconf/test28.ref,
+       postconf/test29.ref, postconf/test2.ref, postconf/test57.ref,
+       postconf/test59.ref, postconf/test67.ref, postconf/test76.ref,
+       postconf/test77.ref, postconf/test78.ref, postconf/test79.ref.
+
+       Debugging: depending on OpenSSL build options, "posttls-finger
+       -L ssl-debug" will decode TLS handshake messages. Viktor
+       Dukhovni. File: posttls-finger/posttls-finger.c
index eccc37f9ee4497d1a301d824c4c21960c103a131..d1729b24b66cf4672760a2fc9172b095539c5e73 100644 (file)
@@ -62,7 +62,7 @@ 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 |
     |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           |
+    |lmtp_per_record_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 |
@@ -74,7 +74,9 @@ 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 |
     |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           |
+    |smtpd_per_record_deadline               |  3.11 |    -  |smtpd_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 |
+    |smtp_per_record_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 |
@@ -119,7 +121,7 @@ The postconf(1) command logs one or more of the following:
     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,
+  * support for parameter "lmtp_per_record_deadline" will be removed; instead,
     specify "lmtp_per_request_deadline"
   * support for parameter "postscreen_blacklist_action" will be removed;
     instead, specify "postscreen_denylist_action"
@@ -131,7 +133,7 @@ The postconf(1) command logs one or more of the following:
     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,
+  * support for parameter "smtp_per_record_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"
index 3960f7b86ef51e684aefcd84544f7a3c4e9111cf..a5fec1f52a281fb79dc20c5be86bbce2e813e3c3 100644 (file)
@@ -112,7 +112,7 @@ detailed description. </p>
 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>
+<tr> <td> <a href="#renamed"> lmtp_per_record_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>
 
@@ -138,7 +138,11 @@ align="center"> 3.11 </td> <td align="center"> - </td> <td>
 </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>
+<tr> <td> <a href="#renamed"> smtpd_per_record_deadline </a> </td>
+<td align="center"> 3.11 </td> <td align="center"> - </td> <td>
+<a href="postconf.5.html#smtpd_per_request_deadline">smtpd_per_request_deadline</a> </td> </tr>
+
+<tr> <td> <a href="#renamed"> smtp_per_record_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>
 
@@ -241,7 +245,7 @@ instead, specify "<a href="postconf.5.html#smtpd_authorized_verp_clients">smtpd_
 <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
+<li> support for parameter "<a href="postconf.5.html#lmtp_per_record_deadline">lmtp_per_record_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
@@ -261,7 +265,7 @@ be removed; instead, specify "<a href="postconf.5.html#postscreen_allowlist_inte
 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
+<li> support for parameter "<a href="postconf.5.html#smtp_per_record_deadline">smtp_per_record_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;
index 4b713678d0b217e9b02e838f87821f0e1349e609..d52b306fb1cfe10e37d864d930c8b03b44cfc3b3 100644 (file)
@@ -194,96 +194,97 @@ POSTTLS-FINGER(1)                                            POSTTLS-FINGER(1)
 
               <b>ssl-debug</b>
                      Turn  on OpenSSL logging of the progress of the SSL hand-
-                     shake.
+                     shake.  This includes detailed output  of  decoded  hand-
+                     shake messages.
 
               <b>ssl-handshake-packet-dump</b>
-                     Log hexadecimal packet dumps of the  SSL  handshake;  for
+                     Log  hexadecimal  packet  dumps of the SSL handshake; for
                      experts only.
 
               <b>ssl-session-packet-dump</b>
-                     Log  hexadecimal  packet dumps of the entire SSL session;
-                     only useful to those who can debug SSL protocol  problems
+                     Log hexadecimal packet dumps of the entire  SSL  session;
+                     only  useful to those who can debug SSL protocol problems
                      from hex dumps.
 
               <b>untrusted</b>
-                     Logs  trust  chain verification problems.  This is turned
-                     on automatically at security levels that use  peer  names
-                     signed  by Certification Authorities to validate certifi-
-                     cates.  So while this setting is recognized,  you  should
+                     Logs trust chain verification problems.  This  is  turned
+                     on  automatically  at security levels that use peer names
+                     signed by Certification Authorities to validate  certifi-
+                     cates.   So  while this setting is recognized, you should
                      never need to set it explicitly.
 
               <b>peercert</b>
-                     This  logs  a  one line summary of the remote SMTP server
+                     This logs a one line summary of the  remote  SMTP  server
                      certificate subject, issuer, and fingerprints.
 
               <b>certmatch</b>
-                     This logs remote SMTP server certificate matching,  show-
+                     This  logs remote SMTP server certificate matching, show-
                      ing  the  CN  and  each  subjectAltName  and  which  name
-                     matched.   With  DANE,  logs  matching  of  TLSA   record
+                     matched.    With  DANE,  logs  matching  of  TLSA  record
                      trust-anchor and end-entity certificates.
 
-              <b>cache</b>  This  logs session cache operations, showing whether ses-
-                     sion caching is effective with the  remote  SMTP  server.
-                     Automatically  used when reconnecting with the <b>-r</b> option;
+              <b>cache</b>  This logs session cache operations, showing whether  ses-
+                     sion  caching  is  effective with the remote SMTP server.
+                     Automatically used when reconnecting with the <b>-r</b>  option;
                      rarely needs to be set explicitly.
 
               <b>verbose</b>
                      Enables  verbose  logging  in  the  Postfix  TLS  driver;
                      includes all of peercert..cache and more.
 
-              The  default  is <b>routine,certmatch</b>. After a reconnect, <b>peercert</b>,
+              The default is <b>routine,certmatch</b>. After a  reconnect,  <b>peercert</b>,
               <b>certmatch</b> and <b>verbose</b> are automatically disabled while <b>cache</b> and
               <b>summary</b> are enabled.
 
        <b>-m</b> <i>count</i> (default: <b>5</b>)
-              When  the <b>-r</b> <i>delay</i> option is specified, the <b>-m</b> option determines
-              the maximum number of reconnect attempts to use  with  a  server
-              behind  a  load  balancer,  to see whether connection caching is
-              likely to be effective for this destination.   Some  MTAs  don't
-              expose  the  underlying  server identity in their EHLO response;
-              with these servers there will never be more than 1  reconnection
+              When the <b>-r</b> <i>delay</i> option is specified, the <b>-m</b> option  determines
+              the  maximum  number  of reconnect attempts to use with a server
+              behind a load balancer, to see  whether  connection  caching  is
+              likely  to  be  effective for this destination.  Some MTAs don't
+              expose the underlying server identity in  their  EHLO  response;
+              with  these servers there will never be more than 1 reconnection
               attempt.
 
        <b>-M</b> <i>insecure</i><b>_</b><i>mx</i><b>_</b><i>policy</i> (default: <b>dane</b>)
-              The  TLS policy for MX hosts with "secure" TLSA records when the
-              nexthop destination security level is <b>dane</b>, but  the  MX  record
+              The TLS policy for MX hosts with "secure" TLSA records when  the
+              nexthop  destination  security  level is <b>dane</b>, but the MX record
               was found via an "insecure" MX lookup.  See the <a href="postconf.5.html">main.cf</a> documen-
               tation for <a href="postconf.5.html#smtp_tls_dane_insecure_mx_policy">smtp_tls_dane_insecure_mx_policy</a> for details.
 
        <b>-o</b> <i>name=value</i>
-              Specify zero or more times to override the value of the  <a href="postconf.5.html">main.cf</a>
-              parameter  <i>name</i> with <i>value</i>.  Possible use-cases include overrid-
-              ing the values of TLS library  parameters,  or  "<a href="postconf.5.html#myhostname">myhostname</a>"  to
+              Specify  zero or more times to override the value of the <a href="postconf.5.html">main.cf</a>
+              parameter <i>name</i> with <i>value</i>.  Possible use-cases include  overrid-
+              ing  the  values  of  TLS library parameters, or "<a href="postconf.5.html#myhostname">myhostname</a>" to
               configure the SMTP EHLO name sent to the remote server.
 
        <b>-p</b> <i>protocols</i> (default: &gt;=TLSv1)
-              TLS  protocols  that  <a href="posttls-finger.1.html"><b>posttls-finger</b>(1)</a> will exclude or include.
+              TLS protocols that <a href="posttls-finger.1.html"><b>posttls-finger</b>(1)</a> will  exclude  or  include.
               See <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> for details.
 
        <b>-P</b> <i>CApath/</i> (default: none)
-              The OpenSSL CApath/  directory  (indexed  via  c_rehash(1))  for
+              The  OpenSSL  CApath/  directory  (indexed  via c_rehash(1)) for
               remote SMTP server certificate verification.  By default no CAp-
               ath is used and no public CAs are trusted.
 
        <b>-r</b> <i>delay</i>
-              With a cacheable TLS session,  disconnect  and  reconnect  after
+              With  a  cacheable  TLS  session, disconnect and reconnect after
               <i>delay</i> seconds. Report whether the session is re-used. Retry if a
-              new server is encountered, up to 5 times or  as  specified  with
-              the  <b>-m</b>  option.  By default reconnection is disabled, specify a
+              new  server  is  encountered, up to 5 times or as specified with
+              the <b>-m</b> option.  By default reconnection is disabled,  specify  a
               positive delay to enable this behavior.
 
        <b>-R</b>     Use SRV lookup instead of MX.
 
        <b>-s</b> <i>servername</i>
-              The server name to send with  the  TLS  Server  Name  Indication
-              (SNI)  extension.   When  the server has DANE TLSA records, this
-              parameter is ignored and the TLSA base domain is  used  instead.
-              Otherwise,  SNI  is  not  used by default, but can be enabled by
+              The  server  name  to  send  with the TLS Server Name Indication
+              (SNI) extension.  When the server has DANE  TLSA  records,  this
+              parameter  is  ignored and the TLSA base domain is used instead.
+              Otherwise, SNI is not used by default, but  can  be  enabled  by
               specifying the desired value with this option.
 
-       <b>-S</b>     Disable SMTP; that is, connect to an LMTP  server.  The  default
-              port  for  LMTP over TCP is 24.  Alternative ports can specified
-              by appending "<i>:servicename</i>" or ":<i>portnumber</i>" to the  destination
+       <b>-S</b>     Disable  SMTP;  that  is, connect to an LMTP server. The default
+              port for LMTP over TCP is 24.  Alternative ports  can  specified
+              by  appending "<i>:servicename</i>" or ":<i>portnumber</i>" to the destination
               argument.
 
        <b>-t</b> <i>timeout</i> (default: <b>30</b>)
@@ -291,41 +292,41 @@ POSTTLS-FINGER(1)                                            POSTTLS-FINGER(1)
               reading the remote server's 220 banner.
 
        <b>-T</b> <i>timeout</i> (default: <b>30</b>)
-              The SMTP/LMTP command timeout for EHLO/LHLO, STARTTLS and  QUIT.
+              The  SMTP/LMTP command timeout for EHLO/LHLO, STARTTLS and QUIT.
 
-       <b>-v</b>     Enable  verbose  Postfix  logging.   Specify  more  than once to
+       <b>-v</b>     Enable verbose Postfix  logging.   Specify  more  than  once  to
               increase the level of verbose logging.
 
-       <b>-w</b>     Enable outgoing TLS wrapper mode, or SUBMISSIONS/SMTPS  support.
-              This  is typically provided on port 465 by servers that are com-
-              patible with the SMTP-in-SSL protocol, rather than the  STARTTLS
-              protocol.   The  destination  <i>domain</i>:<i>port</i> must of course provide
+       <b>-w</b>     Enable  outgoing TLS wrapper mode, or SUBMISSIONS/SMTPS support.
+              This is typically provided on port 465 by servers that are  com-
+              patible  with the SMTP-in-SSL protocol, rather than the STARTTLS
+              protocol.  The destination <i>domain</i>:<i>port</i> must  of  course  provide
               such a service.
 
-       <b>-x</b>     Prefer <a href="https://tools.ietf.org/html/rfc7250">RFC7250</a> non-X.509 raw public  key  (RPK)  server  creden-
-              tials.   By  default only X.509 certificates are accepted.  This
+       <b>-x</b>     Prefer  <a href="https://tools.ietf.org/html/rfc7250">RFC7250</a>  non-X.509  raw  public key (RPK) server creden-
+              tials.  By default only X.509 certificates are  accepted.   This
               is analogous to setting <b><a href="postconf.5.html#smtp_tls_enable_rpk">smtp_tls_enable_rpk</a> = yes</b> in the <a href="smtp.8.html">smtp(8)</a>
               client.  At the fingerprint security level, when raw public keys
-              are enabled, only public key (and not certificate)  fingerprints
-              will  be compared against the specified list of <i>match</i> arguments.
-              Certificate fingerprints are fragile when raw  public  keys  are
-              solicited,  the server may at some point in time start returning
+              are  enabled, only public key (and not certificate) fingerprints
+              will be compared against the specified list of <i>match</i>  arguments.
+              Certificate  fingerprints  are  fragile when raw public keys are
+              solicited, the server may at some point in time start  returning
               only the public key.
 
-       <b>-X</b>     Enable <a href="tlsproxy.8.html"><b>tlsproxy</b>(8)</a> mode. This is an unsupported mode,  for  pro-
+       <b>-X</b>     Enable  <a href="tlsproxy.8.html"><b>tlsproxy</b>(8)</a>  mode. This is an unsupported mode, for pro-
               gram development only.
 
        [<b>inet:</b>]<i>domain</i>[:<i>port</i>]
               Connect via TCP to domain <i>domain</i>, port <i>port</i>. The default port is
-              <b>smtp</b> (or 24 with LMTP).  With SMTP an MX lookup is performed  to
-              resolve  the  domain to a host, unless the domain is enclosed in
-              <b>[]</b>.  If you want to connect to a specific MX host, for  instance
-              <i>mx1.example.com</i>,  specify  [<i>mx1.example.com</i>]  as the destination
+              <b>smtp</b>  (or 24 with LMTP).  With SMTP an MX lookup is performed to
+              resolve the domain to a host, unless the domain is  enclosed  in
+              <b>[]</b>.   If you want to connect to a specific MX host, for instance
+              <i>mx1.example.com</i>, specify [<i>mx1.example.com</i>]  as  the  destination
               and <i>example.com</i> as a <b>match</b> argument.  When using DNS, the desti-
-              nation  domain  is assumed fully qualified and no <a href="ADDRESS_CLASS_README.html#default_domain_class">default domain</a>
-              or search suffixes are applied;  you  must  use  fully-qualified
-              names  or  also  enable <b>native</b> host lookups (these don't support
-              <b>dane</b> or <b>dane-only</b> as no DNSSEC validation information is  avail-
+              nation domain is assumed fully qualified and no  default  domain
+              or  search  suffixes  are  applied; you must use fully-qualified
+              names or also enable <b>native</b> host lookups  (these  don't  support
+              <b>dane</b>  or <b>dane-only</b> as no DNSSEC validation information is avail-
               able via <b>native</b> lookups).
 
        <b>unix:</b><i>pathname</i>
@@ -334,8 +335,8 @@ POSTTLS-FINGER(1)                                            POSTTLS-FINGER(1)
        <b>match ...</b>
               With no match arguments specified, certificate peername matching
               uses the compiled-in default strategies for each security level.
-              If  you specify one or more arguments, these will be used as the
-              list of certificate or public-key digests to match for the  <b>fin-</b>
+              If you specify one or more arguments, these will be used as  the
+              list  of certificate or public-key digests to match for the <b>fin-</b>
               <b>gerprint</b> level, or as the list of DNS names to match in the cer-
               tificate at the <b>verify</b> and <b>secure</b> levels.  If the security level
               is <b>dane</b>, or <b>dane-only</b> the match names are ignored, and <b>hostname,</b>
index 3cba97253c83b4b72efbe2cb6806cf4ead1c9e68..ee8bd8a685db2665a9ef94994ec85607ee6da5f9 100644 (file)
@@ -180,7 +180,8 @@ For experts only.
 These synonymous values combine ssl\-expert with ssl\-session\-packet\-dump.
 For experts only, and in most cases, use wireshark instead.
 .IP "\fBssl\-debug\fR"
-Turn on OpenSSL logging of the progress of the SSL handshake.
+Turn on OpenSSL logging of the progress of the SSL handshake.  This
+includes detailed output of decoded handshake messages.
 .IP "\fBssl\-handshake\-packet\-dump\fR"
 Log hexadecimal packet dumps of the SSL handshake; for experts only.
 .IP "\fBssl\-session\-packet\-dump\fR"
index e9d68ed7ee6eff09daefffa054413b9633f05c9f..dad5fe86e2baa3c0f81444e1c46d57188b0cf57b 100644 (file)
@@ -112,7 +112,7 @@ smtpd_authorized_verp_clients </td> </tr>
 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>
+<tr> <td> <a href="#renamed"> lmtp_per_record_deadline </a> </td>
 <td align="center"> 3.11 </td> <td align="center"> - </td> <td>
 lmtp_per_request_deadline </td> </tr>
 
@@ -138,7 +138,11 @@ postscreen_dnsbl_allowlist_threshold </td> </tr>
 </td> <td>
 smtpd_client_event_limit_exceptions </td> </tr>
 
-<tr> <td> <a href="#renamed"> smtp_per_request_deadline </a> </td>
+<tr> <td> <a href="#renamed"> smtpd_per_record_deadline </a> </td>
+<td align="center"> 3.11 </td> <td align="center"> - </td> <td>
+smtpd_per_request_deadline </td> </tr>
+
+<tr> <td> <a href="#renamed"> smtp_per_record_deadline </a> </td>
 <td align="center"> 3.11 </td> <td align="center"> - </td> <td>
 smtp_per_request_deadline </td> </tr>
 
@@ -241,7 +245,7 @@ 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
+<li> support for parameter "lmtp_per_record_deadline" will be
 removed; instead, specify "lmtp_per_request_deadline" </li>
 
 <li> support for parameter "postscreen_blacklist_action" will be
@@ -261,7 +265,7 @@ be removed; instead, specify "postscreen_allowlist_interfaces" </li>
 will be removed; instead, specify "smtpd_client_event_limit_exceptions"
 </li>
 
-<li> support for parameter "smtp_per_request_deadline" will be
+<li> support for parameter "smtp_per_record_deadline" will be
 removed; instead, specify "smtp_per_request_deadline" </li>
 
 <li> support for parameter "tlsproxy_client_level" will be removed;
index 9c379e9eaa758254d7c1d435c2c37c6c52a9d7a6..ec7d136fac38f24c45d140b219762cf5fde455ca 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      "20251029"
+#define MAIL_RELEASE_DATE      "20251030"
 #define MAIL_VERSION_NUMBER    "3.11"
 
 #ifdef SNAPSHOT
index f607792d745c165fda60b26122344830cf1e405b..5139e1c0b2d2f261d313040b08f5ba8de475fc1a 100644 (file)
@@ -1102,13 +1102,14 @@ test79: $(PROG) test79.ref
            config_directory=. \
            authorized_verp_clients=x \
            fallback_relay=x \
-           lmtp_per_request_deadline=x \
+           lmtp_per_record_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 \
+           smtpd_per_record_deadline=x \
+           smtp_per_record_deadline=x \
            tlsproxy_client_level=x \
            tlsproxy_client_policy=x \
            virtual_maps=x \
@@ -1432,6 +1433,7 @@ postconf_unused.o: ../../include/mail_conf.h
 postconf_unused.o: ../../include/mail_params.h
 postconf_unused.o: ../../include/msg.h
 postconf_unused.o: ../../include/myflock.h
+postconf_unused.o: ../../include/mymalloc.h
 postconf_unused.o: ../../include/name_code.h
 postconf_unused.o: ../../include/sys_defs.h
 postconf_unused.o: ../../include/vbuf.h
index c77c8b622b859a33181d223c13b5101178013c75..bf101119d16c58ec4139125fa60df7465fd2fad4 100644 (file)
 /* System library. */
 
 #include <sys_defs.h>
+#include <string.h>
 
 /* Utility library. */
 
 #include <msg.h>
+#include <mymalloc.h>
 #include <dict.h>
 #include <vstream.h>
 
@@ -105,14 +107,15 @@ static const PCF_DEPR_PARAM_INFO pcf_depr_param_info[] = {
      */
     "authorized_verp_clients", "specify \"smtpd_authorized_verp_clients\"",
     "fallback_relay", "specify \"smtp_fallback_relay\"",
-    "lmtp_per_request_deadline", "specify \"lmtp_per_request_deadline\"",
+    "lmtp_per_record_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\"",
+    "smtpd_per_record_deadline", "specify \"smtpd_per_request_deadline\"",
+    "smtp_per_record_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\"",
@@ -133,6 +136,8 @@ static const PCF_DEPR_PARAM_INFO pcf_depr_param_info[] = {
 static HTABLE *pcf_depr_param_table;
 int     pcf_found_deprecated;
 
+#define STR(x) vstring_str(x)
+
 /* pcf_init_depr_params - initialize lookup table */
 
 static void pcf_init_depr_params(void)
@@ -144,6 +149,16 @@ static void pcf_init_depr_params(void)
        (void) htable_enter(pcf_depr_param_table, dp->name, (void *) dp);
 }
 
+/* pcf_cmp_ht_key - qsort helper for ht_info pointer array */
+
+static int pcf_cmp_ht_key(const void *a, const void *b)
+{
+    HTABLE_INFO **ap = (HTABLE_INFO **) a;
+    HTABLE_INFO **bp = (HTABLE_INFO **) b;
+
+    return (strcmp(ap[0]->key, bp[0]->key));
+}
+
 /* pcf_flag_unused_parameters - warn about unused parameters */
 
 static void pcf_flag_unused_parameters(DICT *dict, const char *conf_name,
@@ -154,6 +169,8 @@ static void pcf_flag_unused_parameters(DICT *dict, const char *conf_name,
     const char *param_name;
     const char *param_value;
     int     how;
+    HTABLE *flagged;
+    VSTRING *buf;
 
     /*
      * Sanity checks.
@@ -175,6 +192,8 @@ static void pcf_flag_unused_parameters(DICT *dict, const char *conf_name,
      * anywhere, or that are deprecated. Show the warning message(s) after
      * the end of the stdout output.
      */
+    flagged = htable_create(1);
+    buf = vstring_alloc(100);
     for (how = DICT_SEQ_FUN_FIRST;
         dict->sequence(dict, how, &param_name, &param_value) == 0;
         how = DICT_SEQ_FUN_NEXT) {
@@ -186,17 +205,18 @@ static void pcf_flag_unused_parameters(DICT *dict, const char *conf_name,
        if (PCF_PARAM_TABLE_LOCATE(pcf_param_table, param_name) == 0
            && (local_scope == 0
                || PCF_PARAM_TABLE_LOCATE(local_scope->valid_names, param_name) == 0)) {
-           vstream_fflush(VSTREAM_OUT);
            if ((dp = (const PCF_DEPR_PARAM_INFO *)
                 htable_find(pcf_depr_param_table, param_name)) != 0) {
-               msg_warn("%s/%s: support for parameter %s has been removed;"
-                        " instead, %s", var_config_dir, conf_name,
-                        param_name, dp->alternative);
+               vstring_sprintf(buf, "%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);
+               vstring_sprintf(buf, "%s/%s: unused parameter: %s=%s",
+                       var_config_dir, conf_name, param_name, param_value);
            }
+           (void) htable_enter(flagged, param_name, mystrdup(STR(buf)));
        }
 
        /*
@@ -206,13 +226,32 @@ static void pcf_flag_unused_parameters(DICT *dict, const char *conf_name,
         */
        else if ((dp = (const PCF_DEPR_PARAM_INFO *)
                  htable_find(pcf_depr_param_table, param_name)) != 0) {
-           vstream_fflush(VSTREAM_OUT);
-           msg_warn("%s/%s: support for parameter \"%s\" will be removed;"
-                    " instead, %s", var_config_dir, conf_name,
-                    param_name, dp->alternative);
+           vstring_sprintf(buf, "%s/%s: support for parameter \"%s\""
+                           " will be removed; instead, %s",
+                           var_config_dir, conf_name,
+                           param_name, dp->alternative);
            pcf_found_deprecated = 1;
+           (void) htable_enter(flagged, param_name, mystrdup(STR(buf)));
        }
     }
+
+    /*
+     * Log flagged parameters in sorted order, for predictable results.
+     */
+    if (flagged->used > 0) {
+       HTABLE_INFO **ht_info;
+       HTABLE_INFO **ht;
+
+       vstream_fflush(VSTREAM_OUT);
+       ht_info = htable_list(flagged);
+       qsort((void *) ht_info, flagged->used, sizeof(*ht_info),
+             pcf_cmp_ht_key);
+       for (ht = ht_info; *ht; ht++)
+           msg_warn("%s", (char *) ht[0]->value);
+       myfree(ht_info);
+    }
+    htable_free(flagged, myfree);
+    vstring_free(buf);
 }
 
 /* pcf_flag_unused_main_parameters - warn about unused parameters */
index 49af249a357028ea9cef4ccaa2b82521ab9685ff..ff25b0bd8de831a423abf6aa96e422e6f6140c88 100644 (file)
@@ -1,3 +1,3 @@
 config_directory = .
-./postconf: warning: ./main.cf: unused parameter: restriction_classes=foo bar
 ./postconf: warning: ./main.cf: unused parameter: foo=yes
+./postconf: warning: ./main.cf: unused parameter: restriction_classes=foo bar
index 4e9373463f066e9f81025f6070149c50bfe11e27..db80a8eebcc40b74e5756ca50cb0993d45dfd1a3 100644 (file)
@@ -5,6 +5,6 @@ header_checks = ldap:hh
 hh_domain = whatever
 yy = aap
 zz = $yy
+./postconf: warning: ./main.cf: unused parameter: aa_domain=whatever
 ./postconf: warning: ./main.cf: unused parameter: foo_domain=bar
 ./postconf: warning: ./main.cf: unused parameter: xx=proxy:ldap:foo
-./postconf: warning: ./main.cf: unused parameter: aa_domain=whatever
index c3bbaecab6ffdd680f3e5310355f5fea449871c2..8f37322486e51e882d5d53afb585638ba5dee9ed 100644 (file)
@@ -1,19 +1,19 @@
 config_directory = .
-./postconf: warning: ./main.cf: unused parameter: pgsqlfoo_domain=bar
-./postconf: warning: ./main.cf: unused parameter: sqlitefoo_domain=bar
+./postconf: warning: ./main.cf: unused parameter: ldapfoo_domain=bar
+./postconf: warning: ./main.cf: unused parameter: ldapfoo_domainx=bar
 ./postconf: warning: ./main.cf: unused parameter: ldapxx=proxy:ldap:ldapfoo
-./postconf: warning: ./main.cf: unused parameter: mongodbfoo_domain=bar
-./postconf: warning: ./main.cf: unused parameter: sqlitexx=proxy:sqlite:sqlitefoo
-./postconf: warning: ./main.cf: unused parameter: mysqlfoo_domain=bar
-./postconf: warning: ./main.cf: unused parameter: sqlitefoo_domainx=bar
 ./postconf: warning: ./main.cf: unused parameter: memcachefoo_domain=bar
-./postconf: warning: ./main.cf: unused parameter: pgsqlfoo_domainx=bar
-./postconf: warning: ./main.cf: unused parameter: mongodbfoo_domainx=bar
-./postconf: warning: ./main.cf: unused parameter: ldapfoo_domainx=bar
-./postconf: warning: ./main.cf: unused parameter: ldapfoo_domain=bar
-./postconf: warning: ./main.cf: unused parameter: memcachexx=proxy:memcache:memcachefoo
 ./postconf: warning: ./main.cf: unused parameter: memcachefoo_domainx=bar
+./postconf: warning: ./main.cf: unused parameter: memcachexx=proxy:memcache:memcachefoo
+./postconf: warning: ./main.cf: unused parameter: mongodbfoo_domain=bar
+./postconf: warning: ./main.cf: unused parameter: mongodbfoo_domainx=bar
+./postconf: warning: ./main.cf: unused parameter: mongodbxx=proxy:mongodb:mongodbfoo
+./postconf: warning: ./main.cf: unused parameter: mysqlfoo_domain=bar
 ./postconf: warning: ./main.cf: unused parameter: mysqlfoo_domainx=bar
 ./postconf: warning: ./main.cf: unused parameter: mysqlxx=proxy:mysql:mysqlfoo
-./postconf: warning: ./main.cf: unused parameter: mongodbxx=proxy:mongodb:mongodbfoo
+./postconf: warning: ./main.cf: unused parameter: pgsqlfoo_domain=bar
+./postconf: warning: ./main.cf: unused parameter: pgsqlfoo_domainx=bar
 ./postconf: warning: ./main.cf: unused parameter: pgsqlxx=proxy:pgsql:pgsqlfoo
+./postconf: warning: ./main.cf: unused parameter: sqlitefoo_domain=bar
+./postconf: warning: ./main.cf: unused parameter: sqlitefoo_domainx=bar
+./postconf: warning: ./main.cf: unused parameter: sqlitexx=proxy:sqlite:sqlitefoo
index 362fd167a887177c4afb86c34d06af4d6e2cd066..9bb13926e616a373199c0f5c1f54eb7b22e202c3 100644 (file)
@@ -6,5 +6,5 @@ config_directory = .
 t1 = Postfix 2.11 compatible
 x = x-value
 y = y-value
-./postconf: warning: ./main.cf: unused parameter: t2=$t1
 ./postconf: warning: ./main.cf: unused parameter: foo=$bar$baz
+./postconf: warning: ./main.cf: unused parameter: t2=$t1
index c5cb3f6a08236e785cba74aa2da19e472ad1f953..3a7e57f6aa97e5c12a6281f2c12ae0600e998f34 100644 (file)
@@ -6,5 +6,5 @@ bar        inet  -       n       n       0       0       other
     -o {name2=value2a value2b}
     arg1a arg1b {arg2a arg2b} {arg3a arg3b}
 baz        unix  -       n       n       0       0       other
-./postconf: warning: ./master.cf: unused parameter: name2=value2a value2b
 ./postconf: warning: ./master.cf: unused parameter: name1=value1
+./postconf: warning: ./master.cf: unused parameter: name2=value2a value2b
index 2014e99253b3fdf443895b9a8c4644b038d9716c..03def6f4600a5d76e45ad337de841219373126c0 100644 (file)
@@ -4,7 +4,7 @@ smtp       inet  n       -       n       -       -       smtpd
 smtp       unix  n       -       n       -       -       smtp
     -o test2_process_name=smtp
     -o test2_service_name=smtp
-./postconf: warning: ./master.cf: unused parameter: test1_service_name=$service_name
 ./postconf: warning: ./master.cf: unused parameter: test1_process_name=$process_name
-./postconf: warning: ./master.cf: unused parameter: test2_service_name=$service_name
+./postconf: warning: ./master.cf: unused parameter: test1_service_name=$service_name
 ./postconf: warning: ./master.cf: unused parameter: test2_process_name=$process_name
+./postconf: warning: ./master.cf: unused parameter: test2_service_name=$service_name
index 57b5aabfe5c62ef220fd0c2eccf1f7e0cb62f626..710d6841e2e632a765c4b021330892a848b2c6f1 100644 (file)
@@ -2,9 +2,9 @@ config_directory = .
 disable_dns_lookups = no
 lmtp_use_tls = no
 smtpd_tls_dh1024_param_file = auto
+./postconf: warning: ./main.cf: support for parameter deleted-test-only has been removed; instead, do not specify
 ./postconf: warning: ./main.cf: support for parameter "disable_dns_lookups" will be removed; instead, specify "smtp_dns_support_level"
 ./postconf: warning: ./main.cf: support for parameter "lmtp_use_tls" will be removed; instead, specify "lmtp_tls_security_level"
 ./postconf: warning: ./main.cf: support for parameter "smtpd_tls_dh1024_param_file" will be removed; instead, do not specify (leave at default)
-./postconf: warning: ./main.cf: support for parameter deleted-test-only has been removed; instead, do not specify
 ./postconf: warning: ./master.cf: support for parameter "smtp_enforce_tls" will be removed; instead, specify "smtp_tls_security_level"
 ./postconf: warning: See https://www.postfix.org/DEPRECATION_README.html for details
index c8f7f04a2c5ce38dedc10261cacef23b36643aaf..1573220762a3e5f77f5ab3307527001a2fe2e9ee 100644 (file)
@@ -10,22 +10,22 @@ _proxy_debug_domain = whatever
 _unionmap_debug_domain = whatever
 config_directory = .
 header_checks = ldap:_baseline debug:ldap:_debug ${_debug}:ldap:_debugvar proxy:debug:ldap:_proxy_debug debug:proxy:ldap:_debug_proxy pipemap:{debug:ldap:_pipemap_debug} debug:pipemap:{ldap:_debug_pipemap} unionmap:{debug:ldap:_unionmap_debug} debug:unionmap:{ldap:_debug_unionmap}
-./postconf: warning: ./main.cf: unused parameter: _unused_debug_pipemap_domain=whatever
-./postconf: warning: ./main.cf: unused parameter: _unused_pipemap_debug_domain=whatever
-./postconf: warning: ./main.cf: unused parameter: _unionmap_debug_foo=whatever
-./postconf: warning: ./main.cf: unused parameter: _unused_unionmap_debug_domain=whatever
-./postconf: warning: ./main.cf: unused parameter: _unused_baseline_domain=whatever
-./postconf: warning: ./main.cf: unused parameter: _debugvar_foo=whatever
-./postconf: warning: ./main.cf: unused parameter: _unused_tables=ldap:_unused_baseline debug:ldap:_unused_debug ${_debug}:ldap:_unused_debugvar proxy:debug:ldap:_unused_proxy_debug debug:proxy:ldap:_unused_debug_proxy pipemap:{debug:ldap:_unused_pipemap_debug} debug:pipemap:{ldap:_unused_debug_pipemap} unionmap:{debug:ldap:_unused_unionmap_debug} debug:unionmap:{ldap:_unused_debug_unionmap}
-./postconf: warning: ./main.cf: unused parameter: _debug_pipemap_foo=whatever
+./postconf: warning: ./main.cf: unused parameter: _baseline_foo=whatever
 ./postconf: warning: ./main.cf: unused parameter: _debug_foo=whatever
-./postconf: warning: ./main.cf: unused parameter: _pipemap_debug_foo=whatever
-./postconf: warning: ./main.cf: unused parameter: _unused_debug_domain=whatever
-./postconf: warning: ./main.cf: unused parameter: _unused_proxy_debug_domain=whatever
+./postconf: warning: ./main.cf: unused parameter: _debug_pipemap_foo=whatever
 ./postconf: warning: ./main.cf: unused parameter: _debug_proxy_foo=whatever
-./postconf: warning: ./main.cf: unused parameter: _unused_debugvar_domain=whatever
-./postconf: warning: ./main.cf: unused parameter: _unused_debug_unionmap_domain=whatever
-./postconf: warning: ./main.cf: unused parameter: _baseline_foo=whatever
-./postconf: warning: ./main.cf: unused parameter: _proxy_debug_foo=whatever
 ./postconf: warning: ./main.cf: unused parameter: _debug_unionmap_foo=whatever
+./postconf: warning: ./main.cf: unused parameter: _debugvar_foo=whatever
+./postconf: warning: ./main.cf: unused parameter: _pipemap_debug_foo=whatever
+./postconf: warning: ./main.cf: unused parameter: _proxy_debug_foo=whatever
+./postconf: warning: ./main.cf: unused parameter: _unionmap_debug_foo=whatever
+./postconf: warning: ./main.cf: unused parameter: _unused_baseline_domain=whatever
+./postconf: warning: ./main.cf: unused parameter: _unused_debug_domain=whatever
+./postconf: warning: ./main.cf: unused parameter: _unused_debug_pipemap_domain=whatever
 ./postconf: warning: ./main.cf: unused parameter: _unused_debug_proxy_domain=whatever
+./postconf: warning: ./main.cf: unused parameter: _unused_debug_unionmap_domain=whatever
+./postconf: warning: ./main.cf: unused parameter: _unused_debugvar_domain=whatever
+./postconf: warning: ./main.cf: unused parameter: _unused_pipemap_debug_domain=whatever
+./postconf: warning: ./main.cf: unused parameter: _unused_proxy_debug_domain=whatever
+./postconf: warning: ./main.cf: unused parameter: _unused_tables=ldap:_unused_baseline debug:ldap:_unused_debug ${_debug}:ldap:_unused_debugvar proxy:debug:ldap:_unused_proxy_debug debug:proxy:ldap:_unused_debug_proxy pipemap:{debug:ldap:_unused_pipemap_debug} debug:pipemap:{ldap:_unused_debug_pipemap} unionmap:{debug:ldap:_unused_unionmap_debug} debug:unionmap:{ldap:_unused_debug_unionmap}
+./postconf: warning: ./main.cf: unused parameter: _unused_unionmap_debug_domain=whatever
index 47741a110fbda390fd42689e1a71807f49c9184b..75b483d7f087b16e6cfb9a575e65dfe1a81557dd 100644 (file)
@@ -1,8 +1,8 @@
 config_directory = .
 lmtp_tls_enforce_peername = yes
 smtp_tls_enforce_peername = yes
-./postconf: warning: ./main.cf: support for parameter "smtp_tls_enforce_peername" will be removed; instead, specify "smtp_tls_security_level"
 ./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: ./main.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: ./master.cf: support for parameter "smtp_tls_enforce_peername" will be removed; instead, specify "smtp_tls_security_level"
 ./postconf: warning: See https://www.postfix.org/DEPRECATION_README.html for details
index a9fe23e3fce85e69fef2d7bc2fbd24d359894b73..b5cfc8230dd005ee118b177982a2bb8fce79db29 100644 (file)
@@ -2,31 +2,33 @@ authorized_verp_clients = x
 config_directory = .
 fallback_relay = x
 lmtp_cname_overrides_servername = x
-lmtp_per_request_deadline = x
+lmtp_per_record_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
+smtp_per_record_deadline = x
 smtpd_client_connection_limit_exceptions = x
+smtpd_per_record_deadline = 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 "lmtp_per_record_deadline" will be removed; instead, specify "lmtp_per_request_deadline"
 ./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: ./main.cf: support for parameter "postscreen_dnsbl_ttl" will be removed; instead, specify "postscreen_dnsbl_max_ttl"
+./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_whitelist_interfaces" will be removed; instead, specify "postscreen_allowlist_interfaces"
+./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 "smtp_per_record_deadline" will be removed; instead, specify "smtp_per_request_deadline"
+./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 "smtpd_per_record_deadline" will be removed; instead, specify "smtpd_per_request_deadline"
+./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 "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: ./master.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: See https://www.postfix.org/DEPRECATION_README.html for details
index 38c2eae31232cbce9370141b640a2998a3af9de5..25f420bf28cab9f8629a62ad2fa46e2baf6b680e 100644 (file)
 /*     These synonymous values combine ssl-expert with ssl-session-packet-dump.
 /*     For experts only, and in most cases, use wireshark instead.
 /* .IP "\fBssl-debug\fR"
-/*     Turn on OpenSSL logging of the progress of the SSL handshake.
+/*     Turn on OpenSSL logging of the progress of the SSL handshake.  This
+/*     includes detailed output of decoded handshake messages.
 /* .IP "\fBssl-handshake-packet-dump\fR"
 /*     Log hexadecimal packet dumps of the SSL handshake; for experts only.
 /* .IP "\fBssl-session-packet-dump\fR"
@@ -1868,6 +1869,22 @@ static void usage(void)
     exit(1);
 }
 
+
+#ifndef OPENSSL_NO_SSL_TRACE
+static void ssl_trace(int write_p, int version, int content_type,
+                       const void *buf, size_t msglen, SSL *ssl, void *arg)
+{
+    BIO    *out = (BIO *) arg;
+
+    /* Avoid mixing BIO and vstream/stdio buffers */
+    vstream_fflush(VSTREAM_OUT);
+    SSL_trace(write_p, version, content_type, buf, msglen, ssl, out);
+    (void) BIO_flush(out);
+}
+
+#endif
+
+
 /* tls_init - initialize application TLS library context */
 
 static void tls_init(STATE *state)
@@ -1895,6 +1912,13 @@ static void tls_init(STATE *state)
                        CAfile = state->CAfile,
                        CApath = state->CApath,
                        mdalg = state->mdalg);
+#ifndef OPENSSL_NO_SSL_TRACE
+    if (state->tls_ctx != 0
+       && (state->log_mask & TLS_LOG_DEBUG)) {
+       SSL_CTX_set_msg_callback(state->tls_ctx->ssl_ctx, ssl_trace);
+       SSL_CTX_set_msg_callback_arg(state->tls_ctx->ssl_ctx, state->tls_bio);
+    }
+#endif
 #endif
 }
 
@@ -2248,6 +2272,7 @@ int     main(int argc, char *argv[])
        warn_compat_break_smtp_tls_fpt_dgst = 0;
     else
        state.mdalg = mystrdup(var_smtp_tls_fpt_dgst);
+    state.tls_bio = BIO_new_fp(stdout, BIO_NOCLOSE);
 
     /*
      * We first call tls_init(), which ultimately calls SSL_library_init(),
@@ -2259,9 +2284,6 @@ int     main(int argc, char *argv[])
        msg_warn("DANE TLS support is not available, resorting to \"secure\"");
        state.level = TLS_LEV_SECURE;
     }
-    state.tls_bio = 0;
-    if (state.print_trust)
-       state.tls_bio = BIO_new_fp(stdout, BIO_NOCLOSE);
 #endif
 
     /* Enforce consistent operation of different Postfix parts. */