Michal Hlavinka
2009-Oct-01 12:59 UTC
[Dovecot] Capability info in hello message not complete?
Hi, one Fedora user complains about not some troubles after update to dovecot 1.2. He suspects wrong capability information given by dovecot 1.2 In dovecot.conf he uses imap_capability= option. While response to 'A CAPABILITY' respects imap_capability value, the capability info in hello message does not. for imap_capability=IMAP4 IMAP4rev1 ACL NAMESPACE CHILDREN SORT QUOTA THREAD=ORDEREDSUBJECT UNSELECT IDLE STARTTLS AUTH=PLAIN A CAPABILITY response is: * CAPABILITY IMAP4 IMAP4rev1 ACL NAMESPACE CHILDREN SORT QUOTA THREAD=ORDEREDSUBJECT UNSELECT IDLE STARTTLS AUTH=PLAIN but hello message is: * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS AUTH=PLAIN] Dovecot ready. But it seems even when imap_capability is not used capability in hello message is not complete: * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS AUTH=PLAIN] Dovecot ready. vs. * CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH STARTTLS AUTH=PLAIN is this expected? Do you think capability information in hello message really can befool clients? Regards, Michal Hlavinka
Timo Sirainen
2009-Oct-01 13:15 UTC
[Dovecot] Capability info in hello message not complete?
On Thu, 2009-10-01 at 14:59 +0200, Michal Hlavinka wrote:> Hi, > > one Fedora user complains about not some troubles after update to dovecot 1.2. > He suspects wrong capability information given by dovecot 1.2 > > In dovecot.conf he uses imap_capability= option. While response to 'A > CAPABILITY' respects imap_capability value, the capability info in hello > message does not. > > for imap_capability=IMAP4 IMAP4rev1 ACL NAMESPACE CHILDREN SORT QUOTA > THREAD=ORDEREDSUBJECT UNSELECT IDLE STARTTLS AUTH=PLAINI suppose he's using Dovecot as a proxy? Because Dovecot doesn't support IMAP4 or THREAD=ORDEREDSUBJECT.> but hello message is: > * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS > AUTH=PLAIN] Dovecot ready.Hmm. Yeah..> But it seems even when imap_capability is not used capability in hello message > is not complete:..> is this expected? Do you think capability information in hello message really > can befool clients?The capability in greeting message is short on purpose. It's only enough capabilities to get client logged in. After login Dovecot sends an updated full capability list to the client. It uses a few different tricks to get most clients understand the change. So the only potential problem I see here is if client understands the greeting capability and permanently remembers that the server supports LITERAL+, ID and ENABLE after login but the destination server actually doesn't. The other capabilities are relevant only before login. I'm not entirely sure what, if anything, I should do about this. I'd anyway like to hear what exactly is the problem and with what client, preferably with IMAP traffic logs showing what's happening wrong. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 197 bytes Desc: This is a digitally signed message part URL: <http://dovecot.org/pipermail/dovecot/attachments/20091001/d7fcf7ad/attachment-0002.bin>
Michal Hlavinka
2009-Oct-06 13:35 UTC
[Dovecot] Capability info in hello message not complete?
On Thursday 01 October 2009 15:15:09 Timo Sirainen wrote:> On Thu, 2009-10-01 at 14:59 +0200, Michal Hlavinka wrote: > > Hi, > > > > one Fedora user complains about not some troubles after update to dovecot > > 1.2. He suspects wrong capability information given by dovecot 1.2 > > > > In dovecot.conf he uses imap_capability= option. While response to 'A > > CAPABILITY' respects imap_capability value, the capability info in hello > > message does not. > > > > for imap_capability=IMAP4 IMAP4rev1 ACL NAMESPACE CHILDREN SORT QUOTA > > THREAD=ORDEREDSUBJECT UNSELECT IDLE STARTTLS AUTH=PLAIN > > I suppose he's using Dovecot as a proxy? Because Dovecot doesn't support > IMAP4 or THREAD=ORDEREDSUBJECT.yes, dovecot is used as proxy> > > but hello message is: > > * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE > > STARTTLS AUTH=PLAIN] Dovecot ready. > > Hmm. Yeah.. > > > But it seems even when imap_capability is not used capability in hello > > message is not complete: > > .. > > > is this expected? Do you think capability information in hello message > > really can befool clients? > > The capability in greeting message is short on purpose. It's only enough > capabilities to get client logged in. After login Dovecot sends an > updated full capability list to the client. It uses a few different > tricks to get most clients understand the change. > > So the only potential problem I see here is if client understands the > greeting capability and permanently remembers that the server supports > LITERAL+, ID and ENABLE after login but the destination server actually > doesn't. The other capabilities are relevant only before login. I'm not > entirely sure what, if anything, I should do about this. > > I'd anyway like to hear what exactly is the problem and with what > client, preferably with IMAP traffic logs showing what's happening > wrong.forwarded info: The imap-server is dbmail which supports "IMAP4 IMAP4rev1 ACL NAMESPACE CHILDREN SORT QUOTA THREAD=ORDEREDSUBJECT UNSELECT IDLE" and with dovecot version 1.1 it worked fine The problem sue is "LITERAL+" what dbmail does not support. The problem client was apple iphone