On 30.4.2013, at 0.12, Timo Sirainen <t...@iki.fi> wrote:

> On 29.4.2013, at 21.40, Mike Abbott <michael.abb...@apple.com> wrote:
> 
>> Dovecot-2.2.1 allows empty messages to be APPENDed when using CATENATE:
>> b1 append inbox catenate (text {0+}     
>> )
>> b1 OK [APPENDUID 1366726248 12] Append completed.
>> 
>> Contrast this with regular APPEND:
>> b2 append inbox {0+}
>> b2 NO Can't save a zero byte message.
>> 
>> Note that zero-size literals are OK but zero-size messages are not.  So 
>> while "b1" above should fail like "b2", this should continue to succeed:
>> b3 append inbox catenate (text {0+}
>> text {8+}
>> foobar
>> )
>> b3 OK [APPENDUID 1366726248 13] Append completed.
> 
> This could be changed I guess, but I don't think it's a bug. I don't see 
> anything in RFC 3501 prohibiting saving empty messages. Only the MULTIAPPEND 
> RFC says:
> 
>      A zero-length message literal argument is an error, and MUST
>      return a NO.  This can be used to cancel the append.
> 
> But that doesn't prohibit zero-length CATENATE parameters.

Also another way to generate empty message is to give URL to an empty MIME 
part. Should such APPENDs also fail? I think if there's no good reason to 
disallow empty messages I'll just keep the code as it is and allow them.

Reply via email to