It looks like man2html on Linux does not (or does not any longer)
support the "-t" flag. Moreover, man2html seems happy to read the man
page directly. In this commit we simplify the html documentation rule
to simply call man2html on the man page itself, with no flags.
Makefile: release as tar.xz and don't include HTML docs by default.
Since this is mainly a server utility, the HTML page is a bit
redundant because we already include the man page from which it is
built. Anyone is capable of running man2html to turn a man page into a
web page if they so desire.
We also change the release tarball to "tar.xz" format with lzma
compression, because that's what all the cool kids are doing.
This Makefile used to assemble postfix-logwatch from the"logreporters"
source tree, but now it's a standalone project with the logreporters
modules copy/pasted in. Delete the corresponding targets from the
Makefile.
In postfix-3.6, setting respectful_logging=yes changes "whitelist" and
"blacklist" to "allowlist" and "denylist". We add support for the new
log entries that can be generated as a result.
Michael Orlitzky [Wed, 26 Dec 2018 17:54:15 +0000 (12:54 -0500)]
Match postscreen "all server ports busy" lines.
Lines that look like
NOQUEUE: reject: CONNECT from [192.168.0.1]:39410: all server ports busy
were not being matched. There were two similar matches, one for a
specific "too many connections" error
NOQUEUE: reject: CONNECT from [192.168.0.1]:7197: too many connections
and another for a more general form intended to match "all screening
ports busy" errors from postscreen:
reject: connect from [192.168.0.1]:21225: all screening ports busy
The general form is preferable in my opinion, but the "screening
ports" message is a bit of a black sheep. As a result, even the more
general regular expression didn't match the other two errors due to
their beginning with "NOQUEUE" and using an uppercase "CONNECT".
To fix this, the general regular expression was made even more
general. Now, a leading "NOQUEUE: " is optional, and the "CONNECT" can
be capitalized. Thus, one regular expression now catches all three
messages.
Allow multi-digit numbers in enhanced SMTP status codes.
The re_DSN regular expression is intended to match a response like
"550 1.2.3", where "1.2.3" is an enhanced status code. However, the
regular expression was only expecting single-digit numbers between the
dots; thus it was missing codes like "550 5.7.23". The expression has
been updated to accept any number of digits between the dots.
This fixes unmatched rejection lines that begin with,
Michael Orlitzky [Thu, 24 Aug 2017 11:34:36 +0000 (07:34 -0400)]
Fix redundant argument to sprintf warning.
Perl 5.22 now warns about redundant (i.e. extra) arguments to the
sprintf function. If your format string only has two place-holders but
you pass three place-fillers, you get warned:
Redundant argument in sprintf at ./postfix-logwatch line 1382...
The issue there was that the format string passed to sprintf was
constructed dynamically; sometimes it would contain two place-holders,
and sometimes three. Three place-fillers were always passed, so when
only two place-holders were used, the warning would be thrown. This was
fixed by testing whether or not there are two or three place-holders,
and passing the appropriate number of place-fillers.
Michael Orlitzky [Thu, 24 Aug 2017 11:09:28 +0000 (07:09 -0400)]
Fix unescaped left brace warning for "Config: {".
New versions of Perl are starting to complain about unescaped braces
in regular expressions, and supposedly the warning will become a fatal
error in Perl 5.30. This particular warning is,
Unescaped left brace in regex is deprecated, passed through in regex;
marked by <-- HERE in m/^Config: { <-- HERE / at ./postfix-logwatch
line 1850.
and it was fixed by going to line 1850 and putting a backslash before
the left brace.