]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-3.10-20241111
authorWietse Z Venema <wietse@porcupine.org>
Mon, 11 Nov 2024 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <ietf-dane@dukhovni.org>
Wed, 13 Nov 2024 10:55:27 +0000 (21:55 +1100)
13 files changed:
postfix/HISTORY
postfix/README_FILES/TLSRPT_README
postfix/RELEASE_NOTES
postfix/WISHLIST
postfix/html/TLSRPT_README.html
postfix/html/postconf.5.html
postfix/man/man5/postconf.5
postfix/proto/TLSRPT_README.html
postfix/proto/postconf.proto
postfix/src/cleanup/cleanup_api.c
postfix/src/global/dict_pgsql.c
postfix/src/global/mail_version.h
postfix/src/xsasl/xsasl_dovecot_server.c

index fa98c069bd232d85d60ab893362b933ebaa20643..b67c988eece78452f8a8a47357e05695c71e8fe4 100644 (file)
@@ -28446,7 +28446,7 @@ Apologies for any names omitted.
        connection target (the PostgreSQL URI parser decides what
        is allowed). The dbname setting is now optional if the hosts
        setting specifies only URIs. Files: util/valid_uri_scheme.[hc],
-       proto/pgsql_table.
+       proto/pgsql_table, global/dict_pgsql.c.
 
 202141026
 
@@ -28467,3 +28467,33 @@ Apologies for any names omitted.
        of sessions per SMTP server process (max_use), and on the
        number file handles per process (managed with sysctl).
        File: xsasl/xsasl_dovecot_server.c.
+
+20241031
+
+       Logging: the Dovecot SASL client logging for "Invalid
+       authentication mechanism" now includes the name of that
+       mechanism. File: xsasl/xsasl_dovecot_server.c
+
+20241104
+
+       Logging: when a message transaction is canceled (i.e.
+       started but not completed), the cleanup server now logs
+       "queueid: canceled". This provides a clear signal to logfile
+       collation tools. File: cleanup/cleanup_api.c.
+
+20241028
+
+       Documentation: TLSRPT_README, section "Delivering TLSRPT
+       summaries via email". File: proto/TLSRPT_README.html.
+
+20241107
+
+       Documentation: tweaked text for smtpd_delay_open_until_valid_rcpt.
+       File: proto/postconf.proto.
+
+20241111
+
+       Bugfix (defect introduced: Postfix 3.10, date 20241025):
+       dict_pgsql_open() returned NULL when "hosts" specified a
+       non-URI target and "dbname" was not set. Instead, it should
+       return a surrogate dictionary. File: global/dict_pgsql.c.
index c843098974cfcd0a08e124855b40d767b634ac68..14ecf3b80f553189ebf87d6d4ceef044a0a67118 100644 (file)
@@ -181,15 +181,16 @@ request that TLS enforcement will be disabled when submitting an email message.
 
 Options:
 
-  * Do nothing. When TLS security enforcement is required, a persistent
-    enforcement failure will delay the delivery of a TLSRPT summary until the
-    problem is addressed, or until the message expires in the mail queue. Keep
-    in mind that TLSRPT is not a real-time monitoring service; it takes on
-    average 12 hours before a failure is reported through TLSRPT.
+  * Do nothing. When TLS security enforcement is required but fails, a TLSRPT
+    summary message will be delayed until the problem is addressed, or until
+    the message expires in the mail queue. Keep in mind that TLSRPT is not a
+    real-time monitoring service; it takes on average 12 hours before a failure
+    is reported through TLSRPT.
 
-  * Exclude the sender of TLSRPT summaries from TLS enforcement. Implement the
-    configuration below on outbound MTA instances (replace noreply-smtp-tls-
-    reporting@example.com with your actual report generator's sender address):
+  * Exclude the sender of TLSRPT summaries from TLS security enforcement.
+    Implement the configuration below on outbound MTA instances (replace
+    noreply-smtp-tls-reporting@example.com with your actual report generator's
+    sender address):
 
     /etc/postfix/main.cf:
         # Limitation: this setting is overruled with transport_maps.
@@ -199,7 +200,7 @@ Options:
     /etc/postfix/master.cf:
         # service name    type    private unpriv  chroot  wakeup  maxproc
     command
-        allow-plaintext   unix    -       -       n       -       -       smtp
+        allow-plaintext   unix    -       -       -       -       -       smtp
             -o { smtp_tls_security_level = may }
             -o { smtp_tls_policy_maps = static:may }
 
index 660f335116d0ed2bf498ba09a6717cabe3864c5b..a0e19efe2bfb3bf955eb3603b09a6a732d0614ee 100644 (file)
@@ -26,6 +26,12 @@ now also distributed with the more recent Eclipse Public License
 license of their choice. Those who are more comfortable with the
 IPL can continue with that license.
 
+[Feature 20241104]
+
+The cleanup server now logs "queueid: canceled" when a message
+transaction is started but not completed. This provides a clear
+signal to logfile collation tools.
+
 [Feature 20240926]
 
 Support for the TLSRPT protocol (defined in RFC 8460). With this,
index c84db73bb149187f16834bfa9e680a24915da7b7..6a6cb0d51d98a739d11c5547f0621038e4869d3c 100644 (file)
@@ -8,16 +8,25 @@ Wish list:
 
        Add a mail_version chek to each pluggable database client.
 
-       Add an option for a built-in JSON generator. This would
-       simplify TLSRPT adoption by eliminating a build-time and
-       run-time dependency on the libtlsrpt client library. Prior
-       art: this approach was previously used to implement Postfix
-       Milter support.
+       relay_recipient_maps empty should default to 'no valid
+       recipients'. Subject to compatibility level.
+
+       Make a reason available for messages placed on 'hold'.
+
+       relay_recipient_maps empty should default to 'no valid
+       recipients'. Subject to compatibility level.
+
+       Add an option for a TLSRPT built-in JSON generator. This
+       would simplify TLSRPT adoption by eliminating a build-time
+       and run-time dependency on the libtlsrpt client library.
+       Prior art: this approach was previously used to implement
+       Postfix Milter support.
 
        Make TLSRPT support pluggable (postfix-tlsrpt.so, like
        postfix-ldap.so, postfix-mysql.so and so on). This avods a
        hard install-time dependency on sys4 libtlsrpt. The sys4
-       code would still be a build-time dependency.
+       code would still be a required build-time dependency, but
+       it would become an optional install-time dependency.
 
        Add smtp_tlsrpt_allow_list feature (default: static:all) to limit
        the domains for which Postfix generates TLSRPT daily summaries.
index a1fc10f249c7c644008cb28bffc417831ee3883a..6bbc0be28d8e94d04c591f0133c30953497ba1ab 100644 (file)
@@ -276,14 +276,15 @@ when submitting an email message. </p>
 
 <ul>
 
-<li> <p> Do nothing. When TLS security enforcement is required, a
-persistent enforcement failure will delay the delivery of a TLSRPT
-summary until the problem is addressed, or until the message expires
+<li> <p> Do nothing. When TLS security enforcement is required but
+fails, a TLSRPT summary message will be delayed
+until the problem is addressed, or until the message expires
 in the mail queue. Keep in mind that TLSRPT is not a real-time
 monitoring service; it takes on average 12 hours before a failure
 is reported through TLSRPT. </p>
 
-<li> <p> Exclude the sender of TLSRPT summaries from TLS enforcement.
+<li> <p> Exclude the sender of TLSRPT summaries from TLS security
+enforcement.
 Implement the configuration below on outbound MTA instances (replace
 noreply-smtp-tls-reporting@example.com with your actual report
 generator's sender address): </p>
@@ -296,7 +297,7 @@ generator's sender address): </p>
 &nbsp
 /etc/postfix/<a href="master.5.html">master.cf</a>:
     # service name    type    private unpriv  chroot  wakeup  maxproc command
-    allow-plaintext   unix    -       -       n       -       -       smtp
+    allow-plaintext   unix    -       -       -       -       -       smtp
         -o { <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = may }
         -o { <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> = <a href="DATABASE_README.html#types">static</a>:may }
 </pre>
index edfe80420ac085640c17e413b89fceaeed524c61..a40f79520f0c9e540d0ea41a67db359be1f83d7a 100644 (file)
@@ -15871,7 +15871,7 @@ command. </p>
 the use of
 disk, CPU and memory resources. The downside is that rejected
 recipients are logged with NOQUEUE instead of a mail transaction
-ID. This complicates the logfile analysis of multi-recipient mail.
+ID (also known as a queue ID).
 </p>
 
 <p> This feature is available in Postfix 2.3 and later. </p>
index 92dc865185f54c04cf1655b4a57a09ef49dbd99c..e10a94bdc089457d521c7053dbe4c4673f0988e5 100644 (file)
@@ -10670,7 +10670,7 @@ With sites that reject lots of mail, the default setting reduces
 the use of
 disk, CPU and memory resources. The downside is that rejected
 recipients are logged with NOQUEUE instead of a mail transaction
-ID. This complicates the logfile analysis of multi\-recipient mail.
+ID (also known as a queue ID).
 .PP
 This feature is available in Postfix 2.3 and later.
 .SH smtpd_delay_reject (default: yes)
index 503fd9dd3e6e0ee3d240d535fac49f561503b498..ce1f16a1671e5d7cb1d8d68d52d1a2238c2cb53f 100644 (file)
@@ -276,14 +276,15 @@ when submitting an email message. </p>
 
 <ul>
 
-<li> <p> Do nothing. When TLS security enforcement is required, a
-persistent enforcement failure will delay the delivery of a TLSRPT
-summary until the problem is addressed, or until the message expires
+<li> <p> Do nothing. When TLS security enforcement is required but
+fails, a TLSRPT summary message will be delayed
+until the problem is addressed, or until the message expires
 in the mail queue. Keep in mind that TLSRPT is not a real-time
 monitoring service; it takes on average 12 hours before a failure
 is reported through TLSRPT. </p>
 
-<li> <p> Exclude the sender of TLSRPT summaries from TLS enforcement.
+<li> <p> Exclude the sender of TLSRPT summaries from TLS security
+enforcement.
 Implement the configuration below on outbound MTA instances (replace
 noreply-smtp-tls-reporting@example.com with your actual report
 generator's sender address): </p>
@@ -296,7 +297,7 @@ generator's sender address): </p>
 &nbsp
 /etc/postfix/master.cf:
     # service name    type    private unpriv  chroot  wakeup  maxproc command
-    allow-plaintext   unix    -       -       n       -       -       smtp
+    allow-plaintext   unix    -       -       -       -       -       smtp
         -o { smtp_tls_security_level = may }
         -o { smtp_tls_policy_maps = static:may }
 </pre>
index dcbc8b2cceba225f44cbb6d6374a77a074ecc4f7..9ce5b6eab0a1fd7d66703ed9ff1ceb42beae84b0 100644 (file)
@@ -11476,7 +11476,7 @@ command. </p>
 the use of
 disk, CPU and memory resources. The downside is that rejected
 recipients are logged with NOQUEUE instead of a mail transaction
-ID. This complicates the logfile analysis of multi-recipient mail.
+ID (also known as a queue ID).
 </p>
 
 <p> This feature is available in Postfix 2.3 and later. </p>
index 9c8e70f7aaacb6ffcaf20897ec63709ceeb707ce..85ad1ae888a46d4b721276f65c55451250e065a3 100644 (file)
@@ -354,6 +354,7 @@ int     cleanup_flush(CLEANUP_STATE *state)
            (void) REMOVE(vstring_str(cleanup_trace_path));
        if (REMOVE(cleanup_path))
            msg_warn("remove %s: %m", cleanup_path);
+       msg_info("%s: canceled", state->queue_id);
     }
 
     /*
index 53fafd2287281a8d0de04714a8c702bd04de1490..aefd0f6f3b33c0104e9c47064b2c5dcac0d735af 100644 (file)
@@ -733,10 +733,10 @@ DICT   *dict_pgsql_open(const char *name, int open_flags, int dict_flags)
     if (dict_pgsql->pldb->non_uri_target && dict_pgsql->dbname[0] == 0) {
        DICT   *ret;
 
-       ret == (dict_surrogate(DICT_TYPE_PGSQL, name, open_flags, dict_flags,
+       ret = dict_surrogate(DICT_TYPE_PGSQL, name, open_flags, dict_flags,
                           "%s:%s host target '%s' requires dbname setting",
-                              DICT_TYPE_PGSQL, name,
-                              dict_pgsql->pldb->non_uri_target));
+                            DICT_TYPE_PGSQL, name,
+                            dict_pgsql->pldb->non_uri_target);
        dict_pgsql_close(&dict_pgsql->dict);
        return (ret);
     }
index be2eede2ab9d1640f5b7a35b838ef0e958993e1d..9de1b2edbb23acfb0cbc74d35bc977073f6d1fb6 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      "20241027"
+#define MAIL_RELEASE_DATE      "20241111"
 #define MAIL_VERSION_NUMBER    "3.10"
 
 #ifdef SNAPSHOT
index ac93a2da9af97a0d5213766a0d48d1c18e21de4d..110d2a643920685e04db00423357e01ae8ed5d6b 100644 (file)
@@ -660,7 +660,9 @@ int     xsasl_dovecot_server_first(XSASL_SERVER *xp, const char *sasl_method,
 
     for (cpp = server->mechanism_argv->argv; /* see below */ ; cpp++) {
        if (*cpp == 0) {
-           vstring_strcpy(reply, "Invalid authentication mechanism");
+           vstring_sprintf(reply, "Invalid authentication mechanism: '%s'",
+                           sasl_method);
+           printable(vstring_str(reply), '?');
            return XSASL_AUTH_FAIL;
        }
        if (strcasecmp(sasl_method, *cpp) == 0)