Index: lib/Mail/SpamAssassin/Plugin/TxRep.pm =================================================================== --- lib/Mail/SpamAssassin/Plugin/TxRep.pm (revision 1834722) +++ lib/Mail/SpamAssassin/Plugin/TxRep.pm (working copy) @@ -1444,7 +1444,7 @@ my $meanrep; my $timer = $self->{main}->time_method('check_txrep_'.lc($key)); - if (defined $storage) { + if (!defined $storage) { $self->{checker} = $self->{$storage}; } my $found = $self->get_sender($id, $ip, $signedby); @@ -1510,7 +1510,7 @@ $self->{checker}->remove_entry($self->{entry}); #forgetting the message ID } } - if (defined $storage) { + if (!defined $storage) { $self->{checker} = $self->{default_storage}; } @@ -1633,6 +1633,8 @@ # disabled per bug 7191 #return 1 unless (!defined $self->{default_storage}); + return 1 if defined ($self->{checker}); + my $factory; if ($self->{main}->{pers_addr_list_factory}) { $factory = $self->{main}->{pers_addr_list_factory}; @@ -1721,8 +1723,8 @@ $self->{global_storage} = undef; } elsif (defined $self->{default_storage}) { $self->{default_storage}->finish(); - $self->{default_storage} = $self->{checker} = undef; } + $self->{default_storage} = $self->{checker} = undef; $self->{factory} = undef; } @@ -1812,7 +1814,7 @@ ########################################################################### my ($self) = @_; - $self->{txKeepStoreTied} = 1; + $self->{txKeepStoreTied} = undef; return $self; }