When I added authenticators to Exim, I put their configuration at the
end of the file, so as not to invalidate existing configs. I am now
thinking about adding the ACL section (as previously discussed) for Exim
4. Because Exim 4 has no directors (just routers and transports), its
configuration file is necessarily going to be incompatible, so there is
the possibility of putting the ACL section somewhere other than at the
end. This has made me wonder whether there should be a general revision
of the order of sections. Here are some possibilities:
1. Minimal: Remove directors, put ACL at the end, leading to
. main
. transports
. routers
. retry
. rewrite
. authenticators
. ACLs
At least the sections that control input (rewrite, authenticators, ACL)
and those that control output (transports, routers, retry) are together.
2. A slight variation could be to put ACL before rewrite, as it is
probably the most important of the input-controlling sections.
3. Big revision: Put input before output, leading to
. main
. ACLs
. authenticators
. rewrite
. transports
. routers
. retry
4. Transports originally appeared before routers (and directors in Exim
3) so that transport names given in the routers could be checked for
existence when the config was read. Subsequently string expansions for
transport names were introduced, and these cannot be checked till
they are used, although in most configs fixed names are still used
(and checked). However, it takes some people a while to understand
the order in which the drivers are used, and I wonder if it might help
to put routers before transports? (And give up on the read-time
check.) I suppose a similar argument suggests that authenticators
should come before the ACLs, because authentication happens before
the ACLs are consulted.
This is all pretty minor, really. Does anybody have any strong views?
Any views at all?
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.