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.