I have detected a misfeature which makes a single spam-reporting alias fail for some users. I have configured my dspam as per the README-file so that missed spam messages eventually gets fed to: dspam --user root --class=spam --source=error
I am running with virtual users and have made sure that root exists in the virtual users table. The problem is that dspam fails to find the signature for certain users. I did some debugging and found out why. Default on my system is to place the signature in the body of the message, but the problem users have changed this to place the signature in the header. But the above run will use the preferences of 'root' when looking for the signature so find_signature() in dspam.c will only look in the body of the message. Therefore it does not find the signature. I can see a couple of possible solutions. Either we change find_signature to always look in both header and body, or we can implement a new value "both" to signatureLocation which makes it look at both places. /MaF