murder frontend CAPABILITY check
Wolfgang Breyha
wbreyha at gmx.net
Tue Nov 25 09:35:16 EST 2008
Hi!
I recognized that IDLE was not working as expected on our murder setup. We've
two frontends, 3 backends and a dedicated mupdate server, all running 2.3.13.
idled is active on the backends.
I did some strace'ing on front- and backends and as far as I can tell, the
frontends do not proxy the IDLE command to the backends, because the frontends
think the backends are not CAPAable to do IDLE.
I searched the source and it seems that there is a problem with the capability
check the frontends do on the backends.
On one hand cyrus announces CAPABILITY in the greeting banner. But
CAPA_PREAUTH doesn't contain all of the caps the frontend wants to know. eg.
IDLE, MULTIAPPEND, RIGHTS and LIST-SUBSCRIBED.
On the other hand, the frontend is told by the protocol definition in
imap_proxy.c:107, that it should exclusively check the banner in backend.c:400
for the CAPS, which doesn't contain the needed info in pre_auth state.
Am I right, that either
capa_response(CAPA_PREAUTH);
should return the needed caps for the frontends, too, or the frontends
should'nt believe blindly in the banner capabilites?
Regards, Wolfgang Breyha
--
Wolfgang Breyha <wbreyha at gmx.net> | http://www.blafasel.at/
Vienna University Computer Center | Austria
More information about the Info-cyrus
mailing list