2 months agoMakefile: don't include myself in the release tarball. master
Michael Orlitzky [Fri, 6 Aug 2021 15:12:22 +0000 (11:12 -0400)]
Makefile: don't include myself in the release tarball.

There's nothing to make, really, so having this included is not too
helpful. We could try to document DESTDIR to improve the utility of
"make install"... but... I'm not quite ready to take responsibility
for that without autotools around.

2 months agoamavis-logwatch: support forthcoming amavis-2.12.0 "starting" format. 1.51.04
Michael Orlitzky [Fri, 6 Aug 2021 14:11:20 +0000 (10:11 -0400)]
amavis-logwatch: support forthcoming amavis-2.12.0 "starting" format.

When amavis-2.12.0 starts or reloads, it outputs its name as "amavis"
instead of the "amavisd-new" that previous versions used. This commit
adds support for the name "amavis". It also allows the "starting" line
to contain "(warm)", with the "(warm)" being ignored so that the name
of the amavis daemon is captured properly.

This fixes missed lines of the form,

  Aug  6 00:00:54 mx1 amavis[10199]: starting. (warm) /usr/sbin/amavisd at amavis-2.12.0 (20190725), Unicode aware, LANG="C.utf8"

which is very likely to be the final format used by amavis-2.12.0.

2 months agoLICENSE: include the actual MIT license text.
Michael Orlitzky [Thu, 5 Aug 2021 22:59:25 +0000 (18:59 -0400)]
LICENSE: include the actual MIT license text.

2 months agoamavis-logwatch: update obsolete information in comment header.
Michael Orlitzky [Thu, 5 Aug 2021 22:55:43 +0000 (18:55 -0400)]
amavis-logwatch: update obsolete information in comment header.

2 months agoMakefile: whitespace cleanup and minor quality-of-life improvements.
Michael Orlitzky [Thu, 5 Aug 2021 22:31:06 +0000 (18:31 -0400)]
Makefile: whitespace cleanup and minor quality-of-life improvements.

2 months agoChanges: start the changelog entry for 1.51.04.
Michael Orlitzky [Thu, 5 Aug 2021 22:21:07 +0000 (18:21 -0400)]
Changes: start the changelog entry for 1.51.04.

2 months agoamavis-logwatch: bump the version to 1.51.04.
Michael Orlitzky [Thu, 5 Aug 2021 22:20:53 +0000 (18:20 -0400)]
amavis-logwatch: bump the version to 1.51.04.

2 months agoMakefile: fix the HTML documentation rule.
Michael Orlitzky [Thu, 5 Aug 2021 22:16:30 +0000 (18:16 -0400)]
Makefile: fix the HTML documentation rule.

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.

2 months agoMakefile: release as tar.xz and don't include HTML docs by default.
Michael Orlitzky [Thu, 5 Aug 2021 22:14:08 +0000 (18:14 -0400)]
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

2 months agoMakefile: delete logreporters stuff.
Michael Orlitzky [Thu, 5 Aug 2021 21:57:29 +0000 (17:57 -0400)]
Makefile: delete logreporters stuff.

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

2 months agoamavis-logwatch.1.html: delete auto-generated file.
Michael Orlitzky [Thu, 5 Aug 2021 21:53:24 +0000 (17:53 -0400)]
amavis-logwatch.1.html: delete auto-generated file.

The HTML docs are built from the man page, if you want them.

2 years agoCatch "Select failed: Interrupted system call" entries from clamd.
Michael Orlitzky [Wed, 13 Feb 2019 16:25:33 +0000 (11:25 -0500)]
Catch "Select failed: Interrupted system call" entries from clamd.

When a select() call in clamd is interrupted, amavis logs the
following warning:

  ClamAV-clamd: Select failed: Interrupted system call at /usr/sbin/amavisd
  line 8472, <GEN16> line 296., retrying (1)

These are harmless in and of themselves, but we would like to classify
them as warnings. Currently they are unmatched. This commit adds a
pattern for them, moving them from the "Unmatched Entries" heading to
"Miscellaneous warnings" instead. Afterwards, the report looks like,

  24   Miscellaneous warnings --------------------------------
   2      ClamAV-clamd: Select failed: Interrupted system call

2 years agoIgnore "SANITIZED ... NULL byte(s)" messages.
Michael Orlitzky [Fri, 28 Dec 2018 15:01:56 +0000 (10:01 -0500)]
Ignore "SANITIZED ... NULL byte(s)" messages.

Newer versions of the amavisd daemon sanitize NULL bytes within the
body of a message for the benefit of Cyrus IMAP. When it does this,
the number of bytes sanitized is logged. This is an informational
message only as far as I can tell, so it's been added to the list of
messages to ignore.

2 years agoIgnore "will bind to" lines in addition to "bind to" lines.
Michael Orlitzky [Fri, 28 Dec 2018 14:40:36 +0000 (09:40 -0500)]
Ignore "will bind to" lines in addition to "bind to" lines.

In amavisd-new-2.11.0-rc1, the informational "bind to..." messages
were changed to say "will bind to..." instead. This commit updates the
@ignore_list_final regular expression to match both forms.

2 years agoIgnore "no $pid_file configured, not checking it" lines.
Michael Orlitzky [Fri, 28 Dec 2018 14:33:07 +0000 (09:33 -0500)]
Ignore "no $pid_file configured, not checking it" lines.

When no PID file is configured (for example, when amavisd is running
in the foreground), this message is logged. We already ignore the
other types of PID file notifications, so ignore this one too.

2 years agoIgnore all "sd_notify" lines.
Michael Orlitzky [Fri, 28 Dec 2018 14:23:52 +0000 (09:23 -0500)]
Ignore all "sd_notify" lines.

Lines beginning with either "sd_notify:" or "sd_notify (no socket):"
contain information about what is being sent to the systemd
notification socket, if one exists. One such line was already being
ignored, but we don't want any of them. So, the existing
@ignore_list_final entry was expanded to encompass all such messages.

4 years agoIgnore errors from the File::LibMagic describe_filename function.
Michael Orlitzky [Thu, 7 Sep 2017 11:36:39 +0000 (07:36 -0400)]
Ignore errors from the File::LibMagic describe_filename function.

Newer versions of amavisd-new can make use of the File::LibMagic
library (as opposed to the "file" executable) to get information about
attachments. Using the library should be faster, but when it fails, it
does so in a novel way:

  (02859-21) File::LibMagic::describe_filename failed on p003: libmagic
  JPEG image data, Exif standard: [TIFF image data, big-endian,...

This commit adds such lines to the global ignore list, since they
don't provide us with any useful information.

4 years agoCatch mail that is passed UNCHECKED-ENCRYPTED.
Michael Orlitzky [Wed, 6 Sep 2017 13:19:42 +0000 (09:19 -0400)]
Catch mail that is passed UNCHECKED-ENCRYPTED.

Some encrypted mail can pass through the system with a log line like,

  (01495-17) Passed UNCHECKED-ENCRYPTED {RelayedTaggedInbound}, ...

These were unmatched, because the "-ENCRYPTED" suffix is new. One
regular expression and a dictionary have been updated to catch those
lines and dump them into the "unchecked" bin with the rest of the

4 years agoIgnore UTF8SMTP lines.
Michael Orlitzky [Thu, 24 Aug 2017 13:05:04 +0000 (09:05 -0400)]
Ignore UTF8SMTP lines.

Lines that look like,

  UTF8SMTP :10024 /var/...: <> -> <>
  BODY=8BITMIME SMTPUTF8 Received: from ([]) by...

were previously unmatched because of the relatively-new "UTF8SMTP".
Similar lines that have "ESMTP" instead of "UTF8SMTP" are already
ignored, so it makes sense to ignore the "UTF8SMTP" lines too.

4 years agoIgnore amavisd-new "starting child processes" notifications.
Michael Orlitzky [Thu, 24 Aug 2017 12:52:18 +0000 (08:52 -0400)]
Ignore amavisd-new "starting child processes" notifications.

Newer versions of amavisd-new log the following constantly:

  sd_notify (no socket): STATUS=Starting child process(es), ready for work.

It's of no use to us, so add it to the global "ignore" list.

4 years agoFix redundant argument to sprintf warning.
Michael Orlitzky [Thu, 24 Aug 2017 12:20:59 +0000 (08:20 -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 ./amavis-logwatch line 1338...

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.

4 years agoFix unescaped left brace warning in monster regex.
Michael Orlitzky [Thu, 24 Aug 2017 12:16:05 +0000 (08:16 -0400)]
Fix unescaped left brace warning in monster regex.

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/^(CLEAN|SPAM(?:MY)?|INFECTED \(.*?\)|BANNED \(.*?\)
  { <-- HERE [^}]+})?, ([^[]+ )?(?:([^<]+) )?[<(](.*?)[>)] -> ([(<].*?[)>]),
  (?:.*Hits: ([-+.\d]+))(?:.* size: (\d+))?(?:.* autolearn=(\w+))?/ at
  /usr/bin/amavis-logwatch line 2286.

and it was fixed by going to line 2286 and putting a backslash before
the left brace.

4 years agoUpstream source.
Michael Orlitzky [Thu, 24 Aug 2017 11:01:40 +0000 (07:01 -0400)]
Upstream source.