[Mimedefang] Getting the error "Use of uninitialized value in concatenation"

Cormack, Ken ken.cormack at roadway.com
Wed Mar 15 11:47:19 EST 2006


Group,

I'm getting the following errors in my logs, and I cant seem to pin them
down....

Mar 15 11:15:15 mail01 mimedefang-multiplexor[13632]: Slave 28 stderr: Use
of uninitialized value in concatenation (.) or string at
/etc/mail/mimedefang-filter line 491, <STDIN> line 22.

Mar 15 11:15:16 mail01 mimedefang-multiplexor[13632]: Slave 23 stderr: Use
of uninitialized value in concatenation (.) or string at
/etc/mail/mimedefang-filter line 491, <STDIN> line 27.

Mar 15 11:15:18 mail01 mimedefang-multiplexor[13632]: Slave 23 stderr: Use
of uninitialized value in concatenation (.) or string at
/etc/mail/mimedefang-filter line 491, <STDIN> line 31.

Mar 15 11:15:21 mail01 mimedefang-multiplexor[13632]: Slave 26 stderr: Use
of uninitialized value in concatenation (.) or string at
/etc/mail/mimedefang-filter line 491, <STDIN> line 91.


In my filter, I have the following function, pretty much taken straight from
this discussion list...

sub spf_query ($$$$) {
    my ($ip, $sender, $helo, $guess) = @_;
    # The guess parameter needs to be set to either 0 or 1.
    if ($guess != 1) {
        $guess = 0;
    }

    # Check this sender against any SPF or Caller-ID records
    # that might be available.
    my $query = new Mail::SPF::Query ( ip         => $ip,
                                       sender     => $sender,
                                       helo       => $helo,
                                       guess      => $guess,
                                       callerid   => {
                                            "*."  => {
                                            check => 1 } }
    );

    my ($result, $smtp_comment, $header_comment, $spf_record) =
        $query->result();

    return ($result, $smtp_comment, $header_comment, $spf_record);
}


Line 491 of my filter, the line number referenced in the error messages
above, is the "md_syslog" line of the portion of filter_sender(), below.

sub filter_sender {
    my ($sender, $ip, $name, $helo) = @_;

    ::snip::

    if (!Relayed_FromUs()) {
        my ($result, $smtp_comment, $header_comment, $spf_record) =
            spf_query ($ip, $sender, $helo, 0);
        md_syslog ('info', "$QueueID: Received-SPF: $result
($header_comment) " .
            "$spf_record, Helo=$helo");
        if ($result eq "fail") {
           return('REJECT', "Access Denied (SPF) [$smtp_comment], " .
                "Relay=$hostname [$ip], Helo=$helo");
        }
    }

    ::snip::
}

Other than the error messages, email appears to be processing fine, and when
the SPF check doesn't yield the errors, I get the following god, and
expected, log entries.  For example...

Mar 15 11:41:54 mail01 mimedefang.pl[13016]: k2FGfuqh018283: Received-SPF:
none (mail01.roadway.com: domain of agalvan at SAS.Samsung.com does not
designate permitted sender hosts) , Helo=worldsecure.samsungaustin.com

Mar 15 11:43:40 mail01 mimedefang.pl[13019]: k2FGha2h018961: Received-SPF:
pass (mail01.roadway.com: domain of casper0627 at hotmail.com designates
64.4.17.33 as permitted sender) v=spf1 include:spf-a.hotmail.com
include:spf-b.hotmail.com include:spf-c.hotmail.com
include:spf-d.hotmail.com ~all, Helo=hotmail.com

	and

Mar 15 11:44:31 mail01 mimedefang.pl[19339]: k2FGiR8F019303: Received-SPF:
softfail (mail01.roadway.com: transitioning domain of info at eLogJobs.com does
not designate 203.144.173.207 as permitted sender) v=spf1 ip4:207.44.130.18
ip4:207.44.180.28 ip4:207.44.236.48 ip4:69.57.154.8 ip4:216.127.70.17
ip4:216.127.71.20 a mx ~all, Helo=irga7.truemail.co.th


I'm running sendmail 8.13.5, MIMEDefang 2.56, and Mail::SPF::Query 1.999.1
(although I also saw the same error with the older Mail::SPF::Query v1.997).

Does anyone have any ideas about this?  Thanks!

Ken




More information about the MIMEDefang mailing list