<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-GB link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal>Hi MailScanner users,<o:p></o:p></p>

<p class=MsoNormal>I have a fresh-built Centos 5 box, on which I have compiled
Perl 5.10.0 from source, and MailScanner 4.66.5 installed from RPM. Perl was upgraded
after MailScanner was installed. I know RPM should be an &#8220;all or nothing&#8221;
decision <o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>The problem I have is that I noticed that the processes
MailScanner was forking when starting where dying instantly, and when running
MailScanner --lint, it dies with the error:<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>&#8220;Can't use string (&quot;/var/spool/mqueue.in&quot;)
as an ARRAY ref while &quot;strict refs&quot; in use at /usr/sbin/MailScanner
line 441.&#8221;<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>&#8220;/var/spool/mqueue.in&#8221; is not my incoming
directory, &#8220;/var/spool/exim.in&#8221; is, and the mqueue.in directory
does not exist. The correct incoming directory is set in /etc/MailScanner/MailScanner.conf.<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>Using &#8220;locate MailScanner |xargs grep &#8220;mqueue.in&#8221;
and some luck, I managed to find that the mqueue reference was coming from &#8220;/usr/lib/MailScanner/MailScanner/ConfigDefs.pl&#8221;,
so I hacked the &#8220;inqueuedir&#8221; variable to point at the correct directory,
but it doesn&#8217;t change the error, apart from the path within string().<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>My first thought was a missing perlmod dependency for MailScanner
after the upgrade of Perl, however MailScanner -v shows:<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>This is CentOS release 5 (Final)<o:p></o:p></p>

<p class=MsoNormal>This is Perl version 5.010000 (5.10.0)<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>This is MailScanner version 4.66.5<o:p></o:p></p>

<p class=MsoNormal>Module versions are:<o:p></o:p></p>

<p class=MsoNormal>1.00&nbsp;&nbsp;&nbsp; AnyDBM_File<o:p></o:p></p>

<p class=MsoNormal>1.23&nbsp;&nbsp;&nbsp; Archive::Zip<o:p></o:p></p>

<p class=MsoNormal>1.08&nbsp;&nbsp;&nbsp; Carp<o:p></o:p></p>

<p class=MsoNormal>1.119&nbsp;&nbsp; Convert::BinHex<o:p></o:p></p>

<p class=MsoNormal>2.27&nbsp;&nbsp;&nbsp; Date::Parse<o:p></o:p></p>

<p class=MsoNormal>1.01&nbsp;&nbsp;&nbsp; DirHandle<o:p></o:p></p>

<p class=MsoNormal>1.06&nbsp;&nbsp;&nbsp; Fcntl<o:p></o:p></p>

<p class=MsoNormal>2.76&nbsp;&nbsp;&nbsp; File::Basename<o:p></o:p></p>

<p class=MsoNormal>2.11&nbsp;&nbsp;&nbsp; File::Copy<o:p></o:p></p>

<p class=MsoNormal>2.01&nbsp;&nbsp;&nbsp; FileHandle<o:p></o:p></p>

<p class=MsoNormal>2.04&nbsp;&nbsp;&nbsp; File::Path<o:p></o:p></p>

<p class=MsoNormal>0.20&nbsp;&nbsp;&nbsp; File::Temp<o:p></o:p></p>

<p class=MsoNormal>0.92&nbsp;&nbsp;&nbsp; Filesys::Df<o:p></o:p></p>

<p class=MsoNormal>1.35&nbsp;&nbsp;&nbsp; HTML::Entities<o:p></o:p></p>

<p class=MsoNormal>3.56&nbsp;&nbsp;&nbsp; HTML::Parser<o:p></o:p></p>

<p class=MsoNormal>2.37&nbsp;&nbsp;&nbsp; HTML::TokeParser<o:p></o:p></p>

<p class=MsoNormal>1.23_01 IO<o:p></o:p></p>

<p class=MsoNormal>1.14&nbsp;&nbsp;&nbsp; IO::File<o:p></o:p></p>

<p class=MsoNormal>1.13&nbsp;&nbsp;&nbsp; IO::Pipe<o:p></o:p></p>

<p class=MsoNormal>2.02&nbsp;&nbsp;&nbsp; Mail::Header<o:p></o:p></p>

<p class=MsoNormal>1.88&nbsp;&nbsp;&nbsp; Math::BigInt<o:p></o:p></p>

<p class=MsoNormal>3.07_01 MIME::Base64<o:p></o:p></p>

<p class=MsoNormal>5.425&nbsp;&nbsp; MIME::Decoder<o:p></o:p></p>

<p class=MsoNormal>5.425&nbsp;&nbsp; MIME::Decoder::UU<o:p></o:p></p>

<p class=MsoNormal>5.425&nbsp;&nbsp; MIME::Head<o:p></o:p></p>

<p class=MsoNormal>5.425&nbsp;&nbsp; MIME::Parser<o:p></o:p></p>

<p class=MsoNormal>3.07&nbsp;&nbsp;&nbsp; MIME::QuotedPrint<o:p></o:p></p>

<p class=MsoNormal>5.425&nbsp;&nbsp; MIME::Tools<o:p></o:p></p>

<p class=MsoNormal>0.11&nbsp;&nbsp;&nbsp; Net::CIDR<o:p></o:p></p>

<p class=MsoNormal>1.13&nbsp;&nbsp;&nbsp; POSIX<o:p></o:p></p>

<p class=MsoNormal>1.19&nbsp;&nbsp;&nbsp; Scalar::Util<o:p></o:p></p>

<p class=MsoNormal>1.80&nbsp;&nbsp;&nbsp; Socket<o:p></o:p></p>

<p class=MsoNormal>1.4&nbsp;&nbsp;&nbsp;&nbsp; Sys::Hostname::Long<o:p></o:p></p>

<p class=MsoNormal>0.24&nbsp;&nbsp;&nbsp; Sys::Syslog<o:p></o:p></p>

<p class=MsoNormal>1.9711&nbsp; Time::HiRes<o:p></o:p></p>

<p class=MsoNormal>1.02&nbsp;&nbsp;&nbsp; Time::localtime<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>Optional module versions are:<o:p></o:p></p>

<p class=MsoNormal>1.38&nbsp;&nbsp;&nbsp; Archive::Tar<o:p></o:p></p>

<p class=MsoNormal>0.22&nbsp;&nbsp;&nbsp; bignum<o:p></o:p></p>

<p class=MsoNormal>2.03&nbsp;&nbsp;&nbsp; Business::ISBN<o:p></o:p></p>

<p class=MsoNormal>1.17&nbsp;&nbsp;&nbsp; Business::ISBN::Data<o:p></o:p></p>

<p class=MsoNormal>0.17&nbsp;&nbsp;&nbsp; Convert::TNEF<o:p></o:p></p>

<p class=MsoNormal>1.08&nbsp;&nbsp;&nbsp; Data::Dump<o:p></o:p></p>

<p class=MsoNormal>1.816_1 DB_File<o:p></o:p></p>

<p class=MsoNormal>1.14&nbsp;&nbsp;&nbsp; DBD::SQLite<o:p></o:p></p>

<p class=MsoNormal>1.601&nbsp;&nbsp; DBI<o:p></o:p></p>

<p class=MsoNormal>1.15&nbsp;&nbsp;&nbsp; Digest<o:p></o:p></p>

<p class=MsoNormal>1.01&nbsp;&nbsp;&nbsp; Digest::HMAC<o:p></o:p></p>

<p class=MsoNormal>2.36_01 Digest::MD5<o:p></o:p></p>

<p class=MsoNormal>2.11&nbsp;&nbsp;&nbsp; Digest::SHA1<o:p></o:p></p>

<p class=MsoNormal>1.00&nbsp;&nbsp;&nbsp; Encode::Detect<o:p></o:p></p>

<p class=MsoNormal>0.17011 Error<o:p></o:p></p>

<p class=MsoNormal>0.21&nbsp;&nbsp;&nbsp; ExtUtils::CBuilder<o:p></o:p></p>

<p class=MsoNormal>2.18_02 ExtUtils::ParseXS<o:p></o:p></p>

<p class=MsoNormal>0.44&nbsp;&nbsp;&nbsp; Inline<o:p></o:p></p>

<p class=MsoNormal>1.08&nbsp;&nbsp;&nbsp; IO::String<o:p></o:p></p>

<p class=MsoNormal>1.07&nbsp;&nbsp;&nbsp; IO::Zlib<o:p></o:p></p>

<p class=MsoNormal>2.23&nbsp;&nbsp;&nbsp; IP::Country<o:p></o:p></p>

<p class=MsoNormal>missing Mail::ClamAV<o:p></o:p></p>

<p class=MsoNormal>3.002003&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Mail::SpamAssassin<o:p></o:p></p>

<p class=MsoNormal>v2.005&nbsp; Mail::SPF<o:p></o:p></p>

<p class=MsoNormal>1.999001&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Mail::SPF::Query<o:p></o:p></p>

<p class=MsoNormal>0.21&nbsp;&nbsp;&nbsp; Math::BigRat<o:p></o:p></p>

<p class=MsoNormal>0.280801&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Module::Build<o:p></o:p></p>

<p class=MsoNormal>0.20&nbsp;&nbsp;&nbsp; Net::CIDR::Lite<o:p></o:p></p>

<p class=MsoNormal>0.62&nbsp;&nbsp;&nbsp; Net::DNS<o:p></o:p></p>

<p class=MsoNormal>v0.003&nbsp; Net::DNS::Resolver::Programmable<o:p></o:p></p>

<p class=MsoNormal>missing Net::LDAP<o:p></o:p></p>

<p class=MsoNormal>&nbsp;4.007&nbsp; NetAddr::IP<o:p></o:p></p>

<p class=MsoNormal>1.94&nbsp;&nbsp;&nbsp; Parse::RecDescent<o:p></o:p></p>

<p class=MsoNormal>missing SAVI<o:p></o:p></p>

<p class=MsoNormal>3.06&nbsp;&nbsp;&nbsp; Test::Harness<o:p></o:p></p>

<p class=MsoNormal>1.22&nbsp;&nbsp;&nbsp; Test::Manifest<o:p></o:p></p>

<p class=MsoNormal>2.0.0&nbsp;&nbsp; Text::Balanced<o:p></o:p></p>

<p class=MsoNormal>1.35&nbsp;&nbsp;&nbsp; URI<o:p></o:p></p>

<p class=MsoNormal>0.74&nbsp;&nbsp;&nbsp; version<o:p></o:p></p>

<p class=MsoNormal>0.66&nbsp;&nbsp;&nbsp; YAML<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>And running MailScanner in debug mode shows:<o:p></o:p></p>

<p class=MsoNormal>In Debugging mode, not forking...<o:p></o:p></p>

<p class=MsoNormal>Trying to setlogsock(unix)<o:p></o:p></p>

<p class=MsoNormal>SpamAssassin temp dir =
/var/spool/MailScanner/incoming/SpamAssassin-Temp<o:p></o:p></p>

<p class=MsoNormal>Can't use string (&quot;/var/spool/exim.in&quot;) as an
ARRAY ref while &quot;strict refs&quot; in use at /usr/sbin/MailScanner line
1385.<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>An strace of MailScanner while in debug mode shows the error:<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>&#8220;open(&quot;/root/.spamassassin/auto-whitelist.lock.mailscannerdevel.local.22409&quot;,
O_WRONLY|O_CREAT|O_EXCL|O_LARGEFILE, 0700) = 9<o:p></o:p></p>

<p class=MsoNormal>ioctl(9, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbff8cd58) = -1
ENOTTY (Inappropriate ioctl for device)&#8221;<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>before it dies and writes out the error about line 1385,
however I am not sure what this means or even if it is relevant, and the references
I can find for &#8220;perl +&#8217;Inappropriate ioctl for device&#8217;&#8221;
on the web don&#8217;t really help. Locking method in the MailScanner.conf is
set to posix, as Exim is in use. Perl was built to use perlio method for locks.
I&#8217;m wondering whether the Filesys module is doing or expecting something which
MailScanner can&#8217;t/isn&#8217;t handle/ing?<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>Any hints would be greatly appreciated, but if the answer is
&#8220;don&#8217;t use perl 5.10.0 yet&#8221; or &#8220;you must have screwed
up your compile of perl&#8221;, that&#8217;s fine I&#8217;ll roll back, but I
am keen to try and fix this problem, as the reason for the upgrade was to see
whether the perl core improvements in 5.10.0 made much of a difference to
MailScanner performance in comparison to our live boxes running 5.8.0.<o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:10.0pt;font-family:"Arial","sans-serif"'>Best Regards,</span><span
style='font-size:12.0pt;font-family:"Arial","sans-serif"'> </span><span
style='font-size:12.0pt;font-family:"Times New Roman","serif"'><o:p></o:p></span></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:10.0pt;font-family:"Arial","sans-serif"'>Richard Garner (A+,
N+, AMBCS, MOS-O)</span><span style='font-size:12.0pt;font-family:"Arial","sans-serif"'>
</span><o:p></o:p></p>

</div>




All E-Mail communications are monitored in addition to being content checked for malicious codes or viruses. The success of scanning products is not guaranteed, therefore the recipient(s) should carry out any checks that they believe to be appropriate in this respect.<br>
<p></p>
This message (including any attachments and/or related materials) is confidential to and is the property of Computer Service Centre, unless otherwise noted. If you are not the intended recipient, you should delete this message and are hereby notified that any disclosure, copying, or distribution of this message, or the taking of any action based on it, is strictly prohibited.<br>
<p></p>
Any views or opinions presented are solely those of the author and do not necessarily represent those of Computer Service Centre.<br>
</body>
</html>