Mailing List Archive

svn commit: rev 9779 - in incubator/spamassassin/trunk: lib/Mail/SpamAssassin rules
Author: quinlan
Date: Fri Mar 26 22:35:22 2004
New Revision: 9779

Modified:
incubator/spamassassin/trunk/lib/Mail/SpamAssassin/HTML.pm
incubator/spamassassin/trunk/rules/70_testing.cf
Log:
remove extra low contrast tests
more backhair stuff


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 Fri Mar 26 22:35:22 2004
@@ -832,9 +832,6 @@
$self->{html}{"font_near_invisible"} = 1;
$visible_for_bayes = 0;
}
- for (my $contrast = 14; $contrast <= 64; $contrast += 2) {
- $self->{html}{"text_contrast_$contrast"} = 1 if $distance < $contrast;
- }
}
}

@@ -1008,18 +1005,16 @@
{
$self->{html}{obfuscation}++;
}
- if ($last =~ /\b(\w{1,7})$/s) {
- my $start = length($1);
- if ($text =~ /^(\w{1,7})\b/s) {
- my $backhair = "backhair_" . $start . "_" . length($1);
- $self->{html}{$backhair}++;
- }
- }
- if ($last =~ /\b(\S{1,7})$/s) {
+ if ($last =~ /\b([^\s\x21-\x2f\x3a-\x40\x5b-\x60\x7b-\x7e]{1,7})\z/s) {
my $start = length($1);
- if ($text =~ /^(\S{1,7})\b/s) {
- my $backhair = "backhair2_" . $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);
}
}
}

Modified: incubator/spamassassin/trunk/rules/70_testing.cf
==============================================================================
--- incubator/spamassassin/trunk/rules/70_testing.cf (original)
+++ incubator/spamassassin/trunk/rules/70_testing.cf Fri Mar 26 22:35:22 2004
@@ -316,12 +316,6 @@
describe T_RCVD_IN_AHBL_RHSBL AHBL: From sender in DNSbl dnsbl.ahbl.org
tflags T_RCVD_IN_AHBL_RHSBL net

-# these are here for testing and debugging improvements to the HTML
-# rendering code, delete prior to release
-body T_HTML_TEXT_CONTRAST_16 eval:html_test('text_contrast_16')
-body T_HTML_TEXT_CONTRAST_24 eval:html_test('text_contrast_24')
-body T_HTML_TEXT_CONTRAST_32 eval:html_test('text_contrast_32')
-
# Should catch Atriks, for one
uri T_LONG_HOSTNAME_25 /^https?:\/\/[a-z0-9]{25,29}\./i
uri T_LONG_HOSTNAME_30 /^https?:\/\/[a-z0-9]{30,40}\./i
@@ -336,6 +330,54 @@
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_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')
@@ -385,57 +427,6 @@
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')
-
-# backhair - idea from backhair set by Jennifer Wheeler and Adam Lopresto.
-body T_BACKHAIR2_1_1 eval:html_test('backhair2_1_1')
-body T_BACKHAIR2_1_2 eval:html_test('backhair2_1_2')
-body T_BACKHAIR2_1_3 eval:html_test('backhair2_1_3')
-body T_BACKHAIR2_1_4 eval:html_test('backhair2_1_4')
-body T_BACKHAIR2_1_5 eval:html_test('backhair2_1_5')
-body T_BACKHAIR2_1_6 eval:html_test('backhair2_1_6')
-body T_BACKHAIR2_1_7 eval:html_test('backhair2_1_7')
-body T_BACKHAIR2_2_1 eval:html_test('backhair2_2_1')
-body T_BACKHAIR2_2_2 eval:html_test('backhair2_2_2')
-body T_BACKHAIR2_2_3 eval:html_test('backhair2_2_3')
-body T_BACKHAIR2_2_4 eval:html_test('backhair2_2_4')
-body T_BACKHAIR2_2_5 eval:html_test('backhair2_2_5')
-body T_BACKHAIR2_2_6 eval:html_test('backhair2_2_6')
-body T_BACKHAIR2_2_7 eval:html_test('backhair2_2_7')
-body T_BACKHAIR2_3_1 eval:html_test('backhair2_3_1')
-body T_BACKHAIR2_3_2 eval:html_test('backhair2_3_2')
-body T_BACKHAIR2_3_3 eval:html_test('backhair2_3_3')
-body T_BACKHAIR2_3_4 eval:html_test('backhair2_3_4')
-body T_BACKHAIR2_3_5 eval:html_test('backhair2_3_5')
-body T_BACKHAIR2_3_6 eval:html_test('backhair2_3_6')
-body T_BACKHAIR2_3_7 eval:html_test('backhair2_3_7')
-body T_BACKHAIR2_4_1 eval:html_test('backhair2_4_1')
-body T_BACKHAIR2_4_2 eval:html_test('backhair2_4_2')
-body T_BACKHAIR2_4_3 eval:html_test('backhair2_4_3')
-body T_BACKHAIR2_4_4 eval:html_test('backhair2_4_4')
-body T_BACKHAIR2_4_5 eval:html_test('backhair2_4_5')
-body T_BACKHAIR2_4_6 eval:html_test('backhair2_4_6')
-body T_BACKHAIR2_4_7 eval:html_test('backhair2_4_7')
-body T_BACKHAIR2_5_1 eval:html_test('backhair2_5_1')
-body T_BACKHAIR2_5_2 eval:html_test('backhair2_5_2')
-body T_BACKHAIR2_5_3 eval:html_test('backhair2_5_3')
-body T_BACKHAIR2_5_4 eval:html_test('backhair2_5_4')
-body T_BACKHAIR2_5_5 eval:html_test('backhair2_5_5')
-body T_BACKHAIR2_5_6 eval:html_test('backhair2_5_6')
-body T_BACKHAIR2_5_7 eval:html_test('backhair2_5_7')
-body T_BACKHAIR2_6_1 eval:html_test('backhair2_6_1')
-body T_BACKHAIR2_6_2 eval:html_test('backhair2_6_2')
-body T_BACKHAIR2_6_3 eval:html_test('backhair2_6_3')
-body T_BACKHAIR2_6_4 eval:html_test('backhair2_6_4')
-body T_BACKHAIR2_6_5 eval:html_test('backhair2_6_5')
-body T_BACKHAIR2_6_6 eval:html_test('backhair2_6_6')
-body T_BACKHAIR2_6_7 eval:html_test('backhair2_6_7')
-body T_BACKHAIR2_7_1 eval:html_test('backhair2_7_1')
-body T_BACKHAIR2_7_2 eval:html_test('backhair2_7_2')
-body T_BACKHAIR2_7_3 eval:html_test('backhair2_7_3')
-body T_BACKHAIR2_7_4 eval:html_test('backhair2_7_4')
-body T_BACKHAIR2_7_5 eval:html_test('backhair2_7_5')
-body T_BACKHAIR2_7_6 eval:html_test('backhair2_7_6')
-body T_BACKHAIR2_7_7 eval:html_test('backhair2_7_7')

# spams that are assembled from a Javascript array
# look for the XOR op