You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by qu...@apache.org on 2004/03/28 04:53:12 UTC

svn commit: rev 9796 - in incubator/spamassassin/trunk: lib/Mail/SpamAssassin rules

Author: quinlan
Date: Sat Mar 27 18:53:11 2004
New Revision: 9796

Modified:
   incubator/spamassassin/trunk/lib/Mail/SpamAssassin/HTML.pm
   incubator/spamassassin/trunk/rules/70_testing.cf
Log:
keep wheedling down backhair


Modified: incubator/spamassassin/trunk/lib/Mail/SpamAssassin/HTML.pm
==============================================================================
--- incubator/spamassassin/trunk/lib/Mail/SpamAssassin/HTML.pm	(original)
+++ incubator/spamassassin/trunk/lib/Mail/SpamAssassin/HTML.pm	Sat Mar 27 18:53:11 2004
@@ -1009,12 +1009,14 @@
       my $start = length($1);
       if ($text =~ /^([^\s\x21-\x2f\x3a-\x40\x5b-\x60\x7b-\x7e]{1,7})\b/s) {
 	my $end = length($1);
-	my $backhair = "backhair_" . $start . "_" . $end;
-	$self->{html}{$backhair}++;
-	$self->{html}{backhair_a} += 1;
-	$self->{html}{backhair_b} += ($start + $end) / 12;
-	$self->{html}{backhair_c} += 1 - abs($start - $end) / ($start + $end);
-	$self->{html}{backhair_d} += ($start + $end) ** (-0.09 * abs($start - $end) - 0.05);
+	$self->{html}{backhair} += ($start + $end) / 12;
+      }
+    }
+    if ($last =~ /(?:\b|\s)([^\s\x21-\x2f\x3a-\x40\x5b-\x60\x7b-\x7e]{1,7})\z/s) {
+      my $start = length($1);
+      if ($text =~ /^([^\s\x21-\x2f\x3a-\x40\x5b-\x60\x7b-\x7e]{1,7})(?:\b|\s)/s) {
+	my $end = length($1);
+	$self->{html}{backhair2} += ($start + $end) / 12;
       }
     }
   }

Modified: incubator/spamassassin/trunk/rules/70_testing.cf
==============================================================================
--- incubator/spamassassin/trunk/rules/70_testing.cf	(original)
+++ incubator/spamassassin/trunk/rules/70_testing.cf	Sat Mar 27 18:53:11 2004
@@ -280,103 +280,17 @@
 body T_VIA_GAP_GRA		/\bvia.gra\b/i
 
 # backhair - idea from backhair set by Jennifer Wheeler and Adam Lopresto.
-body T_BACKHAIR_A_00		eval:html_eval('backhair_a', '> 0')
-body T_BACKHAIR_A_01		eval:html_eval('backhair_a', '> 1')
-body T_BACKHAIR_A_02		eval:html_eval('backhair_a', '> 2')
-body T_BACKHAIR_A_03		eval:html_eval('backhair_a', '> 3')
-body T_BACKHAIR_A_04		eval:html_eval('backhair_a', '> 4')
-body T_BACKHAIR_A_05		eval:html_eval('backhair_a', '> 5')
-body T_BACKHAIR_A_06		eval:html_eval('backhair_a', '> 6')
-body T_BACKHAIR_A_07		eval:html_eval('backhair_a', '> 7')
-body T_BACKHAIR_A_08		eval:html_eval('backhair_a', '> 8')
-body T_BACKHAIR_A_09		eval:html_eval('backhair_a', '> 9')
-body T_BACKHAIR_A_10		eval:html_eval('backhair_a', '> 10')
+body T_BACKHAIR_0_1		eval:html_range('backhair', '0', '1')
+body T_BACKHAIR_1_2		eval:html_range('backhair', '1', '2')
+body T_BACKHAIR_2_4		eval:html_range('backhair', '2', '4')
+body T_BACKHAIR_4_8		eval:html_range('backhair', '4', '8')
+body T_BACKHAIR_8_X		eval:html_range('backhair', '8', 'inf')
 
-body T_BACKHAIR_B_00		eval:html_eval('backhair_b', '> 0')
-body T_BACKHAIR_B_01		eval:html_eval('backhair_b', '> 1')
-body T_BACKHAIR_B_02		eval:html_eval('backhair_b', '> 2')
-body T_BACKHAIR_B_03		eval:html_eval('backhair_b', '> 3')
-body T_BACKHAIR_B_04		eval:html_eval('backhair_b', '> 4')
-body T_BACKHAIR_B_05		eval:html_eval('backhair_b', '> 5')
-body T_BACKHAIR_B_06		eval:html_eval('backhair_b', '> 6')
-body T_BACKHAIR_B_07		eval:html_eval('backhair_b', '> 7')
-body T_BACKHAIR_B_08		eval:html_eval('backhair_b', '> 8')
-body T_BACKHAIR_B_09		eval:html_eval('backhair_b', '> 9')
-body T_BACKHAIR_B_10		eval:html_eval('backhair_b', '> 10')
-
-body T_BACKHAIR_C_00		eval:html_eval('backhair_c', '> 0')
-body T_BACKHAIR_C_01		eval:html_eval('backhair_c', '> 1')
-body T_BACKHAIR_C_02		eval:html_eval('backhair_c', '> 2')
-body T_BACKHAIR_C_03		eval:html_eval('backhair_c', '> 3')
-body T_BACKHAIR_C_04		eval:html_eval('backhair_c', '> 4')
-body T_BACKHAIR_C_05		eval:html_eval('backhair_c', '> 5')
-body T_BACKHAIR_C_06		eval:html_eval('backhair_c', '> 6')
-body T_BACKHAIR_C_07		eval:html_eval('backhair_c', '> 7')
-body T_BACKHAIR_C_08		eval:html_eval('backhair_c', '> 8')
-body T_BACKHAIR_C_09		eval:html_eval('backhair_c', '> 9')
-body T_BACKHAIR_C_10		eval:html_eval('backhair_c', '> 10')
-
-body T_BACKHAIR_D_00		eval:html_eval('backhair_d', '> 0')
-body T_BACKHAIR_D_01		eval:html_eval('backhair_d', '> 1')
-body T_BACKHAIR_D_02		eval:html_eval('backhair_d', '> 2')
-body T_BACKHAIR_D_03		eval:html_eval('backhair_d', '> 3')
-body T_BACKHAIR_D_04		eval:html_eval('backhair_d', '> 4')
-body T_BACKHAIR_D_05		eval:html_eval('backhair_d', '> 5')
-body T_BACKHAIR_D_06		eval:html_eval('backhair_d', '> 6')
-body T_BACKHAIR_D_07		eval:html_eval('backhair_d', '> 7')
-body T_BACKHAIR_D_08		eval:html_eval('backhair_d', '> 8')
-body T_BACKHAIR_D_09		eval:html_eval('backhair_d', '> 9')
-body T_BACKHAIR_D_10		eval:html_eval('backhair_d', '> 10')
-
-body T_BACKHAIR_1_1		eval:html_test('backhair_1_1')
-body T_BACKHAIR_1_2		eval:html_test('backhair_1_2')
-body T_BACKHAIR_1_3		eval:html_test('backhair_1_3')
-body T_BACKHAIR_1_4		eval:html_test('backhair_1_4')
-body T_BACKHAIR_1_5		eval:html_test('backhair_1_5')
-body T_BACKHAIR_1_6		eval:html_test('backhair_1_6')
-body T_BACKHAIR_1_7		eval:html_test('backhair_1_7')
-body T_BACKHAIR_2_1		eval:html_test('backhair_2_1')
-body T_BACKHAIR_2_2		eval:html_test('backhair_2_2')
-body T_BACKHAIR_2_3		eval:html_test('backhair_2_3')
-body T_BACKHAIR_2_4		eval:html_test('backhair_2_4')
-body T_BACKHAIR_2_5		eval:html_test('backhair_2_5')
-body T_BACKHAIR_2_6		eval:html_test('backhair_2_6')
-body T_BACKHAIR_2_7		eval:html_test('backhair_2_7')
-body T_BACKHAIR_3_1		eval:html_test('backhair_3_1')
-body T_BACKHAIR_3_2		eval:html_test('backhair_3_2')
-body T_BACKHAIR_3_3		eval:html_test('backhair_3_3')
-body T_BACKHAIR_3_4		eval:html_test('backhair_3_4')
-body T_BACKHAIR_3_5		eval:html_test('backhair_3_5')
-body T_BACKHAIR_3_6		eval:html_test('backhair_3_6')
-body T_BACKHAIR_3_7		eval:html_test('backhair_3_7')
-body T_BACKHAIR_4_1		eval:html_test('backhair_4_1')
-body T_BACKHAIR_4_2		eval:html_test('backhair_4_2')
-body T_BACKHAIR_4_3		eval:html_test('backhair_4_3')
-body T_BACKHAIR_4_4		eval:html_test('backhair_4_4')
-body T_BACKHAIR_4_5		eval:html_test('backhair_4_5')
-body T_BACKHAIR_4_6		eval:html_test('backhair_4_6')
-body T_BACKHAIR_4_7		eval:html_test('backhair_4_7')
-body T_BACKHAIR_5_1		eval:html_test('backhair_5_1')
-body T_BACKHAIR_5_2		eval:html_test('backhair_5_2')
-body T_BACKHAIR_5_3		eval:html_test('backhair_5_3')
-body T_BACKHAIR_5_4		eval:html_test('backhair_5_4')
-body T_BACKHAIR_5_5		eval:html_test('backhair_5_5')
-body T_BACKHAIR_5_6		eval:html_test('backhair_5_6')
-body T_BACKHAIR_5_7		eval:html_test('backhair_5_7')
-body T_BACKHAIR_6_1		eval:html_test('backhair_6_1')
-body T_BACKHAIR_6_2		eval:html_test('backhair_6_2')
-body T_BACKHAIR_6_3		eval:html_test('backhair_6_3')
-body T_BACKHAIR_6_4		eval:html_test('backhair_6_4')
-body T_BACKHAIR_6_5		eval:html_test('backhair_6_5')
-body T_BACKHAIR_6_6		eval:html_test('backhair_6_6')
-body T_BACKHAIR_6_7		eval:html_test('backhair_6_7')
-body T_BACKHAIR_7_1		eval:html_test('backhair_7_1')
-body T_BACKHAIR_7_2		eval:html_test('backhair_7_2')
-body T_BACKHAIR_7_3		eval:html_test('backhair_7_3')
-body T_BACKHAIR_7_4		eval:html_test('backhair_7_4')
-body T_BACKHAIR_7_5		eval:html_test('backhair_7_5')
-body T_BACKHAIR_7_6		eval:html_test('backhair_7_6')
-body T_BACKHAIR_7_7		eval:html_test('backhair_7_7')
+body T_BACKHAIR2_0_1		eval:html_range('backhair2', '0', '1')
+body T_BACKHAIR2_1_2		eval:html_range('backhair2', '1', '2')
+body T_BACKHAIR2_2_4		eval:html_range('backhair2', '2', '4')
+body T_BACKHAIR2_4_8		eval:html_range('backhair2', '4', '8')
+body T_BACKHAIR2_8_X		eval:html_range('backhair2', '8', 'inf')
 
 # spams that are assembled from a Javascript array
 # look for the XOR op