mirror of
https://github.com/vdukhovni/postfix
synced 2025-08-31 14:17:41 +00:00
postfix-2.9-20110125
This commit is contained in:
committed by
Viktor Dukhovni
parent
ee034fdb56
commit
e815d33b74
@@ -16527,3 +16527,9 @@ Apologies for any names omitted.
|
|||||||
|
|
||||||
Cleanup: remove #ifdef MIGRATION_WARNING transitional code
|
Cleanup: remove #ifdef MIGRATION_WARNING transitional code
|
||||||
from postscreen. File: postscreen/postscreen.c.
|
from postscreen. File: postscreen/postscreen.c.
|
||||||
|
|
||||||
|
20110124
|
||||||
|
|
||||||
|
Cleanup: use the right primitive to flush responses when
|
||||||
|
the Postfix SMTP server is taking an excessive amount of
|
||||||
|
time to process client requests. File: smtpd/smtpd_chat.c.
|
||||||
|
@@ -20,7 +20,7 @@
|
|||||||
* 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 "20110124"
|
#define MAIL_RELEASE_DATE "20110125"
|
||||||
#define MAIL_VERSION_NUMBER "2.9"
|
#define MAIL_VERSION_NUMBER "2.9"
|
||||||
|
|
||||||
#ifdef SNAPSHOT
|
#ifdef SNAPSHOT
|
||||||
|
@@ -10,6 +10,9 @@
|
|||||||
/* VSTREAM *stream;
|
/* VSTREAM *stream;
|
||||||
/* int timeout;
|
/* int timeout;
|
||||||
/*
|
/*
|
||||||
|
/* void smtp_timeout_reset(stream)
|
||||||
|
/* VSTREAM *stream;
|
||||||
|
/*
|
||||||
/* void smtp_printf(stream, format, ...)
|
/* void smtp_printf(stream, format, ...)
|
||||||
/* VSTREAM *stream;
|
/* VSTREAM *stream;
|
||||||
/* const char *format;
|
/* const char *format;
|
||||||
@@ -58,6 +61,12 @@
|
|||||||
/* .IP \f(bu
|
/* .IP \f(bu
|
||||||
/* The stream is configured to enable exception handling.
|
/* The stream is configured to enable exception handling.
|
||||||
/* .PP
|
/* .PP
|
||||||
|
/* smtp_timeout_reset() clears the error flags and restarts
|
||||||
|
/* the deadline timer for the named stream. This leaves the
|
||||||
|
/* stream in a state that is suitable for the final "flush
|
||||||
|
/* before close" operation, without depending on any other
|
||||||
|
/* primitives provided by this module.
|
||||||
|
/*
|
||||||
/* smtp_printf() formats its arguments and writes the result to
|
/* smtp_printf() formats its arguments and writes the result to
|
||||||
/* the named stream, followed by a CR LF pair. The stream is NOT flushed.
|
/* the named stream, followed by a CR LF pair. The stream is NOT flushed.
|
||||||
/* Long lines of text are not broken.
|
/* Long lines of text are not broken.
|
||||||
@@ -146,9 +155,9 @@
|
|||||||
|
|
||||||
#include "smtp_stream.h"
|
#include "smtp_stream.h"
|
||||||
|
|
||||||
/* smtp_timeout_reset - reset per-stream timeout flag */
|
/* smtp_timeout_reset - reset per-stream error flags and read/write deadline */
|
||||||
|
|
||||||
static void smtp_timeout_reset(VSTREAM *stream)
|
void smtp_timeout_reset(VSTREAM *stream)
|
||||||
{
|
{
|
||||||
vstream_clearerr(stream);
|
vstream_clearerr(stream);
|
||||||
|
|
||||||
|
@@ -33,6 +33,7 @@
|
|||||||
#define SMTP_ERR_NONE 4 /* non-error case */
|
#define SMTP_ERR_NONE 4 /* non-error case */
|
||||||
|
|
||||||
extern void smtp_timeout_setup(VSTREAM *, int);
|
extern void smtp_timeout_setup(VSTREAM *, int);
|
||||||
|
extern void smtp_timeout_reset(VSTREAM *);
|
||||||
extern void PRINTFLIKE(2, 3) smtp_printf(VSTREAM *, const char *,...);
|
extern void PRINTFLIKE(2, 3) smtp_printf(VSTREAM *, const char *,...);
|
||||||
extern void smtp_flush(VSTREAM *);
|
extern void smtp_flush(VSTREAM *);
|
||||||
extern int smtp_fgetc(VSTREAM *);
|
extern int smtp_fgetc(VSTREAM *);
|
||||||
|
@@ -4667,6 +4667,7 @@ static void smtpd_proto(SMTPD_STATE *state)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
smtp_timeout_reset(state->client);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* XXX The client connection count/rate control must be consistent in its
|
* XXX The client connection count/rate control must be consistent in its
|
||||||
|
@@ -199,7 +199,7 @@ void smtpd_chat_reply(SMTPD_STATE *state, const char *format,...)
|
|||||||
* delays (tarpit delays or DNS lookups for UCE restrictions).
|
* delays (tarpit delays or DNS lookups for UCE restrictions).
|
||||||
*/
|
*/
|
||||||
if (delay || time((time_t *) 0) - vstream_ftime(state->client) > 10)
|
if (delay || time((time_t *) 0) - vstream_ftime(state->client) > 10)
|
||||||
vstream_fflush(state->client);
|
smtp_flush(state->client); /* fix 20110124 */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Abort immediately if the connection is broken.
|
* Abort immediately if the connection is broken.
|
||||||
|
Reference in New Issue
Block a user