Problem with Perl 5.8 -> 5.10 upgrade
mailscanner at bengrimm.net
mailscanner at bengrimm.net
Mon Mar 30 14:40:45 IST 2009
Hey Julian, excellent work, as always. It works. Thanks! I hope the
FreeBSD port maintainer will manage to get with the times a bit more,
but with this bug he will probably have to real soon.
Thanks again!
Julian Field wrote:
> You've got an old version, this is a bug in Perl 5.10.
> However, there is a workaround in the latest beta.
> But if you don't want to install a new version, you can patch your
> existing one.
> Edit SMDiskStore.pm and around line 359, there is an "if" statement with
> a loop in it.
> Replace that whole chunk of code with this:
> # Handle trackback -- This is the tricky one
> if ($configwords[1] =~ /tr[ua]/i) {
> my $i;
> for ($i=(@{$body}-1); $i>=0; $i--) {
> last if $body->[$i] =~ /^\s*$/i;
> pop @{$body};
> }
> return;
> }
> and then restart MailScanner, and you should find it works now.
>
> On 30/3/09 13:53, mailscanner at bengrimm.net wrote:
>> Hi guys, hope you can shed some light on this:
>>
>> Platform: FreeBSD 7.1-STABLE
>> Version: MailScanner-4.67.6_4 (latest version in ports)
>> With: clamav-0.95, bdc-7.0.1_2, p5-Mail-SpamAssassin-3.2.5_2
>> Perl: 5.10 (no problems with exact same config under perl 5.8)
>>
>> ----------------------------------------------------------
>> Error in logs when starting on a new email:
>>
>> MailScanner: waiting for children to die: Process did not exit
>> cleanly, returned 255 with signal 0
>>
>> ----------------------------------------------------------
>> # mailscanner --lint /usr/local/etc/MailScanner/MailScanner.conf
>> Trying to setlogsock(unix)
>> Checking version numbers...
>> Version number in MailScanner.conf (4.67.6) is correct.
>>
>> Your envelope_sender_header in spam.assassin.prefs.conf is correct.
>>
>> Checking for SpamAssassin errors (if you use it)...
>> SpamAssassin temp dir = /tmp/SpamAssassin-Temp
>> SpamAssassin reported no errors.
>> MailScanner.conf says "Virus Scanners = bitdefender clamd"
>> Found these virus scanners installed: bitdefender, clamd
>> ===========================================================================
>>
>> ===========================================================================
>>
>> Virus Scanner test reports:
>> Bitdefender said "Found virus EICAR-Test-File (not a virus) in file
>> eicar.com"
>> Clamd said "eicar.com was infected: Eicar-Test-Signature FOUND"
>>
>> If any of your virus scanners (bitdefender,clamd)
>> are not listed there, you should check that they are installed correctly
>> and that MailScanner is finding them correctly via its
>> virus.scanners.conf.
>>
>> No problems there.
>> ----------------------------------------------------------
>> # mailscanner --debug-sa /usr/local/etc/MailScanner/MailScanner.conf
>> (nothing)
>>
>> No problems there.
>> ----------------------------------------------------------
>> # mailscanner --debug /usr/local/etc/MailScanner/MailScanner.conf
>> In Debugging mode, not forking...
>> Trying to setlogsock(unix)
>> SpamAssassin temp dir = /tmp/SpamAssassin-Temp
>> Building a message batch to scan...
>> Have a batch of 2 messages.
>> Can't use string ("1036") as an ARRAY ref while "strict refs" in use
>> at /usr/local/lib/MailScanner/MailScanner/SMDiskStore.pm line 359,
>> <GEN50> line 1037.
>>
>> Note: the "1036" "<GEN50>" and "1037" depend on the emails being
>> processed, so these numbers vary all the time. When there's no email
>> to scan, the --debug session will just sit there patiently. As soon as
>> an email arrives:
>>
>> Have a batch of 1 message.
>> Can't use string ("36") as an ARRAY ref while "strict refs" in use at
>> /usr/local/lib/MailScanner/MailScanner/SMDiskStore.pm line 359,
>> <GEN47> line 36.
>>
>> Any idea what may be causing this? MailScanner, SA, ClamAV, BDC, and
>> all necessary perl modules have been rebuilt against perl 5.10. As
>> noted, this setup worked flawlessly with perl 5.8
>>
>> TIA.
>>
>>
>
> Jules
>
More information about the MailScanner
mailing list