Auteur: Jeremy Harris Date: À: exim-users Sujet: Re: [exim] unable to use $home variable in accept router?!
On 14/10/2020 19:25, Jürgen Edner via Exim-users wrote: > localuser_maildir:
> driver = accept
> check_local_user
> debug_print = DEBUG-HOME:$home:
> condition = ${if exists{$home/.imapmail/cur}}
> transport = local_delivery_maildir
>
> Trace:
>
> 25242 --------> localuser_maildir router <--------
> 25242 local_part=tom domain=my-domain.dom
> 25242 checking for local user
> 25242 seeking password data for user "tom": cache not available
> 25242 getpwnam() succeeded uid=2001 gid=100
> 25242 DEBUG-HOME:/home/tom:
> 25242 checking "condition" "${if exists{$home/.imapmail/cur}}"...
> 25242 localuser_maildir router skipped: condition failure
> 25242 --------> unknown_user router <--------
>
> Does anyone have an idea why the condition fails and what need to
> be done to get it running?
Presumably you know there is actually a file or directory by that name?
Assuming yes: next step is a repeat of your debug run but with +expand
added, so we see the "if exists" being expanded. Maybe the default
actions for the missing yes/no result cases is not working right.
After that, I guess the next step would be an strace to show the actual
"stat" syscall being done, so we can tell if it correctly ran that
bit of the expansion (I don't see why not, but we're into that level
of distrust) and what the return value from the OS was.
--
Cheers,
Jeremy