I made three changes against milter-greylist. They are conceptually
independent from each other, but patches can only be applied in the
right order.
1. may_be_forged ACL condition
http://www.j10n.org/files/milter-greylist-3.0a2-step1.patch
When a client has bogus reverse DNS, that is, IP -> PTR -> A != IP,
sendmail sets {client_resolve} macro to FORGED. This patch implements
ACL condition to take advantage of it. You need to add
{client_resolve} into Milter.macros.connect. Example:
acl blacklist domain /.*\.info/ may_be_forged
acl greylist may_be_forged
2. Threading bug fix
http://www.j10n.org/files/milter-greylist-3.0a2-step2.patch
This patch resolvs number of race conditions in threading
code. It also includes some minor modifications. Since my changes
affect almost everywhere, code reviews are welcome.
3. Binary search tree
http://www.j10n.org/files/milter-greylist-3.0a2-step3.patch
This patch introduces red-black tree structure to manage the greylist
and autowhitelist. It is just a pedantic change. No realistic
improvement is expected.Message
[PATCH] New feature and threading bug fix
2006-08-21 by AIDA Shinra
Attachments
- No local attachments were found for this message.