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 */