Mailing List Archive

svn commit: r170426 - in /spamassassin/trunk: lib/Mail/SpamAssassin/Plugin/Razor2.pm rules/25_razor2.cf rules/50_scores.cf
Author: felicity
Date: Mon May 16 11:43:21 2005
New Revision: 170426

URL: http://svn.apache.org/viewcvs?rev=170426&view=rev
Log:
split out razor2 range rules by engine. more knobs to tweak if desired. :)

Modified:
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Razor2.pm
spamassassin/trunk/rules/25_razor2.cf
spamassassin/trunk/rules/50_scores.cf

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Razor2.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Razor2.pm?rev=170426&r1=170425&r2=170426&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Razor2.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Razor2.pm Mon May 16 11:43:21 2005
@@ -373,7 +373,7 @@

return $permsgstatus->{razor2_result} if (defined $permsgstatus->{razor2_result});
$permsgstatus->{razor2_result} = 0;
- $permsgstatus->{razor2_cf_score} = 0;
+ $permsgstatus->{razor2_cf_score} = { '4' => 0, '8' => 0 };

return unless $self->{razor2_available};
return unless $self->{main}->{conf}->{use_razor2};
@@ -404,14 +404,18 @@
' confidence=' . $result->{confidence});

next if $result->{contested};
- if ($result->{confidence} > $permsgstatus->{razor2_cf_score}) {
- $permsgstatus->{razor2_cf_score} = $result->{confidence};
+
+ my $cf = $permsgstatus->{razor2_cf_score}->{$result->{engine}} || 0;
+ if ($result->{confidence} > $cf) {
+ $permsgstatus->{razor2_cf_score}->{$result->{engine}} = $result->{confidence};
}
}
}

- dbg("razor2: results: spam? " . $permsgstatus->{razor2_result} .
- " highest cf score: " . $permsgstatus->{razor2_cf_score} . "\n");
+ dbg("razor2: results: spam? " . $permsgstatus->{razor2_result});
+ while(my ($engine, $cf) = each %{$permsgstatus->{razor2_cf_score}}) {
+ dbg("razor2: results: engine $engine, highest cf score: $cf");
+ }

return $permsgstatus->{razor2_result};
}
@@ -419,7 +423,7 @@
# Check the cf value of a given message and return if it's within the
# given range
sub check_razor2_range {
- my ($self, $permsgstatus, $body, $min, $max) = @_;
+ my ($self, $permsgstatus, $body, $engine, $min, $max) = @_;

# If Razor2 isn't available, or the general test is disabled, don't
# continue.
@@ -432,8 +436,23 @@
$self->check_razor2($permsgstatus, $body);
}

- if ($permsgstatus->{razor2_cf_score} >= $min && $permsgstatus->{razor2_cf_score} <= $max) {
- $permsgstatus->test_log(sprintf("cf: %3d", $permsgstatus->{razor2_cf_score}));
+ my $cf = 0;
+ if ($engine) {
+ $cf = $permsgstatus->{razor2_cf_score}->{$engine};
+ return unless defined $cf;
+ }
+ else {
+ # If no specific engine was given to the rule, find the highest cf
+ # determined and use that
+ while(my ($engine, $ecf) = each %{$permsgstatus->{razor2_cf_score}}) {
+ if ($ecf > $cf) {
+ $cf = $ecf;
+ }
+ }
+ }
+
+ if ($cf >= $min && $cf <= $max) {
+ $permsgstatus->test_log(sprintf("cf: %3d", $cf));
return 1;
}


Modified: spamassassin/trunk/rules/25_razor2.cf
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/rules/25_razor2.cf?rev=170426&r1=170425&r2=170426&view=diff
==============================================================================
--- spamassassin/trunk/rules/25_razor2.cf (original)
+++ spamassassin/trunk/rules/25_razor2.cf Mon May 16 11:43:21 2005
@@ -25,10 +25,19 @@
# Note: The scores are set to 0 on these tests right now until they get
# better integrated with SA overall.
#
-full RAZOR2_CF_RANGE_51_100 eval:check_razor2_range('51','100')
+
+full RAZOR2_CF_RANGE_51_100 eval:check_razor2_range('','51','100')
tflags RAZOR2_CF_RANGE_51_100 net
#reuse RAZOR2_CF_RANGE_51_100
describe RAZOR2_CF_RANGE_51_100 Razor2 gives confidence level above 50%
+
+full RAZOR2_CF_RANGE_E4_51_100 eval:check_razor2_range('4','51','100')
+tflags RAZOR2_CF_RANGE_E4_51_100 net
+describe RAZOR2_CF_RANGE_E4_51_100 Razor2 gives engine 4 confidence level above 50%
+
+full RAZOR2_CF_RANGE_E8_51_100 eval:check_razor2_range('8','51','100')
+tflags RAZOR2_CF_RANGE_E8_51_100 net
+describe RAZOR2_CF_RANGE_E8_51_100 Razor2 gives engine 8 confidence level above 50%

lang de describe RAZOR2_CF_RANGE_51_100 Razor2 Spam-Bewertung liegt zwischen 51 und 100
lang fr describe RAZOR2_CF_RANGE_51_100 Razor2 donne un indice de confiance entre 51 et 100

Modified: spamassassin/trunk/rules/50_scores.cf
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/rules/50_scores.cf?rev=170426&r1=170425&r2=170426&view=diff
==============================================================================
--- spamassassin/trunk/rules/50_scores.cf (original)
+++ spamassassin/trunk/rules/50_scores.cf Mon May 16 11:43:21 2005
@@ -672,8 +672,10 @@

# Razor2
ifplugin Mail::SpamAssassin::Plugin::Razor2
-score RAZOR2_CF_RANGE_51_100 0 1.48 0 0.06
-score RAZOR2_CHECK 0 0.15 0 1.51
+score RAZOR2_CHECK 0 0.5 0 0.5
+score RAZOR2_CF_RANGE_51_100 0 0.5 0 0.5
+score RAZOR2_CF_RANGE_E4_51_100 0 1.5 0 1.5
+score RAZOR2_CF_RANGE_E8_51_100 0 1.5 0 1.5
endif # Mail::SpamAssassin::Plugin::Razor2

# TextCat