mirror of
https://github.com/vdukhovni/postfix
synced 2025-08-30 21:55:20 +00:00
postfix-2.6.12
This commit is contained in:
committed by
Viktor Dukhovni
parent
4dee1483aa
commit
fea10f36b3
@@ -15527,3 +15527,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 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.
|
||||||
|
@@ -337,8 +337,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 |
|
||||||
@@ -468,7 +471,7 @@ WWoorrkkaarroouunnddss
|
|||||||
queue ID in the message header.
|
queue ID in the message header.
|
||||||
|
|
||||||
To fix the ugly message header, you will need to add code that looks up the
|
To fix the ugly message header, you will need to add code that looks up the
|
||||||
Postfix queue ID at some later point im time. The example below adds the
|
Postfix queue ID at some later point in time. The example below adds the
|
||||||
lookup after the end-of-message.
|
lookup after the end-of-message.
|
||||||
|
|
||||||
o Edit the filter source file (typically named xxx-filter/xxx-filter.c or
|
o Edit the filter source file (typically named xxx-filter/xxx-filter.c or
|
||||||
|
@@ -556,7 +556,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
|
||||||
@@ -718,7 +719,7 @@ version 1.0.0 no longer includes the queue ID in the message header.
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p> To fix the ugly message header, you will need to add code that
|
<p> To fix the ugly message header, you will need to add code that
|
||||||
looks up the Postfix queue ID at some later point im time. The
|
looks up the Postfix queue ID at some later point in time. The
|
||||||
example below adds the lookup after the end-of-message. </p>
|
example below adds the lookup after the end-of-message. </p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
|
@@ -556,7 +556,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
|
||||||
@@ -718,7 +719,7 @@ version 1.0.0 no longer includes the queue ID in the message header.
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p> To fix the ugly message header, you will need to add code that
|
<p> To fix the ugly message header, you will need to add code that
|
||||||
looks up the Postfix queue ID at some later point im time. The
|
looks up the Postfix queue ID at some later point in time. The
|
||||||
example below adds the lookup after the end-of-message. </p>
|
example below adds the lookup after the end-of-message. </p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
|
@@ -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.6.11"
|
#define MAIL_VERSION_NUMBER "2.6.12"
|
||||||
|
|
||||||
#ifdef SNAPSHOT
|
#ifdef SNAPSHOT
|
||||||
# define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE
|
# define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE
|
||||||
|
@@ -1252,11 +1252,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