mirror of
https://github.com/vdukhovni/postfix
synced 2025-08-22 18:07:41 +00:00
postfix-3.10-20241111
This commit is contained in:
parent
33701748e1
commit
ed72c23b26
@ -28446,7 +28446,7 @@ Apologies for any names omitted.
|
|||||||
connection target (the PostgreSQL URI parser decides what
|
connection target (the PostgreSQL URI parser decides what
|
||||||
is allowed). The dbname setting is now optional if the hosts
|
is allowed). The dbname setting is now optional if the hosts
|
||||||
setting specifies only URIs. Files: util/valid_uri_scheme.[hc],
|
setting specifies only URIs. Files: util/valid_uri_scheme.[hc],
|
||||||
proto/pgsql_table.
|
proto/pgsql_table, global/dict_pgsql.c.
|
||||||
|
|
||||||
202141026
|
202141026
|
||||||
|
|
||||||
@ -28467,3 +28467,33 @@ Apologies for any names omitted.
|
|||||||
of sessions per SMTP server process (max_use), and on the
|
of sessions per SMTP server process (max_use), and on the
|
||||||
number file handles per process (managed with sysctl).
|
number file handles per process (managed with sysctl).
|
||||||
File: xsasl/xsasl_dovecot_server.c.
|
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.
|
||||||
|
@ -181,15 +181,16 @@ request that TLS enforcement will be disabled when submitting an email message.
|
|||||||
|
|
||||||
Options:
|
Options:
|
||||||
|
|
||||||
* Do nothing. When TLS security enforcement is required, a persistent
|
* Do nothing. When TLS security enforcement is required but fails, a TLSRPT
|
||||||
enforcement failure will delay the delivery of a TLSRPT summary until the
|
summary message will be delayed until the problem is addressed, or until
|
||||||
problem is addressed, or until the message expires in the mail queue. Keep
|
the message expires in the mail queue. Keep in mind that TLSRPT is not a
|
||||||
in mind that TLSRPT is not a real-time monitoring service; it takes on
|
real-time monitoring service; it takes on average 12 hours before a failure
|
||||||
average 12 hours before a failure is reported through TLSRPT.
|
is reported through TLSRPT.
|
||||||
|
|
||||||
* Exclude the sender of TLSRPT summaries from TLS enforcement. Implement the
|
* Exclude the sender of TLSRPT summaries from TLS security enforcement.
|
||||||
configuration below on outbound MTA instances (replace noreply-smtp-tls-
|
Implement the configuration below on outbound MTA instances (replace
|
||||||
reporting@example.com with your actual report generator's sender address):
|
noreply-smtp-tls-reporting@example.com with your actual report generator's
|
||||||
|
sender address):
|
||||||
|
|
||||||
/etc/postfix/main.cf:
|
/etc/postfix/main.cf:
|
||||||
# Limitation: this setting is overruled with transport_maps.
|
# Limitation: this setting is overruled with transport_maps.
|
||||||
@ -199,7 +200,7 @@ Options:
|
|||||||
/etc/postfix/master.cf:
|
/etc/postfix/master.cf:
|
||||||
# service name type private unpriv chroot wakeup maxproc
|
# service name type private unpriv chroot wakeup maxproc
|
||||||
command
|
command
|
||||||
allow-plaintext unix - - n - - smtp
|
allow-plaintext unix - - - - - smtp
|
||||||
-o { smtp_tls_security_level = may }
|
-o { smtp_tls_security_level = may }
|
||||||
-o { smtp_tls_policy_maps = static:may }
|
-o { smtp_tls_policy_maps = static:may }
|
||||||
|
|
||||||
|
@ -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
|
license of their choice. Those who are more comfortable with the
|
||||||
IPL can continue with that license.
|
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]
|
[Feature 20240926]
|
||||||
|
|
||||||
Support for the TLSRPT protocol (defined in RFC 8460). With this,
|
Support for the TLSRPT protocol (defined in RFC 8460). With this,
|
||||||
|
@ -8,16 +8,25 @@ Wish list:
|
|||||||
|
|
||||||
Add a mail_version chek to each pluggable database client.
|
Add a mail_version chek to each pluggable database client.
|
||||||
|
|
||||||
Add an option for a built-in JSON generator. This would
|
relay_recipient_maps empty should default to 'no valid
|
||||||
simplify TLSRPT adoption by eliminating a build-time and
|
recipients'. Subject to compatibility level.
|
||||||
run-time dependency on the libtlsrpt client library. Prior
|
|
||||||
art: this approach was previously used to implement Postfix
|
Make a reason available for messages placed on 'hold'.
|
||||||
Milter support.
|
|
||||||
|
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
|
Make TLSRPT support pluggable (postfix-tlsrpt.so, like
|
||||||
postfix-ldap.so, postfix-mysql.so and so on). This avods a
|
postfix-ldap.so, postfix-mysql.so and so on). This avods a
|
||||||
hard install-time dependency on sys4 libtlsrpt. The sys4
|
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
|
Add smtp_tlsrpt_allow_list feature (default: static:all) to limit
|
||||||
the domains for which Postfix generates TLSRPT daily summaries.
|
the domains for which Postfix generates TLSRPT daily summaries.
|
||||||
|
@ -276,14 +276,15 @@ when submitting an email message. </p>
|
|||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
|
|
||||||
<li> <p> Do nothing. When TLS security enforcement is required, a
|
<li> <p> Do nothing. When TLS security enforcement is required but
|
||||||
persistent enforcement failure will delay the delivery of a TLSRPT
|
fails, a TLSRPT summary message will be delayed
|
||||||
summary until the problem is addressed, or until the message expires
|
until the problem is addressed, or until the message expires
|
||||||
in the mail queue. Keep in mind that TLSRPT is not a real-time
|
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
|
monitoring service; it takes on average 12 hours before a failure
|
||||||
is reported through TLSRPT. </p>
|
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
|
Implement the configuration below on outbound MTA instances (replace
|
||||||
noreply-smtp-tls-reporting@example.com with your actual report
|
noreply-smtp-tls-reporting@example.com with your actual report
|
||||||
generator's sender address): </p>
|
generator's sender address): </p>
|
||||||
@ -296,7 +297,7 @@ generator's sender address): </p>
|
|||||||
 
|
 
|
||||||
/etc/postfix/<a href="master.5.html">master.cf</a>:
|
/etc/postfix/<a href="master.5.html">master.cf</a>:
|
||||||
# service name type private unpriv chroot wakeup maxproc command
|
# 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_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 }
|
-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>
|
</pre>
|
||||||
|
@ -15871,7 +15871,7 @@ command. </p>
|
|||||||
the use of
|
the use of
|
||||||
disk, CPU and memory resources. The downside is that rejected
|
disk, CPU and memory resources. The downside is that rejected
|
||||||
recipients are logged with NOQUEUE instead of a mail transaction
|
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>
|
||||||
|
|
||||||
<p> This feature is available in Postfix 2.3 and later. </p>
|
<p> This feature is available in Postfix 2.3 and later. </p>
|
||||||
|
@ -10670,7 +10670,7 @@ With sites that reject lots of mail, the default setting reduces
|
|||||||
the use of
|
the use of
|
||||||
disk, CPU and memory resources. The downside is that rejected
|
disk, CPU and memory resources. The downside is that rejected
|
||||||
recipients are logged with NOQUEUE instead of a mail transaction
|
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
|
.PP
|
||||||
This feature is available in Postfix 2.3 and later.
|
This feature is available in Postfix 2.3 and later.
|
||||||
.SH smtpd_delay_reject (default: yes)
|
.SH smtpd_delay_reject (default: yes)
|
||||||
|
@ -276,14 +276,15 @@ when submitting an email message. </p>
|
|||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
|
|
||||||
<li> <p> Do nothing. When TLS security enforcement is required, a
|
<li> <p> Do nothing. When TLS security enforcement is required but
|
||||||
persistent enforcement failure will delay the delivery of a TLSRPT
|
fails, a TLSRPT summary message will be delayed
|
||||||
summary until the problem is addressed, or until the message expires
|
until the problem is addressed, or until the message expires
|
||||||
in the mail queue. Keep in mind that TLSRPT is not a real-time
|
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
|
monitoring service; it takes on average 12 hours before a failure
|
||||||
is reported through TLSRPT. </p>
|
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
|
Implement the configuration below on outbound MTA instances (replace
|
||||||
noreply-smtp-tls-reporting@example.com with your actual report
|
noreply-smtp-tls-reporting@example.com with your actual report
|
||||||
generator's sender address): </p>
|
generator's sender address): </p>
|
||||||
@ -296,7 +297,7 @@ generator's sender address): </p>
|
|||||||
 
|
 
|
||||||
/etc/postfix/master.cf:
|
/etc/postfix/master.cf:
|
||||||
# service name type private unpriv chroot wakeup maxproc command
|
# 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_security_level = may }
|
||||||
-o { smtp_tls_policy_maps = static:may }
|
-o { smtp_tls_policy_maps = static:may }
|
||||||
</pre>
|
</pre>
|
||||||
|
@ -11476,7 +11476,7 @@ command. </p>
|
|||||||
the use of
|
the use of
|
||||||
disk, CPU and memory resources. The downside is that rejected
|
disk, CPU and memory resources. The downside is that rejected
|
||||||
recipients are logged with NOQUEUE instead of a mail transaction
|
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>
|
||||||
|
|
||||||
<p> This feature is available in Postfix 2.3 and later. </p>
|
<p> This feature is available in Postfix 2.3 and later. </p>
|
||||||
|
@ -354,6 +354,7 @@ int cleanup_flush(CLEANUP_STATE *state)
|
|||||||
(void) REMOVE(vstring_str(cleanup_trace_path));
|
(void) REMOVE(vstring_str(cleanup_trace_path));
|
||||||
if (REMOVE(cleanup_path))
|
if (REMOVE(cleanup_path))
|
||||||
msg_warn("remove %s: %m", cleanup_path);
|
msg_warn("remove %s: %m", cleanup_path);
|
||||||
|
msg_info("%s: canceled", state->queue_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -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) {
|
if (dict_pgsql->pldb->non_uri_target && dict_pgsql->dbname[0] == 0) {
|
||||||
DICT *ret;
|
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",
|
"%s:%s host target '%s' requires dbname setting",
|
||||||
DICT_TYPE_PGSQL, name,
|
DICT_TYPE_PGSQL, name,
|
||||||
dict_pgsql->pldb->non_uri_target));
|
dict_pgsql->pldb->non_uri_target);
|
||||||
dict_pgsql_close(&dict_pgsql->dict);
|
dict_pgsql_close(&dict_pgsql->dict);
|
||||||
return (ret);
|
return (ret);
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
* Patches change both the patchlevel and the release date. Snapshots have no
|
* Patches change both the patchlevel and the release date. Snapshots have no
|
||||||
* patchlevel; they change the release date only.
|
* patchlevel; they change the release date only.
|
||||||
*/
|
*/
|
||||||
#define MAIL_RELEASE_DATE "20241027"
|
#define MAIL_RELEASE_DATE "20241111"
|
||||||
#define MAIL_VERSION_NUMBER "3.10"
|
#define MAIL_VERSION_NUMBER "3.10"
|
||||||
|
|
||||||
#ifdef SNAPSHOT
|
#ifdef SNAPSHOT
|
||||||
|
@ -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++) {
|
for (cpp = server->mechanism_argv->argv; /* see below */ ; cpp++) {
|
||||||
if (*cpp == 0) {
|
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;
|
return XSASL_AUTH_FAIL;
|
||||||
}
|
}
|
||||||
if (strcasecmp(sasl_method, *cpp) == 0)
|
if (strcasecmp(sasl_method, *cpp) == 0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user