I have just completed analysis of an incompatibility between a particular IMAP client and my server. The client would occasionally fail with a generic error message for no obvious reason.

If my analysis is correct, the non-obvious reason is that the client gets unhappy if it fails to obtain certain tagged responses in single read/recv chunks. Which effectively means that it expects said responses to be delivered in single packets. Now it clearly seems a good idea for efficiency that a server try to arrange things so that a tagged response is sent as one packet. But surely it cannot be right for a client to expect that?

The root of the incompatibility was that the server would issue a write/send for the tag and then another for the rest of the response. Combining them seems to have totally solved the problem. The reason I issued the response in two pieces stems from the fact that there is no length limit on a tag. It seems unlikely that a client would ever want to use a tag longer than a few characters (I don't recall seeing more than 6) but I am careful to allow for the possibility. Is there any positive reason for not placing a maximum length limit on tags? Have other server developers dealt with this issue?

I appreciate any comments,

Pete Maclean

--
-----------------------------------------------------------------
For information about this mailing list, and its archives, see: http://www.washington.edu/imap/imap-list.html
-----------------------------------------------------------------

Reply via email to