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]