On 26 Sep 2015, at 12:15, Greg Wildman <li...@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.