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) {