diff --git a/postfix/HISTORY b/postfix/HISTORY index ba0653d27..246e2a462 100644 --- a/postfix/HISTORY +++ b/postfix/HISTORY @@ -12632,6 +12632,12 @@ Apologies for any names omitted. = no", the SMTP server would panic as it generated spurious Milter requests for unrecognized commands. File: smtpd/smtpd.c. +20060727 + + Cleanup: change redundant milter_abort() and milter_disc_event() + calls into NO-OPs. This avoids unnecessary panic() events + for completely harmless conditions. File: milter/milter8.c. + Wish list: The type of var_message_limit should be changed from int diff --git a/postfix/README_FILES/DSN_README b/postfix/README_FILES/DSN_README index b7bc3fd10..a422a3f6f 100644 --- a/postfix/README_FILES/DSN_README +++ b/postfix/README_FILES/DSN_README @@ -11,7 +11,7 @@ delivery notifications. Specifically, DSN support gives an email sender the ability to specify: * What notifications are sent: success, failure, delay, or none. Normally, - Postfix informs the sender only mail when delivery is delayed or when + Postfix informs the sender only when mail delivery is delayed or when delivery fails. * What content is returned in case of failure: only the message headers, or diff --git a/postfix/html/DSN_README.html b/postfix/html/DSN_README.html index 38d1efe71..8a389498b 100644 --- a/postfix/html/DSN_README.html +++ b/postfix/html/DSN_README.html @@ -30,7 +30,7 @@ specify:
What notifications are sent: success, failure, delay, or -none. Normally, Postfix informs the sender only mail when delivery +none. Normally, Postfix informs the sender only when mail delivery is delayed or when delivery fails.
What content is returned in case of failure: only the @@ -83,7 +83,7 @@ strangers (see below for how to turn this off for all clients):
-/etc/postfix/main.cf: +/etc/postfix/main.cf: smtpd_discard_ehlo_keyword_address_maps = cidr:/etc/postfix/esmtp_access @@ -100,7 +100,7 @@ use the smtpd_discard_ehlodiff --git a/postfix/proto/DSN_README.html b/postfix/proto/DSN_README.html index ec219ca45..793317275 100644 --- a/postfix/proto/DSN_README.html +++ b/postfix/proto/DSN_README.html @@ -30,7 +30,7 @@ specify:-/etc/postfix/main.cf: +/etc/postfix/main.cf: smtpd_discard_ehlo_keywords = silent-discard, dsn
What notifications are sent: success, failure, delay, or -none. Normally, Postfix informs the sender only mail when delivery +none. Normally, Postfix informs the sender only when mail delivery is delayed or when delivery fails.
What content is returned in case of failure: only the diff --git a/postfix/src/global/mail_version.h b/postfix/src/global/mail_version.h index 90cc673b6..6a457703c 100644 --- a/postfix/src/global/mail_version.h +++ b/postfix/src/global/mail_version.h @@ -20,7 +20,7 @@ * Patches change both the patchlevel and the release date. Snapshots have no * patchlevel; they change the release date only. */ -#define MAIL_RELEASE_DATE "20060726" +#define MAIL_RELEASE_DATE "20060727" #define MAIL_VERSION_NUMBER "2.4" #ifdef SNAPSHOT diff --git a/postfix/src/milter/milter.c b/postfix/src/milter/milter.c index fef14721e..f006ffc71 100644 --- a/postfix/src/milter/milter.c +++ b/postfix/src/milter/milter.c @@ -141,7 +141,9 @@ /* /* milter_disc_event() reports an SMTP client disconnection /* event to the specified milter instances. No events can -/* reported after this call, not even abort() events. +/* reported after this call. To simplify usage, redundant calls +/* of this function are NO-OPs and don't raise a run-time +/* error. /* /* milter_helo_event() reports a HELO or EHLO event to the /* specified milter instances, after sending the macros that @@ -178,9 +180,9 @@ /* by a preceding milter. This function must be called with /* as argument an open Postfix queue file. /* -/* milter_abort() cancels a mail transaction in progress. This -/* function is safe to call anywhere between connect and -/* disconnect events. +/* milter_abort() cancels a mail transaction in progress. To +/* simplify usage, redundant calls of this function are NO-OPs +/* and don't raise a run-time error. /* /* milter_send() sends a list of mail filters over the specified /* stream. When given a null list pointer, a "no filter" diff --git a/postfix/src/milter/milter8.c b/postfix/src/milter/milter8.c index 711f1015a..b4105c0cb 100644 --- a/postfix/src/milter/milter8.c +++ b/postfix/src/milter/milter8.c @@ -1835,6 +1835,9 @@ static void milter8_abort(MILTER *m) * has to open a new MTA-to-filter socket for each SMTP client. */ switch (milter->state) { + case MILTER8_STAT_CLOSED: + case MILTER8_STAT_READY: + return; case MILTER8_STAT_ERROR: case MILTER8_STAT_ACCEPT_CON: case MILTER8_STAT_REJECT_CON: @@ -1869,6 +1872,9 @@ static void milter8_disc_event(MILTER *m) * has to open a new MTA-to-filter socket for each SMTP client. */ switch (milter->state) { + case MILTER8_STAT_CLOSED: + case MILTER8_STAT_READY: + return; case MILTER8_STAT_ERROR: #ifdef LIBMILTER_AUTO_DISCONNECT case MILTER8_STAT_ACCEPT_CON: