You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by wt...@apache.org on 2011/01/05 04:39:09 UTC

svn commit: r1055288 - /spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm

Author: wtogami
Date: Wed Jan  5 03:39:08 2011
New Revision: 1055288

URL: http://svn.apache.org/viewvc?rev=1055288&view=rev
Log:
Revert the URI_SKIPPED_* experiment

Local masschecks indicate this wont be useful to detect spam.  As I suspected
spammers have been flooding lists of URI's in an attempt to overload URIBL lookups.
This type of URI flooding appears to have been targeted at some other anti-spam
software as it was never effective against spamassassin.  I wished to investigate
with nightly masscheck if this would be a useful rule to detect evasive behavior.
URI_SKIPPED_* did indeed catch spam, but spamassassin had scored such high 
because it didn't fool the URIBL rules.  Too much commercial ham was 
also triggering the rule, so this wont be usable.

This made me realize that the URI skip list we have in 25_uribl.cf could be 
improved to avoid lots of useless lookups.  The old skip list had not been 
updated for so long, that twitter and facebook among others were not listed.
I have already requested an updated skip list from SURBL.

Modified:
    spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm?rev=1055288&r1=1055287&r2=1055288&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm Wed Jan  5 03:39:08 2011
@@ -306,9 +306,7 @@ sub new {
   $self->{finished} = { };
 
   $self->register_eval_rule ("check_uridnsbl");
-  $self->register_eval_rule ("domains_skipped");
   $self->set_config($samain->{conf});
-  $self->{skipped} = 0;
 
   return $self;
 }
@@ -391,9 +389,6 @@ sub parsed_metadata {
   # Generate the full list of html-parsed domains.
   my $uris = $scanner->get_uri_detail_list();
 
-  # Reset the skipped counter
-  $self->{skipped} = 0;
-
   # go from uri => info to uri_ordered
   # 0: a
   # 1: form
@@ -435,7 +430,6 @@ sub parsed_metadata {
     while (my($host,$domain) = each( %{$info->{hosts}} )) {
       if ($skip_domains->{$domain}) {
         dbg("uridnsbl: domain $domain in skip list");
-        $self->{skipped}++;
       } else {
         # use hostname as a key, and drag along the stipped domain name part
         $uri_ordered[$entry]->{$host} = $domain;
@@ -1157,23 +1151,6 @@ sub res_bgsend {
 
 # ---------------------------------------------------------------------------
 
-sub domains_skipped {
-  my ($self, $pms) = @_;
-  my $skipped = defined $self->{skipped} ? $self->{skipped} : 0;
-  if ($skipped >= 20) {
-    $pms->got_hit('URI_SKIPPED_20');
-  } elsif ($skipped >= 15) {
-    $pms->got_hit('URI_SKIPPED_15');
-  } elsif ($skipped >= 10) {
-    $pms->got_hit('URI_SKIPPED_10');
-  } elsif ($skipped >= 5) {
-    $pms->got_hit('URI_SKIPPED_5');
-  }
-  return 0;
-}
-
-# ---------------------------------------------------------------------------
-
 # capability checks for "if can()":
 #
 sub has_tflags_domains_only { 1 }