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