Koozali.org: home of the SME Server
Legacy Forums => Experienced User Forum => Topic started by: mophilly on March 03, 2005, 10:05:03 PM
-
This morning I notice that email was not working. Nothing in or out. Amavis log contains the warning "AMAVIS: Couldn't load AMAVIS::AV::CLAMD". Related logs offer a similar alert.
If I disable the anti-virus and spam filter, email again is sent and recieved.
Yesterday I installed postgresql 7.4.2, which I did get working after a bit of personal growth. The install instructions included updating perl to 5.6.1.
Previously I used Greg Swallow's update script to move from 6.0 to 6.0.1. Today I used the updated ClamAV script from Jesper Knudsen at Swerts-Knudsen.dk in hopes of setting things right. This did not resolve the issue.
I saw the thread that sugggested removing the clam rpm's then running J. Knudsen's script. There seemed to be some disagreement as to whether that would work.
I would be very greatful to anyone offering a link or suggestion to help me get the email + filters working again.
TIA
-
I had this problem too. I think that a Perl module update may have broken something - and I cannot figure out what.
Here is my fix (fwiw)
in AMAVIS.pm there is a loop activating AV modules.
This uses the following construct (about line 284)...
foreach my $av (@av) {
$av = 'AMAVIS::AV::'.$av;
writelog($args,LOG_CRIT, __PACKAGE__.": loading $av $VERSION");
eval "use $av $VERSION;1" or do {
writelog($args,LOG_CRIT, __PACKAGE__.": Couldn't load $av");
die __PACKAGE__.": Couldn't load $av";
};
[/i]
The line eval "use $av $VERSION;1" or do {
[/i] appears to be broken for CLAMD.pm.
This is how I patched AMAVIS
use AMAVIS::AV::CLAMD $VERSION;1;
foreach my $av (@av) {
$av = 'AMAVIS::AV::'.$av;
writelog($args,LOG_CRIT, __PACKAGE__.": loading $av $VERSION");
eval "use $av $VERSION;1" or do {
writelog($args,LOG_CRIT, __PACKAGE__.": Couldn't load $av");
die __PACKAGE__.": Couldn't load $av";
};
[/i]
A direct use of AMAVIS::AV::CLAMD fixed the problem for me.
Testing with AMAVIS::AV::CLAM worked fine, so it isn't eval and it isn't CLAMD.pm - it's a weird combination of both. YMMV.
Good Luck
Simon
-
Thanks, Simon. :-)
I will review your suggestion, backup everything and give it try.
-
Thank you very very much. Today I update CPAN to version 1.76, and install other dependant modules too. After this update I have the same error.
Thank you very much
-
The actual problem is IO::Socket which fails with the -T switch.
Hopefully they'll fix this in a later version. Your solution was much easier than mine.