A comparison of the output with "-d -bt" and "-d -bv" seems to point to the issue.

Everything is essentially the same until the first alias redirect router is encountered. At the point where the "guts" of the alias redirect router appears, namely the statement "data = <string to expand>", the -bt execution expands the string as expected, whereas -bv does absolutely nothing with it. More precisely:

With -bt, the line:
 rda_interpret <the string to expand>
is followed by 15 lines detailing the expansion, ending with:
lookup yielded: <the desired result>
followed by
expanded: <the desired result>

With -bv, the line:
 rda_interpret <the string to expand>
is immediately followed on the next line with
 expanded: <nothing, zilch, nil, nada>
followed a few lines later by "router declined"

Going further, I retried with -d+expand -bv. The following seems to be the essence of the issue:

rda_interpret (string): ${if exists{/etc/virtual/${domain}/aliases}
       {${lookup{$local_part} lsearch {/etc/virtual/${domain}/aliases}}}}
expanding: /etc/virtual/${domain}/aliases
result: /etc/virtual/mydomain.com/aliases <<----this file exists!!!
condition: exists{/etc/virtual/${domain}/aliases}
   result: false <<----wrong!!
expanding: $local_part
   result:
skipping: result is not used
expanding: /etc/virtual/${domain}/aliases
   result: /etc/virtual//aliases
skipping: result is not used
expanding: ${lookup{$local_part} lsearch {/etc/virtual/${domain}/aliases}}
   result:
skipping: result is not used

Can someone shed light on this?

--
## 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