Summary: | IMAP broken with newer Dovecot versions | ||
---|---|---|---|
Product: | [Unmaintained] kmail | Reporter: | Timo Sirainen <tss> |
Component: | IMAP | Assignee: | kdepim bugs <kdepim-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | tuju |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Debian testing | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Timo Sirainen
2005-03-14 09:52:19 UTC
On Monday 14 March 2005 09:52, Timo Sirainen wrote:
> Dovecot 1.0-test and 1.0-stable releases send FETCH replies a bit
> differently than earlier versions (and other IMAP servers). This breaks
> kmail completely, it shows only 0-1 messages per mailbox.
I'm not too keen to change the kioslave to support this as it works with all
other servers. Nevertheless it would be good to have a test server. Is there
any?
Carsten
And from my point of view kmail is the only one that breaks completely with RFC compliat IMAP replies ;) But, I gave up with the most recent 1.0-test release and changed it to work like other servers. So my test server also uses now the new code and I don't have any running with the old code.. I still have a package I built without the changed behavior on a box of mine. I can get it ready to go in less than 10 minutes if you're still interested in looking at this. From a quick look at the parsing I'd say it should work. Matt, any chance to setup a test account? imaps://home.hattmoward.org burghardt kMail!test You can throw test messages at 'burghardt@home.hattmoward.org', and ssh in too if you want to check things over from a shell. I already sent two short tests there. SVN commit 417539 by burghard: Handle out-of-order UIDs. BUGS:101463 M +4 -4 imapparser.cc --- trunk/KDE/kdepim/kioslaves/imap4/imapparser.cc #417538:417539 @@ -1396,7 +1396,7 @@ } else if (word == "BODY[]" ) { - // Do the same as with "RFC822" + // Do the same as with "RFC822" parseLiteralC(inWords, true); } else if (word == "BODYSTRUCTURE") @@ -1429,10 +1429,10 @@ else lastHandled = new imapCache(); - if (envelope || seenUid.isEmpty ()) + if (seenUid.isEmpty ()) { - // we have seen this one already - // or don't know where to put it + // unknown what to do + kdDebug(7116) << "imapParser::parseFetch - UID empty" << endl; } else { |