You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@spamassassin.apache.org by bu...@bugzilla.spamassassin.org on 2012/10/25 18:41:59 UTC

[Bug 6856] Mass check is throwing a "1/8" isn't numeric error

https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6856

a29508-spamassassin@sedacon.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |a29508-spamassassin@sedacon
                   |                            |.com

--- Comment #1 from a29508-spamassassin@sedacon.com ---
Running mass-check with --debug=all shows that the error occurs in
Mail::SpamAssassin::Plugin::VBounce, sub have_any_bounce_relays:

{{{
Oct 25 18:05:14.834 [21639] dbg: rules: ran eval rule __HAVE_BOUNCE_RELAYS
======> got hit (1/8)
}}}

rules/20_vbounce.cf defines
{{{
body __HAVE_BOUNCE_RELAYS  eval:have_any_bounce_relays()
}}}

Sure enough, disabling __HAVE_BOUNCE_RELAYS in
masscheckwork/nightly_mass_check/masses/spamassassin/user_pref gets rid of the
error messages.

That function reads (file lib/Mail/SpamAssassin/Plugin/VBounce.pm, lines
93-98):

{{{
sub have_any_bounce_relays {
  my ($self, $pms) = @_;
  return $pms->{conf}->{whitelist_bounce_relays} &&
         %{$pms->{conf}->{whitelist_bounce_relays}};
}
}}}

%{$pms->{conf}->{whitelist_bounce_relays}} is set to
('example.com'=>'^example\\.com$') for the auto-mass-check-script
(configuration option "whitelist_bounce_relays example.com")

So if the intent of have_any_bounce_relays is to return 1 if
whitelist_bounce_relays are configured, and 0 otherwise [[ is that the intent
of the function?? ]], it might better read something like this (which is much
slower than the original, though!)

{{{
sub have_any_bounce_relays {
  my ($self, $pms) = @_;
  return $pms->{conf}->{whitelist_bounce_relays} &&
         (scalar keys %{$pms->{conf}->{whitelist_bounce_relays}}) > 0;
}
}}}

I am not familiar with the SpamAssasin code, so take this with a grain of salt.
;)

-- 
You are receiving this mail because:
You are the assignee for the bug.