smtpd/qpsmtpd — pull request #24 by msimerson (2012-06-04 00:28:06+00:00)
Title: Naughty

naughty - dispose of naughty connections

Rather than immediately terminating naughty connections, plugins often mark
the connections and dispose of them later. Examples are B, B,
B, B and B.

Disconnecting later is inefficient because other plugins continue to do their
work, oblivious to the fact that the connection is destined for the bit bucket.

Naughty provides plugins with an efficient way to offer late disconnects. It
does this by allowing other plugins to detect that a connection is naughty.
For efficiency, other plugins should skip processing naughty connections.
Plugins like SpamAssassin and DSPAM can benefit from using naughty connections
to train their filters.

Instead of each plugin handling cleanup, B does it. Set I to
the hook you prefer to reject in and B will reject the naughty
connections, regardless of who identified them, exactly when you choose.