ports/72711: mail/spamass-milter operate better with SpamAssassin 3.0.0
Matthew Seaman
m.seaman at infracaninophile.co.uk
Thu Oct 14 21:40:31 UTC 2004
>Number: 72711
>Category: ports
>Synopsis: mail/spamass-milter operate better with SpamAssassin 3.0.0
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu Oct 14 21:40:30 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator: Matthew Seaman
>Release: FreeBSD 4.10-STABLE i386
>Organization:
Infracaninophile
>Environment:
System: FreeBSD happy-idiot-talk.infracaninophile.co.uk 4.10-STABLE FreeBSD 4.10-STABLE #85: Fri Oct 8 11:06:56 BST 2004 root at happy-idiot-talk.infracaninophile.co.uk:/usr/obj/usr/src/sys/HAPPY-IDIOT-TALK i386
>Description:
SpamAssassin-3.0.0 has changed the format of the X-Spam-Status header
it add to e-mails. Consequently spamass-milter is getting confused:
Oct 13 23:58:33 happy-idiot-talk spamass-milter[386]: Could not extract score from <No, score=0.0 required=5.0 tests=none autolearn=ham version=3.0.0>
Oct 13 23:58:33 happy-idiot-talk sm-mta[81182]: i9DMwSdQ081182: Milter add: header: X-Spam-Checker-Version: SpamAssassin 3.0.0 (2004-09-13) on \n\thappy-idiot-talk.infracaninophile.co.uk
The change is trivial -- where SA used to report the score as:
hits=nn
it now says:
score=nn
The attached patch should let spamass-milter cope with either form.
>How-To-Repeat:
>Fix:
--- spamass-milter.diff begins here ---
diff -Nur /usr/ports/mail/spamass-milter/files/patch-spamass-milter.cpp spamass-milter/files/patch-spamass-milter.cpp
--- /usr/ports/mail/spamass-milter/files/patch-spamass-milter.cpp Fri Jun 11 10:41:25 2004
+++ spamass-milter/files/patch-spamass-milter.cpp Thu Oct 14 22:26:01 2004
@@ -1,5 +1,5 @@
--- spamass-milter.cpp.orig Thu Jun 26 16:10:44 2003
-+++ spamass-milter.cpp Thu Jun 10 11:46:12 2004
++++ spamass-milter.cpp Thu Oct 14 22:01:39 2004
@@ -102,6 +102,10 @@
#include <csignal>
#include <string>
@@ -29,7 +29,18 @@
update_or_insert(assassin, ctx, assassin->spam_flag(), &SpamAssassin::set_spam_flag, "X-Spam-Flag");
update_or_insert(assassin, ctx, assassin->spam_status(), &SpamAssassin::set_spam_status, "X-Spam-Status");
-@@ -1341,7 +1349,11 @@
+@@ -365,7 +373,9 @@
+ {
+ int score, rv;
+ const char *spam_status = assassin->spam_status().c_str();
+- rv = sscanf(spam_status,"%*s hits=%d", &score);
++ rv = sscanf(spam_status,"%*s score=%d", &score);
++ if (rv != 1)
++ rv = sscanf(spam_status,"%*s hits=%d", &score);
+ if (rv != 1)
+ debug(D_ALWAYS, "Could not extract score from <%s>", spam_status);
+ else
+@@ -1341,7 +1351,11 @@
{
// assuming we have a recipient in the form: <username at somehost.somedomain>
// we return 'username'
--- spamass-milter.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list