Re: Query: Patches break with Microsoft exchange server.

From: Jeffrey Hundstad
Date: Wed Aug 11 2010 - 12:17:25 EST


On 08/11/2010 10:58 AM, David Woodhouse wrote:
> On Wed, 2010-08-11 at 10:46 -0500, Jeffrey Hundstad wrote:
>> Exchange 2010 does not handle IMAP "chunking" (partial message transfer)
>> correctly. Any request after about 1 megabyte of total message size
>> will fail.
>>
>> Thunderbird uses this "chunking" feature to give you a status update
>> while downloading large messages. The IMAP statements are of this type:
>> 11 UID fetch 244477 (UID RFC822.SIZE BODY[]<20480.12288>)
>>
>> When the 20480 is larger than 1MB Exchange "claims" there is no more.
>> Sigh....
>
> I think the problem is not with the fetching -- the problem is that
> Exchange lies about RFC822.SIZE before the IMAP client even starts to
> fetch the message. It reports a size which is smaller than the actual
> size of the message, thus leading to truncated fetches.
>
> In Evolution we have a workaround -- we don't just stop when we get to
> the reported RFC822.SIZE; we continue fetching more chunks until the
> server actually stops giving us any more. It's not as efficient (because
> we fall back to having only one more chunk outstanding at a time rather
> than the normal three in parallel), but at least it works around this
> brokenness of Exchange.
>
> http://git.gnome.org/browse/evolution-data-server/commit/?id=9714c064
>

In either case it can be used successfully by disabling mail.server.default.fetch_by_chunks in Thunderbird.

--
Jeffrey Hundstad



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/