On 4/30/2015 11:44 AM, J.J. Day wrote:
FWIW, I switched to TxRep several months ago. Every message generates
both error lines. I have added a test to initialize $msgscore to avoid
filling my log files. Spam messages seem to all generate a negative
offset of ~1/3 the total. I copied a sample to the end.
My setup is:
FreeBSD 10.0
Sendmail 8.14.7
Mimedefang 2.75
SpamAssassin 3.4.0
Cyrus 2.4.17
I hope this helps.
Interesting. So you are using the API. On your same box if you run
spamassassin -t with your sample, can you recreate the issue?
Otherwise, the sample doesn't help us because we can't recreate the
issue, unfortunately.
DFS, with MD calling SA as an API, how do you turn on a debug channel?
Happen to know?
Can you add this block of code above line 1386 in the current TxRep.pm?
Then we'll try and figure out how to enable the TxRep debug channel from
MD so you can log the info and relay it. It also should hide the informat
{
#Bug 7164, trying to find out reason for these: _WARN: Use of
uninitialized value $msgscore in addition (+) at
/usr/share/perl5/vendor_perl/Mail/SpamAssassin/Plugin/TxRep.pm line 1415.
no warnings;
unless (defined $msgscore) {
#Output some params and the calling function so we can identify
more about this bug
dbg("TxRep: Parameters: self: $self storage: $storage pms: $pms,
key: $key, id: $id, ip: $ip, signedby: $signedby, msgscore: $msgscore");
dbg("TxRep: weight: $weight");
my ($package, $filename, $line) = caller();
chomp($package);
chomp($filename);
chomp($line);
dbg("TxRep: $msgscore undefined - Caller Info: Package: $package
- Filename: $filename - Line: $line");
#Define $msgscore as a triage to hide warnings while we find the
root cause
$msgscore = 0;
}
}
Here's more detail about where it needs to be:
sub check_reputation {
###########################################################################
my ($self, $storage, $pms, $key, $id, $ip, $signedby, $msgscore) = @_;
my $delta = 0;
my $weight = ($key eq 'MSG_ID')? 1 :
eval('$pms->{main}->{conf}->{txrep_weight_'.lc($key).'}');
--> Block here
if (defined $weight && $weight) {
Regards,
KAM