[BlueOnyx:24052] Re: Logwatch 5210R
Michael Stauber
mstauber at blueonyx.it
Tue Jun 30 14:36:55 -05 2020
Hi Richard,
> Getting these (seems like thousands of) errors in the logwatch report:
>
> Use of uninitialized value $QueueID in hash element at
>
> /usr/share/logwatch/scripts/services/sendmail line 920,
> <STDIN> line 24100 (#1)
We're using the run-of-the-mill and umodified "logwatch" from the CentOS
repository. I just checked a few 5210R of mine and I don't see this
problem on any of these. So ... no idea.
I checked /usr/share/logwatch/scripts/services/sendmail at line 920 to
see what it's doing when the error happens and it's this section:
-----------------------------------------------------------------
} elsif ( ( $Host ) = ($ThisLine =~ /(.*) (\(may be forged\) )?did
not issue MAIL\/EXPN\/VRFY\/ETRN during connection to /) ) {
# we test if they previously sent junk, because the connection is
expected to fail
if (defined $CommandUnrecognized{$QueueID}) {
$CommandUnrecognized{$QueueID} = $CommandUnrecognized{$QueueID}
. " ... and then exited without communicating\n";
} else {
$DummyConnection{$Host}++;
}
-----------------------------------------------------------------
So this triggers when the server is probed via "MAIL/EXPN/VRFY/ETRN"
*and* the email in question doesn't have a $QueueID.
The variable $QueueID is set in line 397 of this script. But if this is
a server probe via VRFY for example, then that script cannot possibly
have a $QueueID yet, because stuff hasn't progressed far enough to
generate a QueueID yet.
To me this looks like an oversight on behalf of the "logwatch" maintainers.
My suggestion: Comment out the lines 918-924 to disable this check.
That's exactly the block of code I quoted above.
Another alternative: Switch to Postfix. Logwatch will then no longer use
the Sendmail code snippets and will instead use the ones for Postfix.
--
With best regards
Michael Stauber
More information about the Blueonyx
mailing list