Categories: Report an issue : Account Access and Safety : Computer email program (please specify: Apple Mail, Outlook, Thunderbird, etc) :

IMAP CLOSE command and deflate compression

Showing 1-10 of 10 messages
IMAP CLOSE command and deflate compression Limilabs 6/16/12 12:07 PM
Gmail's IMAP server does not send response to CLOSE command when deflate compression (COMPRESS DEFLATE) is used. Not a single byte can be received.

The server replies with proper responses to all other commands.
It also sends proper response to CLOSE ("a0001 OK 73 good day (Success)\r\n") when no compression is used.

This message has been hidden because it was flagged for abuse.
Re: IMAP CLOSE command and deflate compression bkennelly 6/16/12 5:42 PM
I am going to let the Gmail team know what you found. 

Re: IMAP CLOSE command and deflate compression Limilabs 6/18/12 12:57 AM
@Dingus

This is not helpful at all.
I have no problems downloading mail, and none of the parts of the article applies to this problem.
Re: IMAP CLOSE command and deflate compression Limilabs 6/18/12 12:58 AM
@Brian,

Thanks.

Re: IMAP CLOSE command and deflate compression Limilabs 6/21/12 2:28 AM
It seems the problem is much more serious.

Only first command send to the server works and returns a response.
After sending a second command not a single byte can be received. 
Re: IMAP CLOSE command and deflate compression bkennelly 6/21/12 8:33 AM
OK, now it looks like a problem with your test harness. Compression does work, and is used by several clients. 

Verify that you are adding CR and LF to the end of each command, and that you are flushing the compression buffer and sending everything after every command. 


Re: IMAP CLOSE command and deflate compression Limilabs 6/21/12 9:19 AM
I started do believe so. 
In .NET's implementation of deflate stream, Flush does not write all buffered data to underlying stream. 
Close does, but reusing or recreating such stream does not work. I'm not yet 100% sure,
but it seems that FlushMode = FlushType.Sync is the key - maybe it will help others, with the same problems.
Re: IMAP CLOSE command and deflate compression bkennelly 6/21/12 9:47 AM
Yes, a sync flush is the way to go, but I am not familiar with .NET, so I don't know the syntax. Be sure to post back here. 

Re: IMAP CLOSE command and deflate compression Limilabs 6/21/12 10:55 AM
All tests show that FlushType.Sync works:

_upload = new DeflateStream(baseStream, CompressionMode.Compress, true);
_upload.FlushMode = FlushType.Sync;

Thanks for your help and sorry for all confusion.