[Mimedefang] MIMEDefang 2.57-BETA-1 is available

David F. Skoll dfs at roaringpenguin.com
Thu May 4 13:36:32 EDT 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

MIMEDefang 2.57-BETA-1 is available from the download page:

http://www.mimedefang.org/node.php?id=1

This release contains a few bug fixes plus two new features.  The
new features are:

1) A new "md-mx-ctrl hload" command that is analogous to md-mx-ctrl load,
but shows load averaged over the last 1, 4, 12 and 24 hours.

2) And controversially:  A change to the slave-scheduling algorithm.
In previous versions, when the multiplexor went to pick a slave to do
work, it picked the oldest available slave, where "age" is measured by
how long ago the slave process was started.

The new algorithm works as follows:  For a given command (relayok,
senderok, recipok and scan), pick the oldest slave that previously
ran that same command.  If there is no such slave, pick the oldest slave.

What this means is that all your "filter_recipient" functions will
tend to run on one slave (or one group of slaves), and the
content-filtering functions (filter_begin, etc.) will tend to run on
another slave or group of slaves.

This change is experimental; the theory is that if we can lazily load
modules, then slaves that spend their entire lifetime doing "filter_recipient"
calls won't need to load big Perl modules like SpamAssassin at all.
(Currently, the sample filter does NOT do lazy module loading, so the
scheduling change makes no difference yet, but we may rework the filter
to take advantage of it.)

The reason I said the change is controversial is this: If you have a
working filter that "accidentally" relies on state being preserved
across filter_relay/filter_sender/filter_recipient/filter_begin, that
filter will almost certainly STOP WORKING.  Whereas with older
versions of MIMEDefang, such filters would fail only occasionally,
with the new version, they will fail almost all the time.

In my opinion, this is a Good Thing, because it exposes buggy filters
quickly.  Nevertheless, do not upgrade to 2.57 unless you're quite sure
your filter is correct.

Full changelog follows.

Regards,

David.

2006-05-04  David F. Skoll  <dfs at roaringpenguin.com>

	*  VERSION 2.57-BETA-1 RELEASED

	* Minor fixes to man pages.  Some cleanups courtesy of
	Brandon Hutchinson

	* mimedefang-multiplexor.c: New "md-mx-ctrl hload" command keeps track
	of load for past 1, 4, 12 and 24 hours.  Gives long-term data to
	complement the short-term "md-mx-ctrl load" data.

	* mimedefang-multiplexor: New scheduling algorithm tries to keep
	commands "sticky".  For example, when looking for a slave to run
	"recipok", we prefer to use a slave that recently ran "recipok".
	NOTE!!! If your filter incorrectly retains state from earlier
	callbacks into filter_begin, this scheduling change WILL expose
	the bugs in your filter.

	* mimedefang.c: Bug fix for NULL pointer dereference when running
	"sendmail -bs".  Problem noted by Leena Heino.

	* mimedefang.pl.in: Fix for FPROTD integration courtesy of
	Jonathan Hankins.

	* mimedefang.pl.in: Fix for H+BEDV integration courtesy of
	Thorsten Schlichting.

	* mimedefang.pl.in: Pass LOCAL_STATE_DIR => '/var/lib' to
	Mail::SpamAssassin constructor.  If your LOCAL_STATE_DIR
	is elsewhere, you'll have to hack the Perl code, I'm afraid.

2006-02-13  David F. Skoll  <dfs at roaringpenguin.com>

	*  VERSION 2.56 RELEASED


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFEWjugwYQuKhJvQuARAlxIAJsGLHbCh1BQoe71dUsXAOGAmL8Y8gCeJl+S
iP5y5JqT3eJ/p16/cXd7mKY=
=dkgJ
-----END PGP SIGNATURE-----



More information about the MIMEDefang mailing list