Bruno Prémont
2011-May-21 20:16 UTC
[Dovecot] Behavior difference in mbox versus Maildir listing
Hi, My MUA (claws-mail) is having a hard time listing directories for a mail account with two namespaces, one of which using mbox and the other one using maildir to store mails. Let's call the namespaces "#mbox." and "#maildir." and have "." as separator. Assume I have the following folder hierarchy: $namespace $namespace folder $namespace folder folder1a $namespace folder folder1b $namespace folder folder1c The resulting IMAPv4 session is: mb1 LIST "" "#mbox.%" * LIST (\Noselect \HasChildren) "." "#mbox.folder" mb1 OK List completed. mb2 LIST "" "#mbox.folder.%" * LIST (\Noselect \HasChildren) "." "#mbox.folder." * LIST (\NoInferiors \UnMarked) "." "#mbox.folder.folder1a" * LIST (\NoInferiors \UnMarked) "." "#mbox.folder.folder1b" * LIST (\NoInferiors \UnMarked) "." "#mbox.folder.folder1c" mb2 OK List completed. md1 LIST "" "#maildir.%" * LIST (\HasChildren) "." "#maildir.folder" md1 OK List completed. md2 LIST "" "#maildir.folder.%" * LIST (\HasNoChildren) "." "#maildir.folder.folder1a" * LIST (\HasNoChildren) "." "#maildir.folder.folder1b" * LIST (\HasNoChildren) "." "#maildir.folder.folder1c" md2 OK List completed. Notice the extra presence of listed folder itself with trailing "." in mb2 that has no equivalent in md2! Is this expected listing behavior? If so, why the differing behavior between both storage engines? Affected dovecot versions: at least 1.1.16 and 2.0.11 (installed from Gentoo packages) System is x86 on XFS Thanks, Bruno -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: not available URL: <http://dovecot.org/pipermail/dovecot/attachments/20110521/e92a3827/attachment-0002.bin>
Timo Sirainen
2011-May-21 20:23 UTC
[Dovecot] Behavior difference in mbox versus Maildir listing
On 21.5.2011, at 23.16, Bruno Pr?mont wrote:> The resulting IMAPv4 session is: > mb1 LIST "" "#mbox.%" > * LIST (\Noselect \HasChildren) "." "#mbox.folder" > mb1 OK List completed. > mb2 LIST "" "#mbox.folder.%" > * LIST (\Noselect \HasChildren) "." "#mbox.folder." > * LIST (\NoInferiors \UnMarked) "." "#mbox.folder.folder1a" > * LIST (\NoInferiors \UnMarked) "." "#mbox.folder.folder1b" > * LIST (\NoInferiors \UnMarked) "." "#mbox.folder.folder1c" > mb2 OK List completed. > md1 LIST "" "#maildir.%" > * LIST (\HasChildren) "." "#maildir.folder" > md1 OK List completed. > md2 LIST "" "#maildir.folder.%" > * LIST (\HasNoChildren) "." "#maildir.folder.folder1a" > * LIST (\HasNoChildren) "." "#maildir.folder.folder1b" > * LIST (\HasNoChildren) "." "#maildir.folder.folder1c" > md2 OK List completed. > > Notice the extra presence of listed folder itself with trailing "." > in mb2 that has no equivalent in md2! > > Is this expected listing behavior? If so, why the differing behavior > between both storage engines?It's expected, although maybe not the best behavior. I'm basically copying UW-IMAP behavior for mbox and Courier/Cyrus behavior for Maildir. There are more detailed reasons for why the "#mbox.folder." should be listed, which are described by Mark Crispin somewhere in imap-protocol mailing list archives I think. I've been thinking about making dbox and Maildir (and maybe mbox) behavior identical though..