On 26 Sep 2015, at 12:15, Greg Wildman <lists@itns.co.za> wrote:
Hello,
I am trying out 2.2.19.rc1 on a lightly loaded server with no problems so far. The reason I wanted to try 2.2.19.rc1 was to get access to the %{listener} variable in the auth phase so I can modify the SQL password_query according to which unix_listener is being queried.
According to the docs, "These variables work only in Dovecot-auth and login_log_format_elements setting". I can confirm that %{listener} works in login_log_format_elements but it does not work if I use it in my SQL auth query.
The docs were wrong - fixed now. Although I suppose auth could also have that..
Now I want to use %{listener} in my SQL password_query in a case statement to auth according to which listener is being used. E.g.
CASE '%{listener} '
WHEN 'exim-client' THEN ma.SMTPAUTH_allowed = 'YES'
WHEN 'xmpp-client' THEN ma.XMPP_allowed = 'YES'
ELSE ma.IMAP_allowed = 'YES'
END
Typically they would use a different service (smtp, xmpp, imap) and you'd use e.g.:
protocol smtp { passdb { ... } }
This of course trusts that the auth client sends the correct service.