Peter J. Holzer wrote: > Clearly this is useless and each plugin needs to decide what it wants to > do with the information that the message is whitelisted. > > (And since I haven't climbed that particular soap-box for some time I > want to point out that a global whitelist isn't generally useful - often > you want to disable only specific tests - for example you may want to > turn off greylisting for known MTAs but you still want to check for > viruses)
OK. that makes sense. Now I need to modify plugins so that they will work properly when seeing whitelist flags. What does it mean to whitelist? I would think that it means to have a module return DECLINED without doing any work. Why process anything if you're going to return DECLINED anyway? So, I want spamassassin, dnsbl, and maybe rhsbl to skip processing if they see the whitelist flags. The whitelist_soft plugin uses whitelistrcpt whitelisthelo whitelisthost whitelistsender SPAMASSASSIN hook_data_post - check all four flags, return DECLINED if any found DNSBL hook_connect - check all four flags. return DECLINED if any found hook_rcpt - already has a check for whitelisthost but it comes from a different location than where whitelist_soft sets. RHSBL hook_mail - check all four. return DECLINED if any found hook_rcpt - check all four. return DECLINED if any found -- JT Moree