Re: [exim] endpass absent

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Doug Jolley
CC: exim-users
Subject: Re: [exim] endpass absent
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