Re: [exim] Regex Parsing help

Top Page
Delete this message
Reply to this message
Author: Mike Cardwell
Date:  
To: exim-users
Subject: Re: [exim] Regex Parsing help
Marc Perkel wrote:

>>> Thanks - I have what I need for that step in the process.
>>>
>>> parse_uri:
>>>    warn set acl_c_parse_lookup = ${sg{$acl_c_parse_uri}{\N .*\s\N}{}}
>>>        set acl_c_parse_lookup = ${sg{$acl_c_parse_lookup}{ }{}}
>>>         set acl_c_parse_uri = ${sg{$acl_c_parse_uri}{\N^.*?\s\N}{}}
>>>         acl = uribl_lookup
>>> #    logwrite = PARSE1 - [$acl_c_parse_lookup]
>>>    warn !condition = ${if eq{$acl_c_parse_uri}{}}
>>>         acl = parse_uri
>>>    accept

>>>
>> There's a recursion limit in Exim. I can't remember what it is. If the
>> number of domains you're looking up exceeds that limit, the message
>> delivery will fail. The number is small, you might want to look it up.
>
> Since there seems to be no other way to do what I want I can live with a
> recursion limit of 20.


I suspect you probably don't need to use a separate acl for uribl_lookup
if you use a set of if/else conditions and the dnsbl lookup type, but
without seeing it I can't be sure (don't show me, I can't be bothered to
convert it for you). If that is the case, you can use forall/forany. But
considering the low likelihood of anyone other than you actually using
your recursive acl config, I suppose it wont do too much damage.

Mike