[Mimedefang] Future development

Dianne Skoll dianne at skoll.ca
Sun Nov 22 13:32:13 EST 2020

On Sun, 22 Nov 2020 13:24:24 -0500
Dianne Skoll <mimedefang at lists.roaringpenguin.com> wrote:

> Anyway... I'd really like to see MIMEDefang development activity pick
> up again.  I'm hoping The McGrail Foundation will attract more
> interest in the project.

Specifically... these are things I would do differently if I were
starting MIMEDefang now instead of 20 years ago. :)

The C code is mostly fine; the milter and the multiplexor work
pretty well.

The Perl code is atrocious.  mimedefang.pl is over 7500 lines of
Perl in one ugly file with a ton of global variables.  It needs a major
overhaul.  I would start by writing a MD::Filter base class
and storing state in the MD::Filter object.  Callbacks could be implemented
as methods and users could subclass MD::Filter to implement their behaviour.

Functions like md_check_against_smtp_server, etc. should
be broken out into helper modules.

The actual filter file would be a very simple thing that simply
instantiates a (subclass of) MD::Filter and calls $filter->run() to
run the main mimedefang.pl loop.




More information about the MIMEDefang mailing list