On Thu, 2008-10-09 at 12:28 +0300, Timo Sirainen wrote: > On Thu, 2008-10-09 at 10:03 +0200, Sascha Wilde wrote: > > It seems to work now for subscribing and selecting (and therefor for > > lsub and fetch) -- but LIST still bails out: > > > > l2 list "" "*" > > * LIST (\HasChildren) "/" "INBOX" > > * LIST (\HasNoChildren) "/" "INBOX/Calendar" > > * LIST (\HasNoChildren) "/" "INBOX/Contacts" > > * LIST (\HasNoChildren) "/" "INBOX/Journal" > > * LIST (\HasNoChildren) "/" "INBOX/Notes" > > * LIST (\HasNoChildren) "/" "INBOX/Tasks" > > * LIST (\HasNoChildren) "/" "INBOX/bla" > > l2 NO Unknown internal list error > > > > This happens as soon as dovecot stumbles upon the shared namespace, so > > that other public name spaces, which otherwise work, are affected, too. > > Right, that's intentional. You could set list=no to that namespace to > avoid the error, or implement the listing code. :)
Well, I changed it a bit anyway since it seems to work slightly better when it doesn't return an error: http://hg.dovecot.org/dovecot-1.2/rev/d30f0525d457 1 list "" s/% 1 OK List completed. 2 list "" s/test/% * LIST (\HasNoChildren) "/" "s/test/INBOX" * LIST (\HasChildren) "/" "s/test/hello" 2 OK List completed. 3 list "" s/% * LIST (\Noselect \HasChildren) "/" "s/test" 3 OK List completed. So it's still missing the "users who have mailboxes shared to you" discovery missing. I guess the easiest way to implement that would be to find those out at startup and create a namespace for all such users immediately. A better performing way would be to delay the namespace creation until the mailboxes are actually accessed and just have shared-list.c's LIST code list those users (with some kind of caching).
signature.asc
Description: This is a digitally signed message part