Alban Deniz:
> Hi Wietse,
>
> Yes, the problem does go away when I run a version of SNFMilter that never
> invokes smfi_quarantine(). I sent 1230 emails to postfix integrated with my
> milter with no problem.
>
> Also, when I did invoke smfi_quarantine(), the problem occurred after 12
> messages.
>
> What can I do to help fix this?
Try this patch. It applies to Postfix 2.5 and later.
Wietse
*** ./milter8.c- Wed May 6 15:01:43 2009
--- ./milter8.c Fri Jul 10 16:10:24 2009
***************
*** 1296,1302 ****
/*
* Decision: quarantine. In Sendmail 8.13 this does not imply a
* transition in the receiver state (reply, reject, tempfail,
! * accept, discard).
*/
case SMFIR_QUARANTINE:
/* XXX What to do with the "reason" text? */
--- 1296,1303 ----
/*
* Decision: quarantine. In Sendmail 8.13 this does not imply a
* transition in the receiver state (reply, reject, tempfail,
! * accept, discard). We should not transition, either, otherwise
! * we get out of sync with multi-message deliveries.
*/
case SMFIR_QUARANTINE:
/* XXX What to do with the "reason" text? */
***************
*** 1304,1310 ****
MILTER8_DATA_BUFFER, milter->buf,
MILTER8_DATA_END) != 0)
MILTER8_EVENT_BREAK(milter->def_reply);
! MILTER8_EVENT_BREAK("H");
/*
* Decision: skip further events of this type.
--- 1305,1312 ----
MILTER8_DATA_BUFFER, milter->buf,
MILTER8_DATA_END) != 0)
MILTER8_EVENT_BREAK(milter->def_reply);
! milter8_def_reply(milter, "H");
! continue;
/*
* Decision: skip further events of this type.