[exim] unable to use $home variable in accept router?!

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Jürgen Edner
Date:  
À: exim-users
Sujet: [exim] unable to use $home variable in accept router?!
Hi
I've spent several hours studying the Exim documentation (chapter 15,
16 etc.)s und trying to understand why the following router doesn't
work reliable on different systems. As far as I understood, the $home
variable should always be set when check_local_user is being executed.
The result could then be used in a following pre-condition check.

Although the debug_print shows that the variable has been set,
the following condition statement fails.

I have the impression that this problem only happens if an accept
router is used, but a redirect router doesn't run into that problem?!

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?

Thank you in advance for your help!

Regards
Juergen

--