= 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
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
<ul>
<li> <p> 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. </p>
<li> <p> What content is returned in case of failure: only the
<blockquote>
<pre>
-/etc/postfix/main.cf:
+/etc/postfix/<a href="postconf.5.html">main.cf</a>:
<a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a> =
<a href="cidr_table.5.html">cidr</a>:/etc/postfix/esmtp_access
<blockquote>
<pre>
-/etc/postfix/main.cf:
+/etc/postfix/<a href="postconf.5.html">main.cf</a>:
<a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> = silent-discard, dsn
</pre>
</blockquote>
<ul>
<li> <p> 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. </p>
<li> <p> What content is returned in case of failure: only the
* 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
/*
/* 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
/* 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"
* 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:
* 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: