System: Debian Jessie
I'm trying to put an environment variable in the sql config like:
password_query = SELECT userid AS user, crypt AS password, maildir as
userdb_home, 500 as userdb_uid, 500 as userdb_gid FROM local_account
WHERE userid = '%u' and mbox_host = '%{env:CLUSTERNAME}'
and ( ( imap_aktiv='1' and '%s'='imap' ) or ( pop_aktiv='1' and
'%s'='pop3' ) or ( sieve_aktiv='1' and '%s'='sieve' ) )
and aktiv_abruf='1'
My variable is
%{env:CLUSTERNAME}
CLUSTERNAME is set through /etc/default/dovecot. I tried setting the import_environment config variable to
TZ CLUSTERNAME
but that changed nothing.
When I execute this through a login attempt, I see the following in the tcpflow output:
SELECT userid AS user, crypt AS password, maildir as userdb_home, 508 as userdb_uid, 503 as userdb_gid FROM local_account WHERE userid = 'te' and mbox_host = 'env:CLUSTERNAME}' and ( ( imap_aktiv='1' and 'pop3'='imap' ) or ( pop_aktiv='1' and 'pop3'='pop3' ) or ( sieve_aktiv='1' and 'pop3'='sieve' ) ) and aktiv_abruf='1'
So
%{env:CLUSTERNAME}
was parsed to
env:CLUSTERNAME}
which is not what the doc (http://wiki.dovecot.org/Variables) says, and it also seems like the parser somehow sees this as a short variable (removing %+{).
Any hints what might be happening here / how I can make it work.
Regards,
Tim