2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-08-22 01:49:47 +00:00

postfix-3.11-20250304

This commit is contained in:
Wietse Z Venema 2025-03-04 00:00:00 -05:00 committed by Viktor Dukhovni
parent 73ef04f192
commit f8a6a51f22
5 changed files with 37 additions and 8 deletions

View File

@ -29002,3 +29002,16 @@ Apologies for any names omitted.
default smtp_tls_dane_insecure_mx_policy setting resulted in
unnecessary 'dnssec_probe' warnings, on systems that disable
DNSSEC lookups (the default). File: smtp/smtp_addr.c.
20250227
Improve and correct warning messages when converting (host
or service) information to (symbolic text, numerical text,
or binary) form. File: util/myaddrinfo.c.
20250304
Bugfix (defect introduced: Postfix 2.3, date 20051222): the
Dovecot auth client did not attempt to create a new connection
after an I/O error on an existing connection. Reported by
Oleksandr Kozmenko. File: xsasl/xsasl_dovecot_server.c.

View File

@ -102,3 +102,5 @@ Schulze
tlspol
Gueven
Oemer
Kozmenko
Oleksandr

View 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 "20250223"
#define MAIL_RELEASE_DATE "20250304"
#define MAIL_VERSION_NUMBER "3.11"
#ifdef SNAPSHOT

View File

@ -217,8 +217,13 @@ static int smtpd_peer_sockaddr_to_hostaddr(SMTPD_STATE *state)
*/
if ((aierr = sockaddr_to_hostaddr(sa, sa_length, &client_addr,
&client_port, 0)) != 0)
msg_fatal("%s: cannot convert client address/port to string: %s",
myname, MAI_STRERROR(aierr));
msg_fatal("%s: cannot convert client sockaddr type %s length %ld "
"to string: %s", myname,
#ifdef AF_INET6
sa->sa_family == AF_INET6 ? "AF_INET6" :
#endif
sa->sa_family == AF_INET ? "AF_INET" : "other",
(long) sa_length, MAI_STRERROR(aierr));
state->port = mystrdup(client_port.buf);
/*
@ -299,9 +304,15 @@ static int smtpd_peer_sockaddr_to_hostaddr(SMTPD_STATE *state)
state->dest_sockaddr_len,
&server_addr,
&server_port, 0)) != 0)
msg_fatal("%s: cannot convert server address/port to string: %s",
myname, MAI_STRERROR(aierr));
/* TODO: convert IPv4-in-IPv6 to IPv4 form. */
msg_fatal("%s: cannot convert server sockaddr type %s length %ld "
"to string: %s", myname,
#ifdef AF_INET6
state->dest_sockaddr.ss_family == AF_INET6 ? "AF_INET6" :
#endif
state->dest_sockaddr.ss_family == AF_INET ? "AF_INET" :
"other", (long) state->dest_sockaddr_len,
MAI_STRERROR(aierr));
state->dest_addr = mystrdup(server_addr.buf);
state->dest_port = mystrdup(server_port.buf);
@ -409,8 +420,8 @@ static void smtpd_peer_hostaddr_to_sockaddr(SMTPD_STATE *state)
if ((aierr = hostaddr_to_sockaddr(state->addr, state->port,
SOCK_STREAM, &res)) != 0)
msg_fatal("%s: cannot convert client address/port to string: %s",
myname, MAI_STRERROR(aierr));
msg_fatal("%s: cannot convert client address '%s' port '%s' to binary: %s",
myname, state->addr, state->port, MAI_STRERROR(aierr));
if (res->ai_addrlen > sizeof(state->sockaddr))
msg_panic("%s: address length > struct sockaddr_storage", myname);
memcpy((void *) &(state->sockaddr), res->ai_addr, res->ai_addrlen);

View File

@ -617,6 +617,7 @@ static int xsasl_dovecot_handle_reply(XSASL_DOVECOT_SERVER *server,
}
vstring_strcpy(reply, "Connection lost to authentication server");
xsasl_dovecot_server_disconnect(server->impl);
return XSASL_AUTH_TEMP;
}
@ -707,6 +708,7 @@ int xsasl_dovecot_server_first(XSASL_SERVER *xp, const char *sasl_method,
if (i == 1) {
vstring_strcpy(reply, "Can't connect to authentication server");
xsasl_dovecot_server_disconnect(server->impl);
return XSASL_AUTH_TEMP;
}
@ -735,6 +737,7 @@ static int xsasl_dovecot_server_next(XSASL_SERVER *xp, const char *request,
"CONT\t%u\t%s\n", server->last_request_id, request);
if (vstream_fflush(server->impl->sasl_stream) == VSTREAM_EOF) {
vstring_strcpy(reply, "Connection lost to authentication server");
xsasl_dovecot_server_disconnect(server->impl);
return XSASL_AUTH_TEMP;
}
return xsasl_dovecot_handle_reply(server, reply);