> What I do for per-user spam config is to record the result of the various
> tests, then have one plugin make the decision at the end of the rcpt-to
> stage (and also set flags for the data stage plugins). 

Likely the best solution for the problem.

> This requires a change to each plugin that you want to have operate this way,

Not necessary. Make the following change to the core: If a module name in
the configuration is preceded by a special character (e.g. '@'), a negative
result (e.g. DENY) is stored in the transaction (e.g. in transaction->modules->
{modulename}->result) but deferred. The stored values can the be checked by
the final module (or some other later module).

A module might also store additional data (e.g. denial reason) in
transaction->modules->{modulename}.

> Most importantly, perhaps, it's backwards compatible with existing plugins.

As is my idea.

Regards
Michael

-- 
      It's an insane world, but i'm proud to be a part of it. -- Bill Hicks

Reply via email to