mirror of
https://github.com/vdukhovni/postfix
synced 2025-08-30 13:48:06 +00:00
postfix-2.6.13
This commit is contained in:
committed by
Viktor Dukhovni
parent
fea10f36b3
commit
d3577319fb
@@ -15541,3 +15541,36 @@ Apologies for any names omitted.
|
|||||||
Bugfix: allow for Milters that send an SMTP server reply
|
Bugfix: allow for Milters that send an SMTP server reply
|
||||||
without RFC 3463 enhanced status code. Reported by Vladimir
|
without RFC 3463 enhanced status code. Reported by Vladimir
|
||||||
Vassiliev. File: milter/milter8.c.
|
Vassiliev. File: milter/milter8.c.
|
||||||
|
|
||||||
|
20110903
|
||||||
|
|
||||||
|
Bugfix: master daemon panic with "master_spawn: at process
|
||||||
|
limit" error, when "postfix reload" reduced the process
|
||||||
|
limit from (a value larger than the current process count
|
||||||
|
for some service) to (a value <= the current process count),
|
||||||
|
and then a new connection was made to that service. This
|
||||||
|
is the smallest change that eliminates the problem. The
|
||||||
|
final solution involves structural change, and goes into
|
||||||
|
the development release. File: master/master_avail.c.
|
||||||
|
|
||||||
|
20110921
|
||||||
|
|
||||||
|
Bugfix (introduced: Postfix 1.1): smtpd(8) did not sanitize
|
||||||
|
newline characters in cleanup(8) REJECT messages, causing
|
||||||
|
them to be sent out via SMTP as bare newline characters.
|
||||||
|
This happened when a REJECT pattern matched multi-line
|
||||||
|
header text. Discovered by Kevin Locke. File: smtpd/smtpd.c.
|
||||||
|
|
||||||
|
20110922
|
||||||
|
|
||||||
|
Bugfix (introduced: Postfix 2.1): smtpd(8) sent multi-line
|
||||||
|
responses from a before-queue content filter as text with
|
||||||
|
bare <LF> instead of <CR><LF>. Found during code maintenance.
|
||||||
|
File: smtpd/smtpd_proxy.c.
|
||||||
|
|
||||||
|
20111020
|
||||||
|
|
||||||
|
EAI Future-proofing: don't apply strict_mime_encoding_domain
|
||||||
|
checks to unknown message subtypes such as message/global*.
|
||||||
|
File: global/mime_state.c.
|
||||||
|
|
||||||
|
@@ -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 "20110902"
|
#define MAIL_RELEASE_DATE "20111024"
|
||||||
#define MAIL_VERSION_NUMBER "2.6.12"
|
#define MAIL_VERSION_NUMBER "2.6.13"
|
||||||
|
|
||||||
#ifdef SNAPSHOT
|
#ifdef SNAPSHOT
|
||||||
# define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE
|
# define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE
|
||||||
|
@@ -925,7 +925,9 @@ int mime_state_update(MIME_STATE *state, int rec_type,
|
|||||||
if (state->curr_domain != MIME_ENC_7BIT)
|
if (state->curr_domain != MIME_ENC_7BIT)
|
||||||
REPORT_ERROR(state, MIME_ERR_ENCODING_DOMAIN,
|
REPORT_ERROR(state, MIME_ERR_ENCODING_DOMAIN,
|
||||||
mime_state_enc_name(state->curr_encoding));
|
mime_state_enc_name(state->curr_encoding));
|
||||||
} else {
|
}
|
||||||
|
/* EAI: message/global allows non-identity encoding. */
|
||||||
|
else if (state->curr_stype == MIME_STYPE_RFC822) {
|
||||||
if (state->curr_encoding != state->curr_domain)
|
if (state->curr_encoding != state->curr_domain)
|
||||||
REPORT_ERROR(state, MIME_ERR_ENCODING_DOMAIN,
|
REPORT_ERROR(state, MIME_ERR_ENCODING_DOMAIN,
|
||||||
mime_state_enc_name(state->curr_encoding));
|
mime_state_enc_name(state->curr_encoding));
|
||||||
|
@@ -85,7 +85,9 @@ static void master_avail_event(int event, char *context)
|
|||||||
|
|
||||||
if (event == 0) /* XXX Can this happen? */
|
if (event == 0) /* XXX Can this happen? */
|
||||||
return;
|
return;
|
||||||
if (MASTER_THROTTLED(serv)) { /* XXX interface botch */
|
/* XXX Should check these when the process or service status is changed. */
|
||||||
|
if (!MASTER_LIMIT_OK(serv->max_proc, serv->total_proc)
|
||||||
|
|| MASTER_THROTTLED(serv)) { /* XXX interface botch */
|
||||||
for (n = 0; n < serv->listen_fd_count; n++)
|
for (n = 0; n < serv->listen_fd_count; n++)
|
||||||
event_disable_readwrite(serv->listen_fd[n]);
|
event_disable_readwrite(serv->listen_fd[n]);
|
||||||
} else {
|
} else {
|
||||||
|
@@ -2989,6 +2989,7 @@ static int data_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *unused_argv)
|
|||||||
if (state->err == 0) {
|
if (state->err == 0) {
|
||||||
why = vstring_alloc(10);
|
why = vstring_alloc(10);
|
||||||
state->err = mail_stream_finish(state->dest, why);
|
state->err = mail_stream_finish(state->dest, why);
|
||||||
|
printable(STR(why), ' ');
|
||||||
} else
|
} else
|
||||||
mail_stream_cleanup(state->dest);
|
mail_stream_cleanup(state->dest);
|
||||||
state->dest = 0;
|
state->dest = 0;
|
||||||
|
@@ -542,7 +542,7 @@ int smtpd_proxy_cmd(SMTPD_STATE *state, int expect, const char *fmt,...)
|
|||||||
*/
|
*/
|
||||||
if (LEN(state->proxy_buffer) < var_line_limit) {
|
if (LEN(state->proxy_buffer) < var_line_limit) {
|
||||||
if (VSTRING_LEN(state->proxy_buffer))
|
if (VSTRING_LEN(state->proxy_buffer))
|
||||||
VSTRING_ADDCH(state->proxy_buffer, '\n');
|
vstring_strcat(state->proxy_buffer, "\r\n");
|
||||||
vstring_strcat(state->proxy_buffer, STR(buffer));
|
vstring_strcat(state->proxy_buffer, STR(buffer));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user