Mike Cardwell wrote:
> Marc Perkel wrote:
>
>
>>> Then you're better off using ${map}/${forall}/${forany} with dnsdb
>>> lookups than doing a recursive acl. I'm pretty sure exim's maximum acl
>>> recursion depth is quite low.
>>>
>>> But then if you're going to do that, you may as well shift the dnsbl
>>> lookups into the perl as the perl code would probably be saner than the
>>> exim config. http://oreilly.com/catalog/9780596520106/index.html
>>>
>> I wish there was better docs on that or some examples. I looked at it
>> and I don't understand how it works. And I couldn't find examples out
>> there so perhaps others don't quite understand it either.
>>
>
> The docs couldn't possibly be more clear.
>
> ${map} provides the examples:
>
> ${map{a:b:c}{[$item]}}
> ${map{<- x-y-z}{($item)}}
>
> So I ran them though -be:
>
> root@haven:~# exim4 -be '${map{a:b:c}{[$item]}}'
> [a]:[b]:[c]
> root@haven:~# exim4 -be '${map{<- x-y-z}{($item)}}'
> (x)-(y)-(z)
> root@haven:~#
>
> The output on its own explains exactly what it does without even having
> to read the rest of the documentation.
>
> The forall/forany documentation is equally clear and concise. I couldn't
> write better documentation if you gave me an entire afternoon to come up
> with it.
>
> Mike
>
>
How would you use forall/forany to take a variable that contains a list
of domains:
domain1.com, domain2.com, domain3.com
And with each one it calls an ACL that does various dnslists lookups. In
this case it would verify that each one is NOT listed in any of the
white lists and is listed in a black list, and return true if any one of
them matches this criteria.