You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by fe...@apache.org on 2004/11/14 20:13:46 UTC
svn commit: rev 65614 - in spamassassin/trunk: lib/Mail/SpamAssassin rules
Author: felicity
Date: Sun Nov 14 11:13:45 2004
New Revision: 65614
Modified:
spamassassin/trunk/lib/Mail/SpamAssassin/EvalTests.pm
spamassassin/trunk/rules/70_testing.cf
Log:
bug 3499: try using text vs html word count for MPART_ALT_DIFF
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/EvalTests.pm
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/EvalTests.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/EvalTests.pm Sun Nov 14 11:13:45 2004
@@ -3120,9 +3120,18 @@
return 0;
}
+sub multipart_alternative_difference_count {
+ my ($self, $fulltext, $ratio, $minhtml) = @_;
+ $self->_multipart_alternative_difference() unless (exists $self->{madiff});
+ return 0 unless $self->{madiff_html} > $minhtml;
+ return(($self->{madiff_text} / $self->{madiff_html}) > $ratio);
+}
+
sub _multipart_alternative_difference {
my ($self) = @_;
$self->{madiff} = 0;
+ $self->{madiff_html} = 0;
+ $self->{madiff_text} = 0;
# Find all multipart/alternative parts in the message
my @ma = $self->{msg}->find_parts(qr@^multipart/alternative\b@i);
@@ -3182,6 +3191,10 @@
# How many HTML tokens do we have at the start?
my $orig = keys %html;
next if ($orig == 0);
+
+ $self->{madiff_html} = $orig;
+ $self->{madiff_text} = keys %text;
+ dbg('eval: text words: ' . $self->{madiff_text} . ', html words: ' . $self->{madiff_html});
# If the token appears at least as many times in the text part as
# in the html part, remove it from the list of html tokens.
Modified: spamassassin/trunk/rules/70_testing.cf
==============================================================================
--- spamassassin/trunk/rules/70_testing.cf (original)
+++ spamassassin/trunk/rules/70_testing.cf Sun Nov 14 11:13:45 2004
@@ -339,3 +339,36 @@
# can only be from "form"
body T_EMPTY_URI_ACTION eval:html_text_match('blank_uri', '^form$')
+
+# bug 3499
+body T_MPART_ALT_DIFF1_1 eval:multipart_alternative_difference_count('1','1')
+body T_MPART_ALT_DIFF2_1 eval:multipart_alternative_difference_count('2','1')
+body T_MPART_ALT_DIFF3_1 eval:multipart_alternative_difference_count('3','1')
+body T_MPART_ALT_DIFF4_1 eval:multipart_alternative_difference_count('4','1')
+body T_MPART_ALT_DIFF5_1 eval:multipart_alternative_difference_count('5','1')
+body T_MPART_ALT_DIFF8_1 eval:multipart_alternative_difference_count('8','1')
+body T_MPART_ALT_DIFF10_1 eval:multipart_alternative_difference_count('10','1')
+
+body T_MPART_ALT_DIFF1_5 eval:multipart_alternative_difference_count('1','5')
+body T_MPART_ALT_DIFF2_5 eval:multipart_alternative_difference_count('2','5')
+body T_MPART_ALT_DIFF3_5 eval:multipart_alternative_difference_count('3','5')
+body T_MPART_ALT_DIFF4_5 eval:multipart_alternative_difference_count('4','5')
+body T_MPART_ALT_DIFF5_5 eval:multipart_alternative_difference_count('5','5')
+body T_MPART_ALT_DIFF8_5 eval:multipart_alternative_difference_count('8','5')
+body T_MPART_ALT_DIFF10_5 eval:multipart_alternative_difference_count('10','5')
+
+body T_MPART_ALT_DIFF1_10 eval:multipart_alternative_difference_count('1','10')
+body T_MPART_ALT_DIFF2_10 eval:multipart_alternative_difference_count('2','10')
+body T_MPART_ALT_DIFF3_10 eval:multipart_alternative_difference_count('3','10')
+body T_MPART_ALT_DIFF4_10 eval:multipart_alternative_difference_count('4','10')
+body T_MPART_ALT_DIFF5_10 eval:multipart_alternative_difference_count('5','10')
+body T_MPART_ALT_DIFF8_10 eval:multipart_alternative_difference_count('8','10')
+body T_MPART_ALT_DIFF10_10 eval:multipart_alternative_difference_count('10','10')
+
+body T_MPART_ALT_DIFF1_20 eval:multipart_alternative_difference_count('1','20')
+body T_MPART_ALT_DIFF2_20 eval:multipart_alternative_difference_count('2','20')
+body T_MPART_ALT_DIFF3_20 eval:multipart_alternative_difference_count('3','20')
+body T_MPART_ALT_DIFF4_20 eval:multipart_alternative_difference_count('4','20')
+body T_MPART_ALT_DIFF5_20 eval:multipart_alternative_difference_count('5','20')
+body T_MPART_ALT_DIFF8_20 eval:multipart_alternative_difference_count('8','20')
+body T_MPART_ALT_DIFF10_20 eval:multipart_alternative_difference_count('10','20')