Hi Dovecot Devs,

I'm currently setting up Dovecot 2.4 as frontend proxy to our backends. The frontends simply use an LDAP attribute of the user to connect to the assigned IMAP backend server. That works fine so far.

According to the documentation <https://doc.dovecot.org/2.4.4/core/man/doveadm-kick.1.html>, I should be able to disconnect a user with

doveadm kick USERNAME

or all sessions to a specific backend with

doveadm kick -h BACKEND_IP

or simply ALL sessions with

doveadm kick '*'

However the command reports the expected amount of connections kicked and exitcode 0, but all sessions stay connected. I also tried 'doveadm proxy kick ...' but as the the corresponding documentation states, this is only an alias for 'doveadm kick ...' and thus shows the same behavior.

In the previous Dovecot 2.3 setup 'doveadm proxy kick' is not yet an alias for 'doveadm kick' and works as expected by disconnection the specified proxy sessions. 'doveadm kick' behaves similar to Dovecot 2.4 (not kicking proxy sessions) but that is understandable given that the documentation describes the dedicated kick command for proxy sessions.

If this is the intended behavior for 'doveadm kick', how can I disconnect specific *proxy* sessions? If this is a bug, could you please fix it in the next releases or at least provide a patch that I can apply on my own build?

I verified the bug exists in the latest dovecot packages for Debian Trixie from repo.dovecot.org. Attached is the doveconf -n output for my test setup.

Best regards,
--
Patrick Cernko <[email protected]> +49 681 9325 5815
Joint Scientific IT and Technical Service
Max-Planck-Institute für Informatik & Softwaresysteme

# 2.4.4-5+debian13 (8b687aa65c): /etc/dovecot/dovecot.conf
# OS: Linux 6.18.36.1.amd64-smp x86_64 Debian 13.5 
# Hostname: bdove.mpi-klsb.mpg.de
dovecot_config_version = 2.4.4
dovecot_storage_version = 2.4.4
ldap_auth_dn = REDACTED
ldap_auth_dn_password = # hidden, use -P to show it
ldap_base = REDACTED
ldap_uris = ldaps://REDACTED/
listen = 0.0.0.0
mail_driver = maildir
mail_home = /home/%{user | username}/mail
mail_inbox_path = /var/mail/%{user | username}
mail_path = ~/mail
mailbox_list_utf8 = yes
protocols = imap
namespace inbox {
  inbox = yes
  separator = /
}
ssl_server {
  cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
  key_file = /etc/ssl/private/ssl-cert-snakeoil.key
}
passdb_ldap {
  filter = (&(objectClass=posixAccount) (istMailHomeServer=imap-*) 
(uid=%{user}))
}
userdb_ldap {
  filter = (&(objectClass=posixAccount) (istMailHomeServer=imap-*) 
(uid=%{user}))
  iterate_filter = (&(objectClass=posixAccount) (istMailHomeServer=imap-*)      
        )
}
passdb ldap {
  fields {
    host = %{ldap:istMailHomeServer}
    password = %{password}
    proxy = yes
    starttls = yes
    user = %{ldap:uid}
  }
  bind = yes
  use_worker = yes
}
userdb ldap {
  fields {
    user = %{ldap:uid}
  }
  iterate_fields {
    user = %{ldap:uid}
  }
  use_worker = yes
}
ssl_client {
  ca_file = /etc/ssl/certs/ca-certificates.crt
}
_______________________________________________
dovecot mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to