mirror of
https://github.com/vdukhovni/postfix
synced 2025-08-30 13:48:06 +00:00
postfix-2.8.5
This commit is contained in:
committed by
Viktor Dukhovni
parent
9f7c03af43
commit
c3ca62281d
@@ -16634,3 +16634,17 @@ 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 both RHSBL and RHSWL queries for
|
We play safe, and skip both RHSBL and RHSWL queries for
|
||||||
names ending in a numerical suffix. File: smtpd/smtpd_check.c.
|
names ending in a 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.
|
||||||
|
@@ -339,8 +339,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 |
|
| | |Client hostname |
|
||||||
| | |When address -> name |
|
| | |When address -> name |
|
||||||
|
@@ -559,7 +559,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
|
||||||
<br> When address → name lookup or name → address
|
<br> When address → name lookup or name → address
|
||||||
|
@@ -559,7 +559,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
|
||||||
<br> When address → name lookup or name → address
|
<br> When address → name lookup or name → address
|
||||||
|
@@ -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 "20110706"
|
#define MAIL_RELEASE_DATE "20110902"
|
||||||
#define MAIL_VERSION_NUMBER "2.8.4"
|
#define MAIL_VERSION_NUMBER "2.8.5"
|
||||||
|
|
||||||
#ifdef SNAPSHOT
|
#ifdef SNAPSHOT
|
||||||
# define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE
|
# define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE
|
||||||
|
@@ -1255,11 +1255,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,
|
||||||
|
Reference in New Issue
Block a user