Spam tagging and spam threshold

pali at cpan.org pali at cpan.org
Sat Feb 19 18:31:44 CET 2022


On Saturday 19 February 2022 18:16:43 Mészáros Károly wrote:
> Hi,
> 
> In the following software environment I have problems with spam tagging and
> spam threshold values:
> FreeBSD13.0
> amavisd-new-2.12.2,
> perl5 (revision 5 version 34 subversion 0),
> 10.5.15-MariaDB (postfix 3.6.3,1; clamav 0.104.2,1; p5-DBD-mysql 4.050_1)
> 
> amavisd-new working with SQL as suggested by README
> (https://www.ijs.si/software/amavisd/README.sql-mysql.txt)
> 
> It founds the spam policy by sql query, but the spam tag levels are always
> 0.
> spam_tag_level=>"0", spam_tag2_level=>"0", spam_tag3_level=>"0",
> spam_kill_level=>"0",
> 
> I wrote a "check" perl script that reads the policy table values. Here the
> float values are displayed correctly (3.000 , 6.900, etc).
> However, the amavisd-new log shows spam_tag_level=>"0", so I suspect a
> faulty value conversion for amavisd (and not due to p5-DBD-mysql, Mariadb or
> perl).
> 
> As a workaround, I changed the float type (spam_tag_level, spam_tag2_level,
> tag3 and kill_level) in the database to varchar and -for now- it seems fine.
> A bit bizarre, perhaps, but it (apparently) works.
> 
> I've been looking for a solution for weeks now, in articles and mailing
> lists, without success.
> Does anyone have any suggestions? Is it a bug?
> 
> Best regards,
> K

Hello Károly! In past there was a bug in DBD::mysql code which mangled
values fetched from floating point database columns and reported they to
applications as value 0. I'm not sure if it issue was fixed, it is some
years old.

But your description really looks like that floating point issue. One of
the solution was to change DBD::mysql perl module to DBD::MariaDB which
did not have that floating point issue.


More information about the amavis-users mailing list