On 16/12/17 00:13, Robert Bannocks via Exim-users wrote:
> I an trying to write a route to override routing on the basis of a 
> combination of [envelope] to address, [envelope] from address, and host that 
> is forwarding the email to the exim server.   I have found that when you nest 
> forany loops spurious lookup are done.  To simplify I have taken the standard 
> exim config file and added at the top of the routers secition a line:
> 
> 
> 
> .include /usr/local/etc/exim.conf.new-router
> 
> 
> 
> in /usr/local/etc/exim.conf.new-router is the following router
> 
> 
> 
> OVERRIDEDEFAULTDOMAIN=$qualify_domain
> 
> OVERRIDELOOKUPORDEFAULTRESULT=${if 
> eq{$value}{}{exim@OVERRIDEDEFAULTDOMAIN}{$value}}
> 
> OVERRIDEROUTERFILE=/usr/local/etc/sender-recipient-override.txt-manual
> 
> OVERRIDEHOSTNAMEFORM=test.host.net
> 
> OVERRIDELOOKUP=${lookup{${item}}lsearch{OVERRIDEROUTERFILE}{LOOKUPORDEFAULTRESULT}}
> 
> OVERRIDEBOOLLOOKUP=bool_lax{OVERRIDELOOKUP}
> 
> OVERRIDETOFOR=${if forany{ C,${item} : D,${item} 
> }{OVERRIDEBOOLLOOKUP}{$value}}
> 
> OVERRIDETOBOOLFOR=bool_lax{OVERRIDETOFOR}
> 
> OVERRIDEFROMFOR=${if forany{ A@${item} : B@${item} }{OVERRIDETOBOOLFOR}}
> 
> OVERRIDEFROMBOOLFOR=bool_lax{OVERRIDEFROMFOR}
> 
> OVERIDEHOSTFOR=${if forany{OVERRIDEHOSTNAMEFORM : 
> SECONDHOSTNAMEPERHAPSWILDCARD }{OVERRIDEFROMBOOLFOR}}
> 
> override_sender:
> 
>         driver  = redirect
> 
>         data = OVERIDEHOSTFOR
> 
> repeat_use = false
> 
> 
> 
> When I test the routing extra lookups seem to occour:
> 
> /usr/local/bin/exim -d+all -bt [email protected] 2>2
> 
> 
> 
> grepping for lookups gives:
> 
> 
> 
> grep 'type=lsearch key=' 2
> 
> 
> 
> 23:57:05 35137   type=lsearch key="C,"
> 
> 23:57:05 35137   type=lsearch key="D,"
> 
[...]
> I cannot see where the first, second, seventh, eigth, thirteenth and 
> fourteenth lookups come from.

Let's just take the first.

 23:57:05 35137 /considering: ${if forany{test.host.net :
SECONDHOSTNAMEPERHAPSWILDCARD }{bool_lax{${if forany{ A@${item} :
B@${item} }{bool_lax{${if forany{ C,${item} : D,${item}
}{bool_lax{${lookup{${item}}lsearch{/usr/local/etc/sender-recipient-override.txt-manual}{LOOKUPORDEFAULTRESULT}}}}{$value}}}}}}}}

After macro expansion, the router is dealing with that.  Given the
CAPITAL LETTERS in it, I suspect you have macro problems which need
sorting out before you get to worrying over lookups.

Start with the rules on macros.
-- 
Cheers,
  Jeremy

-- 
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to