[Mimedefang] Future development
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
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