On 6/15/2005 3:20 PM, Justin Mason wrote: > Eric -- you may have to patch the AutoWhitelist class to throw those > numbers into variables hanging off the PerMsgStatus object. Then the > plugin can access those values safely. > > I'd be +1 on applying a patch that simply sets a variable or two on the > PerMsgStatus object as the AWL logic is run, that wouldn't have any > noticeable effect during normal use (and it seems handy in general).
I don't disagree that it would be handy in general, but I'm not sure it's useful strategy for this plugin given some of the synchronization issues at play here. In particular, AWL runs after all of the eval rules, and that is too late in the cycle for my rule to update the message. This is kind of tricky. On the one hand, the plugin needs to run after all of the other eval tests so that it can get the current spam score. But if it is going to assign a booster score to the message (+1.0 for being first-time spam from unknown source, and getting the outcome recorded in the appropriate header field), then it also needs to run before the end of the message processing so that SA is still in a position to modify the score (and the underlying message) appropriately. This means it has to be pretty much the last rule to run, which is proving to be pretty challenging in its own right. On top of that it also has to pull data from the AWL database, but without allowing AWL to actually run against the message (it would be too late for my eval rule to update the message at that point). Therefore, the easiest way for me to find out if the message has been seen by AWL is to just ask AWL directly, using the exposed method (but that doesn't seem to be working, for reasons unknown). So I agree with you as to general utility, but it won't really help with this plugin. I need to get the AWL method figured out, and I need to get the timing factors figured out (eg, how do I make the rule be last). I'm stuck on both of those, although I'll readily admit that I'm not really trying very hard either, since I've got other stuff to work on. -- Eric A. Hall http://www.ehsco.com/ Internet Core Protocols http://www.oreilly.com/catalog/coreprot/