Christian Affolter wrote: > Hi > > I have a question regarding the IMAP CAPABILITY command behavior of > Dovecot 2.0.rc3. > > While connecting to a Dovecot 1.2.4 server and requesting the supported > capabilities, Dovecot returns all capabilities:
Timo's last response to this - and there have been a few others since this changes made (yes, it was intentional, and yes, per user capabilities are a future possibility): On 2010-04-07 9:38 PM, Timo Sirainen <t...@iki.fi> wrote: > This is pretty much intentional, because v1.x used to do horrible > horrible things to get the capability line. I was hoping to avoid that > in v2.0. This works for the most commonly used IMAP clients, so I don't > think I'm going to change this. It's time to get the clients fixed > instead. :) Besides, it's possible to support per-user capabilities, and > presenting capabilities before login makes this impossible. > > Dovecot v2.0 presents capabilities in two possible ways, depending on if > client sent a CAPABILITY command: > > a) the right way (use CAPABILITY imap resp code): > > * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE > STARTTLS AUTH=PLAIN] Dovecot ready. > x login user pass > x OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT > SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN > NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT > SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS] Logged in > > b) the wrong way (use untagged CAPABILITY), which is required to make it > work with Outlook etc.: > > * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE > STARTTLS AUTH=PLAIN] Dovecot ready. > a capability > * CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS > AUTH=PLAIN > a OK Capability completed. > b login user pass > * CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT > SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN > NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT > SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS > b OK Logged in -- Best regards, Charles