Changes in 2.44:
This release features support for two new Sendmail 8.13 features: the
SOCKETMAP map type, and Sendmail's built-in quarantine mechanism. There are
also some minor bugfixes and documentation cleanups, as well as a fix for a
memory leak with the embedded Perl interpreter on some platforms.
Changes in 2.43:
Various Perl functions can request the C code to delay before returning;
this permits tarpitting without tying up a Perl slave. The multiplexor has
an additional option to run a "tick" function on a periodic basis. There
are minor bugfixes and documentation improvements.
Changes in 2.42:
The multiplexor causes closelog() to avoid problems with embedded Perl
slaves. Support for SpamAssassin's upcoming 3.0.0 Perl API was added. A few
other small bugs were fixed.
Changes in 2.41:
This is a bugfix release only. The most important change is to stop the
action_quarantine_entire_message from sending out notifications each time
it is invoked. A few other minor bugs were fixed.
the RCD_SCRIPTS rc.d script(s) to the PLIST.
This GENERATE_PLIST idea is part of Greg A. Woods'
PR #22954.
This helps when the RC_SCRIPTS are installed to
a different ${RCD_SCRIPTS_EXAMPLEDIR}. (Later,
the default RCD_SCRIPTS_EXAMPLEDIR will be changed
to be more clear that they are the examples.)
These patches also remove the etc/rc.d/ scripts from PLISTs
(of packages that use RCD_SCRIPTS). (This also removes
now unused references from openssh* makefiles. Note that
qmail package has not been changed yet.)
I have been doing automatic PLIST registration for RC_SCRIPTS
for over a year. Not all of these packages have been tested,
but many have been tested and used.
Somethings maybe to do:
- a few packages still manually install the rc.d scripts to
hard-coded etc/rc.d. These need to be fixed.
- maybe remove from mk/${OPSYS}.pkg.dist mtree specifications too.
pkgsrc changes - add rc scripts and runtime checks for virus checkers
from Eric Schnoebelen in PR pkg/24295
- require native pthread library as pth doesnt work
Major changes from 2.39 to 2.40:
If multiple virus scanners are installed, they are all used.
Default action for viruses is now discard.
Added a new "notification" facility to allow external software to react
to changes in multiplexor state.
We now pass both the raw input message and the unpacked, decoded parts to
the virus scanner. This makes virus detection much more reliable.
Major changes from 2.38 to 2.39:
The multiplexor can be compiled with an embedded Perl interpreter to
significantly reduce the cost of starting a new slave
A memory leak in the status command was fixed.
A histo command was added so you can see how busy your installation
Major changes from 2.37 to 2.38:
The internal SMALLBUF constant was increased to handle larger SpamAssassin
reports produced by SpamAssassin version 2.60.
If a virus is found, action_notify_sender is disabled.
Major changes from 2.36 to 2.37:
Pure bug-fix release: A file descriptor leak was fixed, and we set the
close-on-exec flag on most file descriptors.
Major changes from 2.35 to 2.36:
Scalability enhancements for very busy servers.
Support for BitDefender's "bdc" virus scanner.
Other minor bug fixes.
USE_PKGINSTALL is "YES". bsd.pkg.install.mk will no longer automatically
pick up a INSTALL/DEINSTALL script in the package directory and assume that
you want it for the corresponding *_EXTRA_TMPL variable.
Major changes from 2.33 to 2.34:
* The multiplexor can queue requests, which might help throughput on a very busy
server.
* filter_{relay,sender,recipient} can return "DISCARD" to discard mail.
* Added new filter_unknown_cmd hook so filters can extend the MIMEDefang protocol.
* More fixes to the SpamAssassin interface.
* RAV AntiVirus is no longer supported.
* Non-multiplexor mode is no longer supported.
* Many other minor enhancements and bug fixes.
Major Changes from 2.34 to 2.35
* Bug Fixes
Major changes from 2.32 to 2.33:
The syslog facility can be changed easily.
MIMEDefang deletes all but the first of multiple Content-Type: headers.
MIMEDefang adds a Received: header when resending messages.
Major changes from 2.31 to 2.32:
Support for Central Command's Vexira virus-scanner.
Support for Sendmail's rcpt_mailer, rcpt_host and rcpt_addr macros.
Other minor bug fixes
Major changes from 2.30 to 2.31:
support for FPROTD scanner.
support for Symantec CarrierScan Server virus scanner.
Added remove_redundant_html_parts() to delete HTML parts if a
corresponding text/plain part is present in the message.
Speed ups
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.)