[Dovecot] "QUOTA" CAPABILITY keyword advertised incorrectly?
Greetings -
I'm having a frustrating time with mail clients not picking up Dovecot's QUOTA extension to IMAP.
The problem is that the QUOTA keyword isn't advertised in Dovecot's response to a CAPABILITY enquiry until *after* the user has authenticated.
Unfortunately I've yet to find a mail client that issues a CAPABILITY request after authenticating. Instead all do so upon initial connection to the IMAP server (and, correctly, again after subsequently initiating a STARTTLS session but before authentication).
Not re-querying the CAPABILITY after authentication is correct according to the IMAP spec in RFC2060, which says:
6.1.1. CAPABILITY Command
Arguments: none
Responses: REQUIRED untagged response: CAPABILITY
Result: OK - capability completed
BAD - command unknown or arguments invalid
The CAPABILITY command requests a listing of capabilities that the
server supports. The server MUST send a single untagged CAPABILITY
response with "IMAP4rev1" as one of the listed capabilities before the
(tagged) OK response. This listing of capabilities is not dependent
upon connection state or user. It is therefore not necessary to issue
a CAPABILITY command more than once in a connection.
In particular the last two sentences are relevant. (At present Dovecot is only advertising availability of the QUOTA extension *after* authentication, and hence *is* dependent on the user.)
Ths means that at present Dovecot's provision of the QUOTA extension isn't actually getting used by popular mail clients such as Thunderbird.
Cheers, Mike Brudenell
-- The Computing Service, University of York, Heslington, York Yo10 5DD, UK Tel:+44-1904-433811 FAX:+44-1904-433740
- Unsolicited commercial e-mail is NOT welcome at this e-mail address. *
On Thu, 2006-05-11 at 12:10 +0100, Mike Brudenell wrote:
Greetings -
I'm having a frustrating time with mail clients not picking up Dovecot's QUOTA extension to IMAP.
The problem is that the QUOTA keyword isn't advertised in Dovecot's response to a CAPABILITY enquiry until *after* the user has authenticated.
This is actually already fixed, but it's not yet in 1.0beta7. I should make a new release soon..
For now you can manually modify the capability line in config.h and recompile.
Greetings -
--On 11 May 2006 14:30:11 +0300 Timo Sirainen <tss@iki.fi> wrote:
This is actually already fixed, but it's not yet in 1.0beta7. I should make a new release soon..
For now you can manually modify the capability line in config.h and recompile.
Brilliant! That worked fine!
In passing... I say it worked fine: it did, but with Thunderbird, not Apple's "Mail" program. There seems to be a bug in the latter which doesn't recognise/use values returned for a quotaroot with an empty ("") name. (I confirmed it by hard-coding the normally empty quotaroot name in Dovecot to be "ZZZ" and Apple's Mail was then happy.)
I understand from the RFC that empty quotaroot names are allowed, so have sent in a bug report to Apple.
Cheers, Mike B-)
-- The Computing Service, University of York, Heslington, York Yo10 5DD, UK Tel:+44-1904-433811 FAX:+44-1904-433740
- Unsolicited commercial e-mail is NOT welcome at this e-mail address. *
Mike Brudenell wrote:
Unfortunately I've yet to find a mail client that issues a CAPABILITY request after authenticating. Instead all do so upon initial connection to the IMAP server (and, correctly, again after subsequently initiating a STARTTLS session but before authentication).
Dovecot might want to send an OK response with CAPABILITY Response code then (like "* OK [CAPABILITY IMAP4rev1 QUOTA FOO BAR] Capability list"). Smart clients should notice that.
Or just advertise it from the beginning :)
Not re-querying the CAPABILITY after authentication is correct according to the IMAP spec in RFC2060, which says:
It's 3501 now, btw.
Cheers, -jkt
-- cd /local/pub && more beer > /dev/mouth
participants (3)
-
Jan Kundrát
-
Mike Brudenell
-
Timo Sirainen