Johannes Berg wrote:
Note that passing dspam the signature is likely more efficient. There are two possibilities: (1) dspam extracts the signature -> dovecot is more efficient at extracting headers because of cache (2) dspam uses the mail -> it has to re-tokenize etc which afaik it doesn't if you give it the signature and it loads things from disk
johannes
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.
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.)
Trever