You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by jq...@apache.org on 2014/03/31 19:26:43 UTC

svn commit: r1583376 - in /spamassassin/trunk/lib/Mail/SpamAssassin: Plugin/TxRep.pm SQLBasedAddrList.pm

Author: jquinn
Date: Mon Mar 31 17:26:42 2014
New Revision: 1583376

URL: http://svn.apache.org/r1583376
Log:
new version of TxRep and fix for SQLBasedAddrList re-learning

Modified:
    spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/TxRep.pm
    spamassassin/trunk/lib/Mail/SpamAssassin/SQLBasedAddrList.pm

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/TxRep.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/TxRep.pm?rev=1583376&r1=1583375&r2=1583376&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/TxRep.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/TxRep.pm Mon Mar 31 17:26:42 2014
@@ -1367,8 +1367,8 @@ sub check_reputation {
         );
     } else {
         $self->{totalweight} += $weight;
-        if ($key eq 'MSG_ID') {
-            $delta = $self->total();
+        if ($key eq 'MSG_ID' && $self->count() > 0) {
+            $delta = $self->total() / $self->count();
         } elsif (defined $self->total()) {
             $delta = ($self->total() + $msgscore) / (1 + $self->count()) - $msgscore;
 
@@ -1728,6 +1728,10 @@ sub learn_message {
   return 0 unless (defined $params->{isspam});
   my $pms = ($self->{last_pms})? $self->{last_pms} : Mail::SpamAssassin::PerMsgStatus->new($self->{main}, $params->{msg});
 
+  if (!defined $pms->{relays_internal} && !defined $pms->{relays_external}) {
+    $pms->extract_message_metadata();
+  }
+
   dbg("TxRep: learning a message");
   if ($params->{isspam})
         {$self->{learning} =      $self->{conf}->{txrep_learn_penalty};}

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/SQLBasedAddrList.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/SQLBasedAddrList.pm?rev=1583376&r1=1583375&r2=1583376&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/SQLBasedAddrList.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/SQLBasedAddrList.pm Mon Mar 31 17:26:42 2014
@@ -328,9 +328,9 @@ sub add_score {
     # insert failed, assume primary key constraint, so try the update
 
     my $sql = "UPDATE $self->{tablename} ".
-              "SET count = count + 1, totscore = totscore + ? ".
+              "SET count = ?, totscore = totscore + ? ".
               "WHERE username = ? AND email = ?";
-    my(@args) = ($score, $self->{_username}, $email);
+    my(@args) = ($entry->{count}, $score, $self->{_username}, $email);
     if ($self->{_with_awl_signer}) {
       my @signedby = !defined $signedby ? () : split(' ', lc $signedby);
       if (!@signedby) {