Hello,

In my setup, I am running dovecot with the following last_login config:

plugin {
  last_login_dict = file:~/.last_login
  last_login_key = %s
}

I would like to distinguish between logins through webmail (Roundcube) and logins through regular IMAP clients. Roundcube sends "x-forward-service=webmail" in ID, and I have working logging for this by putting the following in login_log_format_elements:

   service=%{if;%{passdb:forward_service};eq;webmail;webmail;%s}

(Is there may be a more elegant way to do this conditional?)

This will print `service=webmail` for webmail logins, and `service=imap` for regular IMAP client logins.

However, the same conditional does not work in last_login_key:

  last_login_key = %{if;%{passdb:forward_service};eq;webmail;webmail;%s}

Using this, the login fails and the error log outputs the following error:

Error: Failed to expand plugin setting last_login_key = '%{if;%{passdb:forward_service};eq;webmail;webmail;%s}': Unknown variable '%passdb'

How can I tell which variables are available to use in this plugin? Are the forwarded variables not available? If not, any other suggestions on how to differentiate these logins in last_login? Looking at the remote_ip is not feasible for my setup.

Best regards,
Eirik
_______________________________________________
dovecot mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to