>  My experience is that greylisting requires at least 2 failed attempts.
> Maybe my pf.conf isn't setup properly. But, there's always 1 'extra' failure
> that seems to me should pass through.

James is right, it's a design flaw of spamd that two failed attempts
are required.  This is what happens:

1) first attempt, goes to spamd, is logged.
2) second attempt, goes to spamd, is marked as good ... *BUT* it
   still went to spamd.  spamd is not an application relay, so it
   has no way of passing that currently-active second attempt through
   to the true MTA, so ...
3) third attempt, redirected to true MTA

The only fix for this is a *major* redesign of spamd (or equivalently
incorporating spamd's greylisting code into a spamfilter which *does*
relay connections at the IP level to an MTA - which is actually what I'm
working on at the moment)

One of the pre-requisites (in my opinion) for a filter which
relays connections (rather than routing them through) is full
transparency, i.e. the MTA sees the IP of the original caller, not
the IP of the relay.  This is so that the MTA continues to do
third-party relay rejection and does not require you to duplicate
that logic in your relay host.  Fortunately for us, OpenBSD+pf
have exactly the facilities needed to transparently forward at
the TCP/IP session level, albeit not a common or easy thing to do.


Graham

Reply via email to