No, very unlikely you get 6.5 exactly. In particular, because there are
two rules scoring 0.0, which already is after per-score rounding for the
report. Hence me asking for the exact scores.

You are correct. Without rounding, it scores 6.4894 or something like that. And the exact adding up is explained well in the rounding wiki referenced below.

A good alternative to spamc for such testing is spamassassin with an
explicit --cf="use_auto_whitelist 0" option. :)
Thanks! That is a good trick. I often have to clear AWL scores while doing research.

OK, so long and short, this is bug 2607 rearing it's head in spamd.

I've found the cause of the issue and the fix.  Will open a bug in
bugzilla and address this issue further there.
Without reading the patch, which score and result is actually correct?
And what is the exact score?

From my understanding of the code and the wiki http://wiki.apache.org/spamassassin/RoundingIssues, the score for an email that is 6.45 to 5.4999999999 with a threshold of 6.5 as SpamAssassin reports should be score=6.4, required=6.5. The old code used to round to nearest 10th the message that X-Spam-Status: No, score=6.5, required=6.5 was confusing so a special routine for rounding when near the required score was implemented.

The PerMsgStatus.pm implements this special rounding.

SpamD/C uses rounding to the 10th for the output of the first line but then utilizes PerMsgStatus.pm for the report, etc.

Hence the lack of consistency with one part of the output saying score=6.5 and another saying score=6.4. They should have both said score=6.4.

My patch implements logic with the same rounding in both places.

Regards,
KAM


Reply via email to