After upgrade to =>dev-perl/DBD-mysql-4.40.0 is not working amavisd-new with MySQL support. Everything looks great, no error reported but if amavis reads data from SQL table "policy" for datatype float return zero but it is not true. this is part of values which is returned spam_tag_level=>"0", spam_tag2_level=>"0", spam_kill_level=>"0", spam_dsn_cutoff_level=>"0" but table contains spam_tag_level=>"6", spam_tag2_level=>"8", spam_kill_level=>"10", spam_dsn_cutoff_level=>"20" after downgrade to dev-perl/DBD-mysql-4.37.0 works everything fine and its returned correct value (spam_tag_level=>"6", spam_tag2_level=>"8" ....) using: dev-perl/DBI-1.636.0::gentoo USE="-examples {-test}" dev-db/mysql-5.6.34:0/18::gentoo USE="openssl perl server -debug -embedded -extraengine -jemalloc -latin1 (-libressl) -profiling (-selinux) -static -static-libs -systemtap -tcmalloc {-test} -yassl" ABI_X86="(64) -32 (-x32)" mail-filter/amavisd-new-2.8.1-r1::gentoo USE="clamav dkim mysql razor snmp spamassassin zmq -courier -ldap -postgres -qmail" With unstable amavisd-new-2.11.0-r3 same problem.
See these references. "mysql lookups - messages with score less than 0 are blocked as spam" https://lists.amavis.org/pipermail/amavis-users/2016-December/004681.html This might be the commit that caused it [1] [2] [1] https://lists.amavis.org/pipermail/amavis-users/2017-January/004696.html [2] https://github.com/perl5-dbi/DBD-mysql/commit/caea0b774028650c0cbd9d8f9c4a0b47831116df
This is affecting me as well
sorry, shouldn't have added the blocker
As a temporary fix I've resurrected the old stable versions of DBD-mysql under package.mask, so people who are in a bind can flip the "warranty void" switch by unmasking it. Its not ideal, but some people would prefer working email over theoretical problems with features they're probably not using.
Problem is solved https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=856064#27 thanks to all developers
(In reply to zdenek from comment #5) > Problem is solved > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=856064#27 > > thanks to all developers The patch in the bug report was added to https://github.com/perl5-dbi/DBD-mysql. Looks like a release is pending as well
@perl team: Please bump to DBD-mysql-4.041.2 https://github.com/perl5-dbi/DBD-mysql/releases/tag/4.041_2 to solve this issue
In the process of bumping, tests exposed: t/40server_prepare.t .................... 23/31 DBD::mysql::st DESTROY failed: MySQL server has gone away at t/40server_prepare.t line 98. (in cleanup) DBD::mysql::st DESTROY failed: MySQL server has gone away at t/40server_prepare.t line 98. t/40server_prepare.t .................... ok t/40server_prepare_crash.t .............. 8/44 # Failed test at t/40server_prepare_crash.t line 100. # Your libmysqlclient.so is vulnerable to CVE 2017-3302 and can crash perl DBD::mysql::st DESTROY failed: MySQL server has gone away at t/40server_prepare_crash.t line 101. (in cleanup) DBD::mysql::st DESTROY failed: MySQL server has gone away at t/40server_prepare_crash.t line 101. # Looks like you failed 1 test of 44. t/40server_prepare_crash.t .............. Dubious, test returned 1 (wstat 256, 0x100) Failed 1/44 subtests So blocking on that getting fixed.
Bumped to 4.42.0, please test and confirm this works. commit: 6f9e560f5b428f52f50e2cf788dbd6c71b879323 author: 2017-03-23 11:26:30 +0000 Kent Fredric <kentnl@gentoo.org> commit: 2017-03-23 11:26:49 +0000 Kent Fredric <kentnl@gentoo.org> gpg-key: E854324B1366A820 dev-perl/DBD-mysql: Bump to version 4.42.0 re bug #604678 Upstream: - Fix encoding of input statements with mysql_enable_utf8 and mysql_enable_utf8mb4 - Set UTF-8 flag for decoded data - Return INTs with ZEROFILL as strings - Statement handle how has mysql_sock attribute - Fixed type conversions for magic types - Fix UTF8 encoding of table/field names and warnings/errors - Fix mysql_auto_reconnect with mysql_server_prepare - Improve regex for removing database from dsn - Locate libmysql with Devel::CheckLib - Support async on windows - Fix tests against older Mysql/Mariadb - Fix compilation with Mysql 4.1 - Don't leak dangling pointer to mysql result - Fix logic assigning to variable bind_comment_placeholders - fix mysql_fd returning fd after connection closed. - Fix parsing configure libs from mysql_config - Fix support for magic scalars Keywording: - New dependencies necessitate dropping: ia64 mips ppc64 sparc x86-fbsd Bug: https://bugs.gentoo.org/604678 Package-Manager: Portage-2.3.4, Repoman-2.3.2
(In reply to Kent Fredric (IRC: kent\n) from comment #9) > Bumped to 4.42.0, please test and confirm this works. > Works for me
(In reply to Kent Fredric (IRC: kent\n) from comment #9) > Bumped to 4.42.0, please test and confirm this works. > > > commit: 6f9e560f5b428f52f50e2cf788dbd6c71b879323 > author: 2017-03-23 11:26:30 +0000 Kent Fredric <kentnl@gentoo.org> > commit: 2017-03-23 11:26:49 +0000 Kent Fredric <kentnl@gentoo.org> > gpg-key: E854324B1366A820 > > dev-perl/DBD-mysql: Bump to version 4.42.0 re bug #604678 > > Upstream: > - Fix encoding of input statements with mysql_enable_utf8 and > mysql_enable_utf8mb4 > - Set UTF-8 flag for decoded data > - Return INTs with ZEROFILL as strings > - Statement handle how has mysql_sock attribute > - Fixed type conversions for magic types > - Fix UTF8 encoding of table/field names and warnings/errors > - Fix mysql_auto_reconnect with mysql_server_prepare > - Improve regex for removing database from dsn > - Locate libmysql with Devel::CheckLib > - Support async on windows > - Fix tests against older Mysql/Mariadb > - Fix compilation with Mysql 4.1 > - Don't leak dangling pointer to mysql result > - Fix logic assigning to variable bind_comment_placeholders > - fix mysql_fd returning fd after connection closed. > - Fix parsing configure libs from mysql_config > - Fix support for magic scalars > > Keywording: > - New dependencies necessitate dropping: > ia64 mips ppc64 sparc x86-fbsd > > Bug: https://bugs.gentoo.org/604678 > Package-Manager: Portage-2.3.4, Repoman-2.3.2 it's ok for me - thanks
4.42.0 introduced some serious messes that breaks a lot of code ( https://github.com/perl5-dbi/DBD-mysql/issues/117 ), so we've masked 4.42 and instead borrowed debians patch and backported to 4.41.0-r1 commit 7a0bdecc24d03a76129348278503ca00d617322a (HEAD -> kentnl, upstream/master) Author: Kent Fredric <kentnl@gentoo.org> Date: 2017-07-22 09:50:15 +1200 dev-perl/DBD-mysql: -r1 bump for fix for type conversions for amvisd Earlier versions break type conversions that amvisd uses, and though the fix for this landed in 4.42.0, 4.42.0 also introduced a more serious change that breaks existing code, and the entire thing was reverted for 4.43.0 So this is borrowing debians patch for 4.41.0 Package-Manager: Portage-2.3.6, Repoman-2.3.2
Backported version works as expected with amavisd-new-2.8.1-r1 (did not update yet). Thanks Kent!
It appears that this issue has been fixed - can you please confirm and mark as resolved as appropriate?
Can you kind people ensure to thoroughly check amvis still works with DBD-mysql-4.44.0 (Especially those of you using MariaDB ) There's some more changes upstream in this sort of department, but its a bit of a nightmare tracing ( bug # 645532 ), and it would be nice to have the assurance that Amvis is not broken by this, so we can eventually properly purge the old DBD-mysql versions.
(In reply to Kent Fredric (IRC: kent\n) from comment #15) > Can you kind people ensure to thoroughly check amvis still works with > DBD-mysql-4.44.0 > No one's complained for a year and a half -- close it?
agreeing with @mjo there.. no complaints for this long usually mean it is resolved ;)