Re: [Evolution] The problem with evolution and cyrus



Viljo Viitanen wrote:

At first, I must say that I have not taken a look at the Code, so I may be
wrong.

The problem seems to be that evolution uses "/" as a hard-coded imap mailbox
hierarchy delimiter. That sucks.

Sere's a snip of the log of evolution 0.4.1 trying to connect to cyrus (after
login):

sending : A00001 CAPABILITY
received: * CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ NAMESPACE UIDPLUS
X-NON-HIERARCHICAL-RENAME NO_ATOMIC_RENAME UNSELECT X-NETSCAPE
received: A00001 OK Completed
sending : A00002 LIST "" ""
received: * LIST (\Noselect) "." ""
received: A00002 OK Completed
sending : A00003 LIST "" "./.*"
received: A00003 OK Completed
sending : A00004 SELECT /
received: A00004 NO Mailbox does not exist
sending : A00005 EXAMINE /
received: A00005 NO Mailbox does not exist
sending : A00006 CREATE /
received: A00006 NO Invalid mailbox name
sending : A00007 LIST "" /
received: A00007 OK Completed
*** Message -- FINISH Scanning folders in "imap://vviitane localhost/"

The first LIST, tag A00001 is a special query that is used to find of the
delimiter. Cyrus responds ".", which evolution seemingly completely
misinterprets.

Then, evolution goes and tries to list "./.*", when it should be (as have been
said on the list) asking for "*" (as the 'path' setting is empty, no need for
delimiter).

Here's how raw imap LIST looks on cyrus, the first line being my command and the
rest its response.

0 LIST "" "*"
* LIST () "." "INBOX"
* LIST () "." "INBOX.crap"
* LIST () "." "INBOX.crap.crappiest"
0 OK Completed

Evolution developers, please fix this. I'll buy you beer if any of you ever is
in Helsinki :)

Oh, and one other thing. Evolution should really be looking for "INBOX" (it's
the special mailbox name for.. well, the inbox) instead of "/" when in doubt.


I posted similar a short while back, with links to straces, IMAP
sessions, etc.  The subject was "[Evolution] Cyrus IMAP, unkilled
processes".  You may give it a look-see to see if there's anything else
to add--Hopefully the one person who responded to it is working on it. 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]