Autor: Phil Pennock Data: A: Marc Perkel CC: exim-users Assumpte: Re: [exim] URIBL Parser for Exim - Anyone Interested?
On 2009-03-10 at 12:02 -0700, Marc Perkel wrote: > Then I ran that through a recursive ACL to get each one separately so I
> can look each one up individually. Then the idea is to run eack one
> through another ACL that does a lot of lookups, first testing white
> lists and then black lists.
Exim is not primarily a programming language and doesn't have
tail-recursion optimisation for processing ACLs; each call to ACL
expansion puts a layer on the stack. To protect against this, you can
only have ACLs call ACLs to a maximum depth of 20.
This isn't really a limitation normally, because without this
safety-check you risk exceeding your process stack rlimits based on the
content of external mail, which would be a rather bad idea. This is
highly unlikely to change.
So your recursive ACL will fail with an Exim hard error which will
probably hit your panic log when there's somewhere near 20 URLs in the
body.
You probably want to look at restructuring to use the forall/forany
expansion conditions instead.