On Fri, 2007-08-31 at 00:57 -0600, Trever L. Adams wrote:
This is correct, the signature is attached, so to say, to a already tokenized version of the message. This is a large part of the overhead of dspam. Also, to do a retrain, you need a pristine message. So if a signature has been attached or any headers added in any way since it was processed by dspam it won't be a true retrain.
Yes, however, there's practically a guarantee that a mail has a signature; not sure whether dspam extracts it but I think it should. But since we're talking mail servers here you pretty much have control over where to put the signature, hence putting it into the header and having dovecot parse it out is easiest.
We want to use signatures if it is present, if not, then we can use the raw message. I would suggest the code do an if on the present of the signature. I haven't yet looked a the code. Maybe tomorrow. (I am a bit behind on my schedule.)
I don't think we can get a pristine message to really retrain instead of telling dspam it made an error. Hence, I originally simply disallowed retraining messages without a signature. Practically never happens unless I had to turn off the spam filters for a while for whatever reason.
johannes