mirror of
https://github.com/vdukhovni/postfix
synced 2025-09-01 06:35:27 +00:00
postfix-2.5.15
This commit is contained in:
committed by
Viktor Dukhovni
parent
c7a57ffca4
commit
25e756f98b
@@ -14721,3 +14721,22 @@ Apologies for any names omitted.
|
|||||||
IP queries" even if the name has an alphanumerical prefix.
|
IP queries" even if the name has an alphanumerical prefix.
|
||||||
We play safe, and skip RHSBL queries for names ending in a
|
We play safe, and skip RHSBL queries for names ending in a
|
||||||
numerical suffix. File: smtpd/smtpd_check.c.
|
numerical suffix. File: smtpd/smtpd_check.c.
|
||||||
|
|
||||||
|
20110811
|
||||||
|
|
||||||
|
Workaround: report a {client_connections} Milter macro value
|
||||||
|
of zero instead of garbage, when the remote SMTP client is
|
||||||
|
not subject to any smtpd_client_* limits. Problem reported
|
||||||
|
by Christian Roessner. File: smtpd/smtpd_state.c,
|
||||||
|
proto/MILTER_README.html.
|
||||||
|
|
||||||
|
20110831
|
||||||
|
|
||||||
|
Bugfix: allow for Milters that send an SMTP server reply
|
||||||
|
without RFC 3463 enhanced status code. Reported by Vladimir
|
||||||
|
Vassiliev. File: milter/milter8.c.
|
||||||
|
|
||||||
|
20110902
|
||||||
|
|
||||||
|
Bitrot: OpenSSL const-ified some function result value.
|
||||||
|
Files: tls/tls_client.c, tls/tls_server.c.
|
||||||
|
@@ -333,8 +333,11 @@ Sendmail. See the workarounds section below for solutions.
|
|||||||
|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
|
|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
|
||||||
|{client_addr} |Always |Client IP address |
|
|{client_addr} |Always |Client IP address |
|
||||||
|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
|
|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
|
||||||
|{client_connections}|CONNECT |Connection concurrency for|
|
| | |Connection concurrency for|
|
||||||
| | |this client |
|
| | |this client (zero if the |
|
||||||
|
|{client_connections}|CONNECT |client is excluded from |
|
||||||
|
| | |all smtpd_client_* |
|
||||||
|
| | |limits). |
|
||||||
|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
|
|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
|
||||||
| | |Client hostname, "unknown"|
|
| | |Client hostname, "unknown"|
|
||||||
|{client_name} |Always |when lookup or |
|
|{client_name} |Always |when lookup or |
|
||||||
|
@@ -547,7 +547,8 @@ login method </td> </tr>
|
|||||||
address </td> </tr>
|
address </td> </tr>
|
||||||
|
|
||||||
<tr> <td> {client_connections} </td> <td> CONNECT </td> <td>
|
<tr> <td> {client_connections} </td> <td> CONNECT </td> <td>
|
||||||
Connection concurrency for this client </td> </tr>
|
Connection concurrency for this client (zero if the client is
|
||||||
|
excluded from all smtpd_client_* limits). </td> </tr>
|
||||||
|
|
||||||
<tr> <td> {client_name} </td> <td> Always </td> <td> Client hostname,
|
<tr> <td> {client_name} </td> <td> Always </td> <td> Client hostname,
|
||||||
"unknown" when lookup or verification fails </td> </tr>
|
"unknown" when lookup or verification fails </td> </tr>
|
||||||
|
@@ -547,7 +547,8 @@ login method </td> </tr>
|
|||||||
address </td> </tr>
|
address </td> </tr>
|
||||||
|
|
||||||
<tr> <td> {client_connections} </td> <td> CONNECT </td> <td>
|
<tr> <td> {client_connections} </td> <td> CONNECT </td> <td>
|
||||||
Connection concurrency for this client </td> </tr>
|
Connection concurrency for this client (zero if the client is
|
||||||
|
excluded from all smtpd_client_* limits). </td> </tr>
|
||||||
|
|
||||||
<tr> <td> {client_name} </td> <td> Always </td> <td> Client hostname,
|
<tr> <td> {client_name} </td> <td> Always </td> <td> Client hostname,
|
||||||
"unknown" when lookup or verification fails </td> </tr>
|
"unknown" when lookup or verification fails </td> </tr>
|
||||||
|
@@ -20,8 +20,8 @@
|
|||||||
* 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 "20110707"
|
#define MAIL_RELEASE_DATE "20110902"
|
||||||
#define MAIL_VERSION_NUMBER "2.5.14"
|
#define MAIL_VERSION_NUMBER "2.5.15"
|
||||||
|
|
||||||
#ifdef SNAPSHOT
|
#ifdef SNAPSHOT
|
||||||
# define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE
|
# define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE
|
||||||
|
@@ -1248,11 +1248,13 @@ static const char *milter8_event(MILTER8 *milter, int event,
|
|||||||
MILTER8_DATA_BUFFER, milter->buf,
|
MILTER8_DATA_BUFFER, milter->buf,
|
||||||
MILTER8_DATA_END) != 0)
|
MILTER8_DATA_END) != 0)
|
||||||
MILTER8_EVENT_BREAK(milter->def_reply);
|
MILTER8_EVENT_BREAK(milter->def_reply);
|
||||||
|
/* XXX Enforce this for each line of a multi-line reply. */
|
||||||
if ((STR(milter->buf)[0] != '4' && STR(milter->buf)[0] != '5')
|
if ((STR(milter->buf)[0] != '4' && STR(milter->buf)[0] != '5')
|
||||||
|| !ISDIGIT(STR(milter->buf)[1])
|
|| !ISDIGIT(STR(milter->buf)[1])
|
||||||
|| !ISDIGIT(STR(milter->buf)[2])
|
|| !ISDIGIT(STR(milter->buf)[2])
|
||||||
|| (STR(milter->buf)[3] != ' ' && STR(milter->buf)[3] != '-')
|
|| (STR(milter->buf)[3] != ' ' && STR(milter->buf)[3] != '-')
|
||||||
|| STR(milter->buf)[4] != STR(milter->buf)[0]) {
|
|| (ISDIGIT(STR(milter->buf)[4])
|
||||||
|
&& (STR(milter->buf)[4] != STR(milter->buf)[0]))) {
|
||||||
msg_warn("milter %s: malformed reply: %s",
|
msg_warn("milter %s: malformed reply: %s",
|
||||||
milter->m.name, STR(milter->buf));
|
milter->m.name, STR(milter->buf));
|
||||||
milter8_conf_error(milter);
|
milter8_conf_error(milter);
|
||||||
|
@@ -84,6 +84,7 @@ void smtpd_state_init(SMTPD_STATE *state, VSTREAM *stream,
|
|||||||
state->service = mystrdup(service);
|
state->service = mystrdup(service);
|
||||||
state->buffer = vstring_alloc(100);
|
state->buffer = vstring_alloc(100);
|
||||||
state->addr_buf = vstring_alloc(100);
|
state->addr_buf = vstring_alloc(100);
|
||||||
|
state->conn_count = state->conn_rate = 0;
|
||||||
state->error_count = 0;
|
state->error_count = 0;
|
||||||
state->error_mask = 0;
|
state->error_mask = 0;
|
||||||
state->notify_mask = name_mask(VAR_NOTIFY_CLASSES, mail_error_masks,
|
state->notify_mask = name_mask(VAR_NOTIFY_CLASSES, mail_error_masks,
|
||||||
|
@@ -721,7 +721,7 @@ TLS_SESS_STATE *tls_client_start(const TLS_CLIENT_START_PROPS *props)
|
|||||||
int protomask;
|
int protomask;
|
||||||
const char *cipher_list;
|
const char *cipher_list;
|
||||||
SSL_SESSION *session;
|
SSL_SESSION *session;
|
||||||
SSL_CIPHER *cipher;
|
const SSL_CIPHER *cipher;
|
||||||
X509 *peercert;
|
X509 *peercert;
|
||||||
TLS_SESS_STATE *TLScontext;
|
TLS_SESS_STATE *TLScontext;
|
||||||
TLS_APPL_STATE *app_ctx = props->ctx;
|
TLS_APPL_STATE *app_ctx = props->ctx;
|
||||||
|
@@ -545,7 +545,7 @@ TLS_SESS_STATE *tls_server_start(const TLS_SERVER_START_PROPS *props)
|
|||||||
{
|
{
|
||||||
int sts;
|
int sts;
|
||||||
TLS_SESS_STATE *TLScontext;
|
TLS_SESS_STATE *TLScontext;
|
||||||
SSL_CIPHER *cipher;
|
const SSL_CIPHER *cipher;
|
||||||
X509 *peer;
|
X509 *peer;
|
||||||
char buf[CCERT_BUFSIZ];
|
char buf[CCERT_BUFSIZ];
|
||||||
const char *cipher_list;
|
const char *cipher_list;
|
||||||
|
Reference in New Issue
Block a user