Peter J. Holzer wrote:
On 2006-05-14 11:56:08 -0700, Elliot Foster wrote:
Elliot Foster wrote:
I noticed that I hadn't received any of my danga mailing list content in
a while, and checked my logs to find:
@4000000044662b4a2f63f34c 28892 D check_earlytalker 207.7.148.197:56598
216.218.240.174:25 Connecting host started transmitting before SMTP
greeting
Which appears to be the danga list server. Is anyone else seeing this?
I sent an email to the list manager of the danga lists, and whipped up
ye olde plugin. What are other people using for whitelist purposes?
I use client_options (oops, I just notice that that's neither on my web
page nor in the wiki. It will be in the contrib directory RSN, though).
It basically just sets transaction notes based on the IP address or
domain name of the client. Other plugins then check for these notes.
For example, my $config/client_options contains the line
66.218.66.64/26: denysoft_greylist/skip=1
and my customized denysoft_greylist plugin contains the check
if (my $co = $self->qp->connection->notes('client_options')) {
if ($co->{denysoft_greylist}{skip}) {
$self->log(LOGINFO, "client is whitelisted, skipping greylist checks");
return DECLINED·
}
}
so greylisting is skipped if the client has an IP address between
66.218.66.64 and 66.218.66.127 (which happens to be the Yahoo groups
cluster).
Peter, this sounds great. It would be nice to have the same function
that hooks into a DB, though. I suppose the DB lookup would only have
to happen once on connection (or at 'mail from'/'rcpt to' if you want
whitelists based on that input as well). If you could put up the plugin
so that I might see it/use it, I would appreciate it.
I would use devin carraway's whitelist plugin, but it appears to be an
all-or-nothing whitelist, whereas I would like to have different levels
of whitelist. Allowing someone to be an earlytalker but still perform a
spam scan on it, for example.
Yup. That's why I wrote client_options. Actually, I use the same scheme
for sender and recipient addresses, too, not just for client addresses.
Unfortunately, it needs cooperation from the plugins, so I have to
modify all plugins for which I want whitelisting. There have been a few
discussions for a generalized scheme which all plugins could use, but
none of them came to a conclusion.
It would be very nice to have some sort of uniform method to do this
(plugin behavior modification based on criteria), I agree. Of course,
there shouldn't be any harm in making modifications to the plugins that
check for certain variables, since the plugin will behave normally
without those variables. Is there a strong argument against that?