Changes:
* mimedefang-multiplexor.c: On systems that support wait3 and fill
in the usage structure, we log the slave's system and user CPU
usage when it exits. The autoconf test is not too reliable on
Solaris; sorry...
* Create the temporary spool directory before calling filter_relay;
store it in $CWD for filter_relay, filter_sender, filter_recipient,
and the other filter functions, so we can pass state around.
* Officially deprecated non-use of the multiplexor. I plan
on dropping support for non-multiplexor operation by 31 July 2003.
* mimedefang.c: Added -M option to protect work directory
creation with a mutex.
* mimedefang.pl.in: resend_message returns a meaningful value
(true on success; false on failure.)
* mimedefang.c (envfrom): Fix potential descriptor leak. Problem
noted by Nik Clayton.
* mimedefang.c (envfrom): Fixed some incorrect syslog messages.
Problem noted by Nik Clayton.
* mimedefang-multiplexor.c: Add handling for filter_cleanup, that
lets you run Perl code just before a slave is killed. Based on
a suggestion by Brian Landers.
* Version 2.29 RELEASED
* mimedefang.pl.in (send_mail): Redirect sendmail's STDOUT to
STDERR; otherwise, complaints from Sendmail can mess up the
communication between the multiplexor and the slaves.
* mimedefang.pl.in: Add support for Trophie scanning library.
(Jason Englander)
* Version 2.28 RELEASED
* mimedefang.pl.in (spam_assassin_mail): Synthesize "Return-Path:"
and "Received:" headers for SpamAssassin (Nels Lindquist).
* mimedefang-multiplexor.c (MAX_CMD_LEN): Increased MAX_CMD_LEN
to 4096 from 512.
* mimedefang.pl.in (recipient_ok): Set global variables in
filter_relay, filter_sender and filter_recipient based on the
information available so far in the SMTP transaction. (Anne Bennet)
* Version 2.26 RELEASED
* Quarantine notifications no longer sent unless you explicitly
ask for them.
*** INCOMPATIBILITY ***
* mimedefang.pl.in (md_check_against_smtp_server): Added
md_check_against_smtp_server to check recipient addresses
before accepting them.
* Version 2.25 RELEASED
* mimedefang.pl.in: Added $RealRelayAddr and $RealRelayHostname
which give the actual relay host, ignoring the IP address
validation header. (Used by CanIt.)
*mimedefang.pl.in: Remove append_boilerplate
*** INCOMPATIBILITY ***
The append_boilerplate function is gone. It never really
worked properly. Instead, use append_text_boilerplate and
append_html_boilerplate.
* mimedefang.pl.in (message_contains_virus_clamd): Let clamd
recurse through work directory. Make sure you run Clam AntiVirus
version 0.52 or higher! (Jason Englander)
* watch-mimedefang: Now generated at configure time from
watch-mimedefang.in. Let's us specify @SPOOLDIR@
(Jason Englander)
have it be automatically included by bsd.pkg.mk if USE_PKGINSTALL is set
to "YES". This enforces the requirement that bsd.pkg.install.mk be
included at the end of a package Makefile. Idea suggested by Julio M.
Merino Vidal <jmmv at menta.net>.
Changes in 2.24:
This release includes "watch-mimedefang", a graphical monitoring tool [not enabled].
It does stricter checks on functions which only make sense in the context of a
message. Global variables are cleared between messages so that extraneous values
don't stick around. There are important fixes for Solaris and possibly other
non-Linux machines.
Changes in 2.23:
A bug which could crash mimedefang-multiplexor under conditions of extreme load
has been fixed. An attacker with sufficient bandwidth may be able to exploit the
bug to mount a denial-of-service attack.
Changes in 2.22:
Support has been added for clamd, the daemonized version of Clam AntiVirus. A new
variable $MaxMIMEParts lets you reject overly complex MIME messages which could
otherwise result in a DoS. A new action_delete_all_headers routine has been added
which deletes all instance of a given header. Many little bugs were fixed and
portability was improved.
MIMEDefang is an e-mail filter program which works with Sendmail 8.12
and later. MIMEDefang filters all e-mail messages sent via SMTP.
MIMEDefang splits multi-part MIME messages into their components and
potentially deletes or modifies the various parts. It then
reassembles the parts back into an e-mail message and sends it on its
way.
MIMEDefang is written (mostly) in Perl, and the filter actions are
expressed in Perl. This makes MIMEDefang highly flexible and
configurable. As a simple example, you can delete all *.exe and *.com
files, convert all Word documents to HTML, and allow other attachments
through.
MIMEDefang uses the "milter" feature of Sendmail to "listen in" to
SMTP connections. It runs a scan once for each message, not once for
each recipient (as simpler procmail-based systems do.) Therefore, it
is more CPU-friendly than procmail-based systems. In addition,
because MIMEDefang can participate in the SMTP connection, you can
bounce messages (something impossible to do with procmail-based
systems.)