2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-08-28 12:48:01 +00:00

postfix-3.10-20241027

This commit is contained in:
Wietse Z Venema 2024-10-27 00:00:00 -05:00 committed by Viktor Dukhovni
parent a559c5da49
commit 33701748e1
10 changed files with 173 additions and 108 deletions

View File

@ -28447,3 +28447,23 @@ Apologies for any names omitted.
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.
202141026
Documentation: updated the pgsql_table manpage that the
"user" and "password" settings are also ignored when a
"hosts" setting specifies an URI. File: proto/pgsql_table.
Documentation: updated text for how to handle retries with a
load balancer. Files: proto/pgsql_table, proto/mysql_table.
20241027
Bugfix (defect introduced: Postfix 2.3, date 20051222):
file descriptor leak after failure to connect to a Dovecot
auth server. The impact is limited because there are limits
on the number of retries (one), on the number of errors per
SMTP session (smtpd_hard_error_limit), on the number
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.

View File

@ -61,11 +61,11 @@ MYSQL_TABLE(5) MYSQL_TABLE(5)
TCP you have to specify TCP you have to specify
hosts = 127.0.0.1 hosts = 127.0.0.1
NOTE: if "hosts" specifies one load balancer and no alternative NOTE: if the <b>hosts</b> setting specifies one load balancer and no
servers, specify the load balancer multiple times in the "hosts" alternative servers, specify the load balancer multiple times.
line. Without the duplicate info, the Postfix MySQL client would Without the duplicate info, the Postfix MySQL client would not
not reconnect immediately to the same load balancer after a reconnect immediately to the same load balancer after a request
MySQL server failure. failure.
<b>user</b> <b>user</b>
@ -96,6 +96,12 @@ MYSQL_TABLE(5) MYSQL_TABLE(5)
The number of seconds that a database connection will be skipped The number of seconds that a database connection will be skipped
after an error. after an error.
NOTE: if the <b>hosts</b> setting specifies one load balancer and no
alternative servers, specify the load balancer multiple times.
Without the duplicate info, the Postfix MySQL client would not
reconnect immediately to the same load balancer after a request
failure.
This feature is available in Postfix 3.9 and later. This feature is available in Postfix 3.9 and later.
<b>query</b> The SQL query template used to search the database, where <b>%s</b> is <b>query</b> The SQL query template used to search the database, where <b>%s</b> is

View File

@ -61,15 +61,15 @@ PGSQL_TABLE(5) PGSQL_TABLE(5)
matically closed after being idle for about 1 minute, and are matically closed after being idle for about 1 minute, and are
re-opened as necessary. See <b>idle_interval</b> for details. re-opened as necessary. See <b>idle_interval</b> for details.
NOTE: if <b>hosts</b> specifies a PostgreSQL connection URI, the Post- NOTE: if the <b>hosts</b> setting specifies a PostgreSQL connection
greSQL client library will ignore the <b>dbname</b> setting for that URI, the Postfix PostgreSQL client will ignore the <b>dbname</b>, <b>user</b>,
connection. and <b>password</b> settings for that connection.
NOTE: if <b>hosts</b> specifies one load balancer and no alternative NOTE: if the <b>hosts</b> setting specifies one load balancer and no
servers, specify the load balancer multiple times in the <b>hosts</b> alternative servers, specify the load balancer multiple times.
line. Without the duplicate info, the Postfix PostgreSQL client Without the duplicate info, the Postfix PostgreSQL client would
would not reconnect immediately to the same load balancer after not reconnect immediately to the same load balancer after a
a PostgreSQL server failure. request failure.
<b>user</b> <b>user</b>
@ -79,6 +79,9 @@ PGSQL_TABLE(5) PGSQL_TABLE(5)
user = someone user = someone
password = some_password password = some_password
The <b>user</b> and <b>password</b> settings are ignored for <b>hosts</b> connections
that are specified as an URI.
<b>dbname</b> The database name on the servers. Example: <b>dbname</b> The database name on the servers. Example:
dbname = customer_database dbname = customer_database
@ -109,6 +112,12 @@ PGSQL_TABLE(5) PGSQL_TABLE(5)
The number of seconds that a database connection will be skipped The number of seconds that a database connection will be skipped
after an error. after an error.
NOTE: if the <b>hosts</b> setting specifies one load balancer and no
alternative servers, specify the load balancer multiple times.
Without the duplicate info, the Postfix PostgreSQL client would
not reconnect immediately to the same load balancer after a
request failure.
This feature is available in Postfix 3.9 and later. This feature is available in Postfix 3.9 and later.
<b>query</b> The SQL query template used to search the database, where <b>%s</b> is <b>query</b> The SQL query template used to search the database, where <b>%s</b> is

View File

@ -77,11 +77,11 @@ localhost over TCP you have to specify
hosts = 127.0.0.1 hosts = 127.0.0.1
.fi .fi
NOTE: if "hosts" specifies one load balancer and no alternative NOTE: if the \fBhosts\fR setting specifies one load balancer
servers, specify the load balancer multiple times in the and no alternative servers, specify the load balancer multiple
"hosts" line. Without the duplicate info, the Postfix MySQL times. Without the duplicate info, the Postfix MySQL client
client would not reconnect immediately to the same load would not reconnect immediately to the same load balancer after
balancer after a MySQL server failure. a request failure.
.IP "\fBuser\fR" .IP "\fBuser\fR"
.IP "\fBpassword\fR" .IP "\fBpassword\fR"
The user name and password to log into the mysql server. The user name and password to log into the mysql server.
@ -112,6 +112,12 @@ This feature is available in Postfix 3.9 and later.
The number of seconds that a database connection will be The number of seconds that a database connection will be
skipped after an error. skipped after an error.
NOTE: if the \fBhosts\fR setting specifies one load balancer
and no alternative servers, specify the load balancer multiple
times. Without the duplicate info, the Postfix MySQL client
would not reconnect immediately to the same load balancer after
a request failure.
This feature is available in Postfix 3.9 and later. This feature is available in Postfix 3.9 and later.
.IP "\fBquery\fR" .IP "\fBquery\fR"
The SQL query template used to search the database, where \fB%s\fR The SQL query template used to search the database, where \fB%s\fR

View File

@ -77,16 +77,15 @@ automatically closed after being idle for about 1 minute,
and are re\-opened as necessary. See \fBidle_interval\fR and are re\-opened as necessary. See \fBidle_interval\fR
for details. for details.
NOTE: if \fBhosts\fR specifies a PostgreSQL connection URI, NOTE: if the \fBhosts\fR setting specifies a PostgreSQL connection
the PostgreSQL client library will ignore the \fBdbname\fR URI, the Postfix PostgreSQL client will ignore the \fBdbname\fR,
setting for that connection. \fBuser\fR, and \fBpassword\fR settings for that connection.
NOTE: if \fBhosts\fR specifies one load balancer and no NOTE: if the \fBhosts\fR setting specifies one load balancer
alternative and no alternative servers, specify the load balancer multiple
servers, specify the load balancer multiple times in the times. Without the duplicate info, the Postfix PostgreSQL client
\fBhosts\fR line. Without the duplicate info, the Postfix would not reconnect immediately to the same load balancer after
PostgreSQL client would not reconnect immediately to the a request failure.
same load balancer after a PostgreSQL server failure.
.IP "\fBuser\fR" .IP "\fBuser\fR"
.IP "\fBpassword\fR" .IP "\fBpassword\fR"
The user name and password to log into the pgsql server. The user name and password to log into the pgsql server.
@ -95,6 +94,9 @@ Example:
user = someone user = someone
password = some_password password = some_password
.fi .fi
.sp
The \fBuser\fR and \fBpassword\fR settings are ignored for
\fBhosts\fR connections that are specified as an URI.
.IP "\fBdbname\fR" .IP "\fBdbname\fR"
The database name on the servers. Example: The database name on the servers. Example:
.nf .nf
@ -127,6 +129,12 @@ This feature is available in Postfix 3.9 and later.
The number of seconds that a database connection will be The number of seconds that a database connection will be
skipped after an error. skipped after an error.
NOTE: if the \fBhosts\fR setting specifies one load balancer
and no alternative servers, specify the load balancer multiple
times. Without the duplicate info, the Postfix PostgreSQL client
would not reconnect immediately to the same load balancer after
a request failure.
This feature is available in Postfix 3.9 and later. This feature is available in Postfix 3.9 and later.
.IP "\fBquery\fR" .IP "\fBquery\fR"
The SQL query template used to search the database, where \fB%s\fR The SQL query template used to search the database, where \fB%s\fR

View File

@ -67,11 +67,11 @@
# hosts = 127.0.0.1 # hosts = 127.0.0.1
# .fi # .fi
# #
# NOTE: if "hosts" specifies one load balancer and no alternative # NOTE: if the \fBhosts\fR setting specifies one load balancer
# servers, specify the load balancer multiple times in the # and no alternative servers, specify the load balancer multiple
# "hosts" line. Without the duplicate info, the Postfix MySQL # times. Without the duplicate info, the Postfix MySQL client
# client would not reconnect immediately to the same load # would not reconnect immediately to the same load balancer after
# balancer after a MySQL server failure. # a request failure.
# .IP "\fBuser\fR" # .IP "\fBuser\fR"
# .IP "\fBpassword\fR" # .IP "\fBpassword\fR"
# The user name and password to log into the mysql server. # The user name and password to log into the mysql server.
@ -102,6 +102,12 @@
# The number of seconds that a database connection will be # The number of seconds that a database connection will be
# skipped after an error. # skipped after an error.
# #
# NOTE: if the \fBhosts\fR setting specifies one load balancer
# and no alternative servers, specify the load balancer multiple
# times. Without the duplicate info, the Postfix MySQL client
# would not reconnect immediately to the same load balancer after
# a request failure.
#
# This feature is available in Postfix 3.9 and later. # This feature is available in Postfix 3.9 and later.
# .IP "\fBquery\fR" # .IP "\fBquery\fR"
# The SQL query template used to search the database, where \fB%s\fR # The SQL query template used to search the database, where \fB%s\fR

View File

@ -67,16 +67,15 @@
# and are re-opened as necessary. See \fBidle_interval\fR # and are re-opened as necessary. See \fBidle_interval\fR
# for details. # for details.
# #
# NOTE: if \fBhosts\fR specifies a PostgreSQL connection URI, # NOTE: if the \fBhosts\fR setting specifies a PostgreSQL connection
# the PostgreSQL client library will ignore the \fBdbname\fR # URI, the Postfix PostgreSQL client will ignore the \fBdbname\fR,
# setting for that connection. # \fBuser\fR, and \fBpassword\fR settings for that connection.
# #
# NOTE: if \fBhosts\fR specifies one load balancer and no # NOTE: if the \fBhosts\fR setting specifies one load balancer
# alternative # and no alternative servers, specify the load balancer multiple
# servers, specify the load balancer multiple times in the # times. Without the duplicate info, the Postfix PostgreSQL client
# \fBhosts\fR line. Without the duplicate info, the Postfix # would not reconnect immediately to the same load balancer after
# PostgreSQL client would not reconnect immediately to the # a request failure.
# same load balancer after a PostgreSQL server failure.
# .IP "\fBuser\fR" # .IP "\fBuser\fR"
# .IP "\fBpassword\fR" # .IP "\fBpassword\fR"
# The user name and password to log into the pgsql server. # The user name and password to log into the pgsql server.
@ -85,6 +84,9 @@
# user = someone # user = someone
# password = some_password # password = some_password
# .fi # .fi
# .sp
# The \fBuser\fR and \fBpassword\fR settings are ignored for
# \fBhosts\fR connections that are specified as an URI.
# .IP "\fBdbname\fR" # .IP "\fBdbname\fR"
# The database name on the servers. Example: # The database name on the servers. Example:
# .nf # .nf
@ -117,6 +119,12 @@
# The number of seconds that a database connection will be # The number of seconds that a database connection will be
# skipped after an error. # skipped after an error.
# #
# NOTE: if the \fBhosts\fR setting specifies one load balancer
# and no alternative servers, specify the load balancer multiple
# times. Without the duplicate info, the Postfix PostgreSQL client
# would not reconnect immediately to the same load balancer after
# a request failure.
#
# This feature is available in Postfix 3.9 and later. # This feature is available in Postfix 3.9 and later.
# .IP "\fBquery\fR" # .IP "\fBquery\fR"
# The SQL query template used to search the database, where \fB%s\fR # The SQL query template used to search the database, where \fB%s\fR

View File

@ -1653,3 +1653,4 @@ ipaddr
STS STS
hs hs
ccformat ccformat
xxsql

View File

@ -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 "20241025" #define MAIL_RELEASE_DATE "20241027"
#define MAIL_VERSION_NUMBER "3.10" #define MAIL_VERSION_NUMBER "3.10"
#ifdef SNAPSHOT #ifdef SNAPSHOT

View File

@ -297,6 +297,7 @@ static int xsasl_dovecot_server_connect(XSASL_DOVECOT_SERVER_IMPL *xp)
(unsigned int) getpid()); (unsigned int) getpid());
if (vstream_fflush(sasl_stream) == VSTREAM_EOF) { if (vstream_fflush(sasl_stream) == VSTREAM_EOF) {
msg_warn("SASL: Couldn't send handshake: %m"); msg_warn("SASL: Couldn't send handshake: %m");
(void) vstream_fclose(sasl_stream);
return (-1); return (-1);
} }
success = 0; success = 0;