Re: [Exim] Adding eciscan to exim

Top Page
Delete this message
Reply to this message
Author: Christoph Kliemt
Date:  
To: exim-users
Subject: Re: [Exim] Adding eciscan to exim
Philip Hazel <ph10@???> writes:

[...]

> I intend to write a document that discusses possible future
> maintenance strategies and sets out the problems that I see in moving
> from the current "one-man-band" operation[*] to to a more distributed
> way of doing it.


Very good idea. :-) I think "a more distributed way" implies a more
modular code. So this could be a chance to do a code-cleanup. [1]

> There is no hurry. We can take as long as necessary to discuss what
> the future direction should be, and then start working towards it.


Some random,"heretical" thoughts about this code-cleanup...

- analyse exim.conf by flex and bison to have a readable grammar. I
think this would help people to find the right place to do something
(adding new features).

- use of modules similar to the way the apache webserver does. There
could be transport, router or acl-modules.

- get the ACLs more close to turing completeness. I think we will need
more intelligent MTAs in the future to win the "fight against
SPAM". Again, flex and bison will be the means to read ACLs; a
bytecode-Interpreter will handle the requests.

- use of C++ : no need to code in OO-Style, but i think C++ leads to
more readable, stable code. (example: "#define add( a, b ) a + b"
vs. inline int add( int a, int b ) { return a + b; } )

christoph

Footnotes:
[1]  example : filter.c line 106
     static int reply_offsets[] = {  /* must be in same order as above */