Perl problems on FreeBSD (again)
Johan Hendriks
Johan at double-l.nl
Wed Oct 21 15:11:07 IST 2009
>Mog wrote:
>> Hi all,
>>
>> I upgraded MailScanner last night along with a number of other ports,
>> which unfortunately included a micro update to Perl. On FreeBSD it
went
>> from perl-5.10.0 to perl-5.10.1, and judging by the error messages in
>> the maillog, it seems that the old taint mode problem has resurfaced:
>>
>> Could not use Custom Function code
>>
/usr/local/lib/MailScanner/MailScanner/CustomFunctions/SpamWhitelist.pm,
>> it could not be "require"d. Make sure the last line is "1;" and the
>> module is correct with perl -wc (Error: Insecure dependency in
require
>> while running with -T switch at
>> /usr/local/lib/MailScanner/MailScanner/Config.pm line 754.
>>
>> I'm seeing this same error message being shown for these files as
well:
>> MyExample.pm, DavidHooton.pm, LastSpam.pm, GenericSpamScanner.pm,
>> CustomAction.pm, Ruleset-from-Function.pm and ZMRouterDirHash.pm.
>>
>>
>> From what I understand, FreeBSD runs perl programs with the -T
option
>> (taint mode), which is basically some additional security check. If
I'm
>> reading this right, the additional security check (for some reason)
>> seems to have a problem with 'eval { require $fullfile; };', the code
>> used to require the CustomFunction modules MailScanner uses:
>>
>> $fullfile = "$dir/$filename";
>> next unless -f $fullfile and -s $fullfile;
>> eval { require $fullfile; };
>> if ($@) {
>> MailScanner::Log::WarnLog("Could not use Custom Function code
%s, " .
>> "it could not be \"require\"d. Make
sure " .
>> "the last line is \"1;\" and the
module " .
>> "is correct with perl -wc (Error:
%s)",
>> $fullfile, $@);
>> }
>>
>>
>> Does this makes sense to anyone? Naturally I've reported this problem
to
>> the FreeBSD people as well to see if they can help work out what is
>> going on.
>>
>> Regards,
>> mog
>What process did you use to upgrade MailScanner/Perl? If you used
>portupgrade, please give the command line you used.
I have the same issue, I did the normal portupgrade perl.
And did run the perl-after-upgrade
After that did not work I did a rebuild of perl with -rf portupgrade -rf
perl, this way all ports relying on perl are rebuild.
And that did also not work.
So I grabbed another server, installed FreeBSD 8.0RC1 upgraded the ports
tree, installed MailScanner, and got the same error.
It is the same error I got with perl 5.8.9, and with perl 5.8.8 I had no
problems also.
Now perl5.10.0_4 and 5.8.8 has no problems, but 5.10.1 and 5.8.9 has,
anyway on my systems (AMD64 and i386)
No virus found in this outgoing message.
Checked by AVG - www.avg.com
Version: 8.5.423 / Virus Database: 270.14.24/2449 - Release Date:
10/20/09 18:42:00
More information about the MailScanner
mailing list