[SA-exim] "uninitialized value" errors with SA 3.0.1

Brian Kendig brian at enchanter.net
Fri Dec 3 20:13:35 PST 2004


I've been the SA-Exim from CVS for a while (including the SA 3.0 patch) 
against SpamAssassin 2.64, and it worked fine.  But I just upgraded to 
SpamAssassin 3.0.1, and now I'm having problems.  Specifically, 
whenever spamd checks an incoming message, I see something like this in 
the mail log:

spamd[6616]: server started on port 783/tcp (running version 3.0.1)
spamd[6616]: connection from localhost [127.0.0.1] at port 50032
spamd[6623]: processing message 
<3B9E8392-4590-11D9-852A-000A9595347C at mac.com> for exim:-2.
spamd[6623]: Use of uninitialized value in concatenation (.) or string 
at ///Library/Perl/5.8.1/Mail/SpamAssassin/NoMailAudit.pm line 184.
spamd[6623]: Use of uninitialized value in pattern match (m//) at 
///Library/Perl/5.8.1/Mail/SpamAssassin/PerMsgStatus.pm line 875.
spamd[6623]: clean message (0.0/5.0) for exim:-2 in 4.5 seconds, 1054 
bytes.

Meanwhile, exim says there was a problem, and accepts the message:

I86AWZ-00053X-0B SA: Action: SA didn't successfully run against 
message, accepting (time: 5/5 secs | Message-Id: 
3B9E8392-4590-11D9-852A-000A9595347C at mac.com). From <brian at mac.com> 
(host=smtpout.mac.com [17.250.248.87]) for brian at enchanter.net

I'm running on the latest version of Mac OS X, and I believe I have all 
the latest versions of the relevant Perl modules installed from CPAN.  
When I look at those files, line 184 of NoMailAudit.pm is:

   my(@ret) = $self->{headers_pristine} =~ /^(?:$hdr:[ 
]+(.*\n(?:\s+\S.*\n)*))/mig;

and line 875 of PerMsgStatus.pm is:

   my(@pristine_headers) = grep(!/^X-Spam-(?!Prev-)/i, 
$self->{msg}->get_pristine_header() =~ /^([^:]+:[ 
\t]*(?:.*\n(?:\s+\S.*\n)*))/mig);

So is looks like whatever is causing this problem has something to do 
with pristine headers?  Any ideas on what might be causing this, or how 
to fix it?

   - B




More information about the SA-Exim mailing list