Philip Hazel wrote:
> On Tue, 4 Jul 2006, Marc Perkel wrote:
>
>   
>> It would be nice if the Exim syntax were consistent between the ACLs and 
>> the transport/routers
>>
>> For example - ACLs allow multiple condition lines, routers don't. ACLs 
>> allow !condition - routers don't. Exim would be far easier to work with 
>> if the router and ACL commands were more consistent.
>>
>> Not trying to complain - just making a suggestion for improvement.
>>     
>
> It's partly history (routers have been there since the start of Exim; 
> ACLs were not there until Exim 4), and partly because
>
> (a) In a router, "condition", is an option. Options have one value; 
> therefore you can set it only once. All the options in a router are set 
> (though not necessarily evaluated) when the config is read. They may be 
> given in (almost) any order.
>
> (b) An ACL is more like a script. The order in which things are listed 
> matters, because they are obeyed in order. That is why you can have more 
> than one of anything.
>
> Now, we could extend some options in routers to be vectors rather than 
> scalars, and allow multiple occurrences to set multiple values, but for
> many router options (e.g. "driver"), it would not make sense. It would
> also introduce some notion of order, which would be a new thing. I am
> not convinced that it would actually reduce the diffences very much, and
> it could be equally confusing.
>
> One would have to change the notion of routers to be more script-like - 
> which is a large, very incompatible change, to achieve anything like
> consistency.
>   


I understand that as software grows it not always harmonious. Sometimes 
it's worth going back and rewriting things so that you get back to a 
solid foundation so that when you need to add new features you aren't 
fighting old code. I used to go through building phases where I added 
new capabilities and then cleanup phases where I went back and did 
things right so that the next time I wanted to build I had a solid 
foundation in code.

 From a user's perspective Exim is like having several different 
languages that are similar enough to create an expectation that they 
should be the same while different enough to be very frustrating. I find 
myself spending a lot of time fighting the syntax that I think is 
necessary to get the job done. So - this it just something on my wish list.


-- 
## List details at http://www.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://www.exim.org/eximwiki/

Reply via email to