On Sun, Jul 05, 2009 at 09:21:12PM +0900, Kouhei Sutou wrote: > (1) Adding 'targrey' action. > e.g.: racl targrey CONDITIONS ... sleep 65s (...) > Pros.: Easy to read. > Cons.: New action. And the new action be difficult to integrate with existing ACL. > (2) Adding 'tarpit' ACL clause. > e.g.: racl greylist CONDITIONS ... not tarpit 65s That one seems nicer, but could be imporved a bit. Milter-greylist actually has two kind of clauses in its ACL: - condtionnal clauses, such as rcpt /@evilsapmmer\.com$/ - action clauses, with will always evalute to true. eg: msdg "go ayay" IMO, tarpit fall in the latter category, since there is no conditionnal testing to perform: if the remote host fails the tarpit, it hangs up before the delay, and the ACL evaluation stops here because the connexion is closed. Therefore, you can just drop the 'not' and add a tarpit action clause to the ACL. It can be used both in racl and dacl, while we are there. On the implementation: conditionnal clauses have been refactored some time ago to use function pointers so tht less code is duplicated. Check for acl_clause_rec in acl.c. Unfortunately, action clauses are still in the ancient world, with a lot of duplicated code. You can choose to either add a quick hack to support the tarpit clause, or refactor action clauses to use the same scheme as conditionnal clauses. Choose the quick hack if you don't feel confortable with the code. -- Emmanuel Dreyfus manu@...
Message
Re: [milter-greylist] [RFC] implementing taRgrey
2009-07-05 by Emmanuel Dreyfus
Attachments
- No local attachments were found for this message.