http://bugzilla.spamassassin.org/show_bug.cgi?id=2437

[EMAIL PROTECTED] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
Attachment #1572 is|0                           |1
           obsolete|                            |



------- Additional Comments From [EMAIL PROTECTED]  2004-08-19 12:27 -------
Created an attachment (id=2268)
 --> (http://bugzilla.spamassassin.org/attachment.cgi?id=2268&action=view)
suggested patch

ok, here's my suggested fix for the issue.

1) instead of using PMS->{score} or PMS->get_nonlearn_nonuserconf_points(),
just call the function and have it decide what the autolearn score is.

2) rename get_nonlearn_nonuserconf_points() to get_autolearn_points() since
that's what it's actually doing -- it's an API change, but in theory only an
internal one...

3) get rid of the hits go to {score} or {learned_points} depending on what rule
it is thing in handle_hit...  {score} is always updated, {learned_points} is
set for learn rules only via get_autolearn_points, and there's no backend kluge
to do {score}+={learned_points} in check() anymore.

4) move the body/header points bit from handle_hit to get_autolearn_points. 
first, this makes the body/header points calculation use the correct set0/1
scoreset and not the set2/3 scoreset.  second, if autolearning is disabled for
whatever reason, we don't need to spend a lot of time going through dealing
with body/header points that won't actually get used anywhere.

5) move the change scoreset to 0/1 from 2/3 bit from learn() to
get_autolearn_points() since learn() doesn't actually care, it's only used for
score calculation.

passes "make test" for me, but I haven't put it through more rigorous testing
yet.



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

Reply via email to