[Dovecot] CATENATE allows zero parts
I'm pleased to see that dovecot-2.2 includes support for RFCs 4467 and 4469 (URLAUTH and CATENATE). I have begun testing these features (in dovecot-2.2.1) and comparing their functionality against Apple's implementation. So far I have discovered a few inconsistencies. I will report each of these, and any more that I may find, in separate threads.
The first issue is that using CATENATE with no message parts works but, IMO, shouldn't: a2 append inbox catenate () a2 OK [APPENDUID 1366726248 9] Append completed.
For comparison this is how Apple's enhanced dovecot in OS X Server handles this request: a2 append inbox catenate () a2 BAD Invalid arguments.
According to RFC 4469 section 3 CATENATE requires "one or more message parts." This is formalized in section 5: append-data =/ "CATENATE" SP "(" cat-part *(SP cat-part) ")" and in RFC 3501 section 9 which states that "[ABNF] rules MUST be followed strictly."
I believe that permitting zero cat-parts is contrary to the RFC, although I can understand permitting it under the general doctrine of "servers should be liberal in what they accept, and clients strict in what they send."
Is accepting zero cat-parts an intentional exception to the RFC or an oversight?
On 29.4.2013, at 21.37, Mike Abbott michael.abbott@apple.com wrote:
I'm pleased to see that dovecot-2.2 includes support for RFCs 4467 and 4469 (URLAUTH and CATENATE). I have begun testing these features (in dovecot-2.2.1) and comparing their functionality against Apple's implementation. So far I have discovered a few inconsistencies. I will report each of these, and any more that I may find, in separate threads.
The first issue is that using CATENATE with no message parts works but, IMO, shouldn't: a2 append inbox catenate () a2 OK [APPENDUID 1366726248 9] Append completed.
For comparison this is how Apple's enhanced dovecot in OS X Server handles this request: a2 append inbox catenate () a2 BAD Invalid arguments.
CATENATE with no message parts works but, IMO, shouldn't:
Confirmed. Thanks.
participants (2)
-
Mike Abbott
-
Timo Sirainen