I have an IMAP client developer telling me that my server is broken because I insist on the proper RFC3501 sequencing of steps when the client submits a literal.
In short, he is saying that he can send the {<count>} followed by the data in a single packet without waiting for the continuation command from my server, and that I am broken because I won't accept that.
His claim is that this type of literal pipelining is "common Internet practice" and that I should be more tolerant.
All servers can reject a literal (eg. it's too large, possibly because of other reasons too) and if client then sends the actual data without waiting for the OK reply, the data is treated as commands. Simply because it seems to work most of the time doesn't mean it's right.
If the client wants to send all at once, it should use literal+ extension.
Maybe I'll make my server kill the client immediately if it tries to do that :)
PGP.sig
Description: This is a digitally signed message part
