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