Hi there, I have been trying to have one router act when a condition is true, and the other act when that same condition is not true. The conditions are LDAP lookups. I'm omitting the specific lookup for privacy reasons. ;)
| > ${lookup ldap{...}{true}{false}} | true The lookup is defined as a macro in exim4.conf: | HAS_FORWARDS = ${lookup ldap{...}{true}{false}} I tried to have my router like this: | routerWhenNoForwards: | debug_print = "routerWhenNoForwards HAS_FORWARDS" | condition = ! HAS_FORWARDS | [..] | no_more | | routerWhenForwards: | debug_print "routerWhenForwards HAS_FORWARDS" | condition = HAS_FORWARDS | [..] | | otherRouter: | ... The lookup works and in '-be' testing yields 'true'. In '-bt' testing, debug_print also shows that 'true': | routerWhenNoForwards true The address tested does indeed have forwards. So, "! true" must mean "false", right? That router should not run? Yet, that routerWhenNoForwards router runs. I made it work by duplicating the condition LDAP lookup macro and negating it in the LDAP query. I am now using the 'HAS_NO_FORWARDS' lookup on the 'WhenNoForwards' router and life is good again, but i wonder what i am doing wrong? Am i being bitten by the situation described in the 'Historical note' as can be found at [1] in the docs? Is there a nicer way to do this than having two lookups like i have now? That section isn't really clear on not being able to negate a lookup like i tried... Actually having two macros might be cleaner / more human readable, and i think it doesn't really bother me, but still, this cost me a few minutes before i gave in to having two lookups. ;) Regards, -Sander. [1] https://www.exim.org/exim-html-current/doc/html/spec_html/ch-generic_options_for_routers.html -- | 42.7 percent of all statistics are made up on the spot. | 4096R/20CC6CD2 - 6D40 1A20 B9AA 87D4 84C7 FBD6 F3A9 9442 20CC 6CD2 -- ## 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/