Nikolaus Gerstmayr
2004-Sep-02 18:50 UTC
[Dovecot] Workaround for outlook UIDL handling bug ??
Scenario: Using Dovecot 0.99.10.9 as pop3 server. With delete on retrival off. clients: outlook* Problem: Everytihng work perfectly, except that outlooks keeps re-downloading SOME mail over and over. Though it already got them. No obvious pattern which, but only a small percentage. First of I looked at dovecots UIDLs. Initialy I thought it's broken (see my previous thread) Sorry for even thinking that, it's ok, my bad :) Rather, outlooks UIDL handling seems to be very broken :( But I think I found an easy workaround. Dovecots UIDLS seem to be timestamp.message# eg. 1 1093990148.1 2 1093990148.2 3 1093990148.3 4 1093990148.4 5 1093990148.5 6 1093990148.6 7 1093990148.7 8 1093990148.8 9 1093990148.9 10 1093990148.10 11 1093990148.11 12 1093990148.12 The problems started with #10 -> Asumption: outlook falsy only takes a fixed numbers of chars to hold the UIDL, the rest ist ignored. Perhaps only the first 13 or so. What I did is reversing the order in UIDL generation. Instead of timestamp.message# -> message#.timestamp. Seems to work perfectly. Well, a bit too early too tell if it really works. Need to wait a couple of days and see if the problem re-appears or not. The only thing I'm 100% sure is that outlooks UIDL handling is broken. BTW: very nice source code. Very easy to follow, took me 5 minutes to find the correct .c and routine. In /pop3/command.c, list_uids() all I changed is ... mail->seq, client->uidvality, mail->uid to mail->seq, mail->uid, client->uidvality. (2 times) If anyone is interested, I'll keep you informed if the problem is really gone with this mini-patch.
On 2.9.2004, at 21:50, Nikolaus Gerstmayr wrote:> Scenario: Using Dovecot 0.99.10.9 as pop3 server. > With delete on retrival off. > > clients: outlook*.. http://support.microsoft.com/default.aspx?scid=kb;EN-US;872839 Is it this problem? Maybe just try to get people to install SP1? I've been thinking about making the pop3 UID format configurable, but I can't anymore change the default. -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: This is a digitally signed message part URL: <http://dovecot.org/pipermail/dovecot/attachments/20040902/83485a89/attachment-0001.bin>
Nikolaus Gerstmayr
2004-Sep-02 20:04 UTC
[Dovecot] Workaround for outlook UIDL handling bug ??
> On 2.9.2004, at 21:50, Nikolaus Gerstmayr wrote: > > > Scenario: Using Dovecot 0.99.10.9 as pop3 server. > > With delete on retrival off. > > > > clients: outlook* > .. > > http://support.microsoft.com/default.aspx?scid=kb;EN-US;872839 > > Is it this problem? Maybe just try to get people to install SP1? > > I've been thinking about making the pop3 UID format configurable, but I > can't anymore change the default. >Unfortunatly, SP1 doesn't help. I read 872839 too, it gave me 5 minutes of hope, not not more :( We had a mixture of outlook 2003's with Sp1 and without it, and a couple of outlook express 6.x's ALL had the same problem with the SAME mails being redownlaoded all over :( Seems all microsoft mail clients share the same problematic UIDL code. Updated all outlook 2003's to SP1, didn't help either. Found this in meantime: http://www.smartertools.com/Products/SmarterMail/ReleaseNotes.aspx Unfortunatly it doesnt tell WHATS wrong with outlooks POP3 UIDL interpretation. Just that there is something wrong. If you have something like # values: default, yet_another_outlookbug_workaround, ... #UIDL_SHEME default it shouldnt be a big problem. if you can leave the old UIDL generation and its default. and warn what happens if you switch it. Again, I cant be 100% sure yet if my attempt to workaround that problem really helps. Time of observation too short. But looks good so far. BTW: of course I'd prefer to kick the god damn outlook's and/or switch to IMAP, but unfortunately I'm not allowed to do that :(((