On Sun, 9 Apr 2006, Doug Jolley wrote:
> However, it
> really doesn't tell us how the verb behaves if a
> condition is not met and endpass is not present
> at all.
It behaves as if all conditions are "before endpass", because they are!
> I'm assuming that in that case, control
> is passed to the next statement. So, in order to
> get an accept verb to deny, the endpass modifier
> must be present and the failing condition must be
> after it.
Correct. There is nothing magic about this. I'm a very straightforward
programmer. :-) The logic is:
for each condition or modifier
is it a modifier?
if yes,
if it is endpass, remember we've seen endpass
otherwise, process the modifier as appropriate
else (it must be a condition)
test the condition
if it is true, continue with the next condition or modifier
otherwise
if we've seen endpass, return DENY from the ACL
otherwise move on to the next ACL statement
(or DENY if there are no more)
if we get here, all conditions are true, return ACCEPT from the ACL.
--
Philip Hazel University of Cambridge Computing Service
Get the Exim 4 book: http://www.uit.co.uk/exim-book