On Thu, 26 Mar 2009, Jonathan Siegle wrote:
On Mar 25, 2009, at 8:42 PM, Timo Sirainen wrote:
On Wed, 2009-03-25 at 07:52 -0400, Jonathan Siegle wrote:
On Mar 24, 2009, at 11:36 AM, Jonathan Siegle wrote:
Dovecot 1.2 (8834:5284f45c249a)
Should list return \HasChildren if no folders exist under it? I'm using mbox format.
Is this really a problem?..
alpine/pine can't delete empty folders because the empty folder \HasChildren.
Here is my patch.
Problem with that is that it doesn't return any children flags when using LISTEXT command:
1 list (subscribed) "" % return (children)
Fixing this would require adding new code to fs_list_subs() to scan the subdirectory if children flags are missing. list_file_subdir() handles that for non-subscription listing, but it can't be directly used for subscription listing.
ok thanks. I'll look at that today.
I'm confused on what needs fixing. Maybe my test data doesn't cover the case.
Here is output from my "unpatched" dovecot 1.2beta3:
3 list (subscribed) "imaptestdir/" % return (children)
- LIST (\Subscribed \NoInferiors \UnMarked) "/" "imaptestdir/mailbox1"
- LIST (\Subscribed \NoInferiors \UnMarked) "/" "imaptestdir/mailbox11"
- LIST (\Subscribed \NoInferiors \UnMarked) "/" "imaptestdir/mailbox2"
- LIST (\Subscribed \NoInferiors \UnMarked) "/" "imaptestdir/mailbox3"
- LIST (\Subscribed \NoInferiors \UnMarked) "/" "imaptestdir/mailbox6"
- LIST (\Subscribed \NoInferiors \UnMarked) "/" "imaptestdir/anotherfolder" 3 OK List completed. 4 list (subscribed) "imaptestdir/" * return (children)
- LIST (\Subscribed \NoInferiors \UnMarked) "/" "imaptestdir/mailbox1"
- LIST (\Subscribed \NoInferiors \UnMarked) "/" "imaptestdir/mailbox11"
- LIST (\Subscribed \NoInferiors \UnMarked) "/" "imaptestdir/mailbox2"
- LIST (\Subscribed \NoInferiors \UnMarked) "/" "imaptestdir/mailbox3"
- LIST (\Subscribed \NoInferiors \UnMarked) "/" "imaptestdir/mailbox6"
- LIST (\Subscribed \NoInferiors \UnMarked) "/" "imaptestdir/anotherfolder"
- LIST (\Subscribed \Noselect \HasChildren) "/" "imaptestdir/anotherdirectory/"
- LIST (\Subscribed \Noselect \HasChildren) "/" "imaptestdir/anotherdirectory/aseconddirectory/"
- LIST (\Subscribed \NoInferiors \UnMarked) "/" "imaptestdir/anotherdirectory/aseconddirectory/mailbox22" 4 OK List completed.
Here is output from the "patched" dovecot 1.2beta3:
3 list (subscribed) "imaptestdir/" % return (children)
- LIST (\Subscribed \NoInferiors \UnMarked) "/" "imaptestdir/mailbox1"
- LIST (\Subscribed \NoInferiors \UnMarked) "/" "imaptestdir/mailbox11"
- LIST (\Subscribed \NoInferiors \UnMarked) "/" "imaptestdir/mailbox2"
- LIST (\Subscribed \NoInferiors \UnMarked) "/" "imaptestdir/mailbox3"
- LIST (\Subscribed \NoInferiors \UnMarked) "/" "imaptestdir/mailbox6"
- LIST (\Subscribed \NoInferiors \UnMarked) "/" "imaptestdir/anotherfolder" 3 OK List completed. 4 list (subscribed) "imaptestdir/" * return (children)
- LIST (\Subscribed \NoInferiors \UnMarked) "/" "imaptestdir/mailbox1"
- LIST (\Subscribed \NoInferiors \UnMarked) "/" "imaptestdir/mailbox11"
- LIST (\Subscribed \NoInferiors \UnMarked) "/" "imaptestdir/mailbox2"
- LIST (\Subscribed \NoInferiors \UnMarked) "/" "imaptestdir/mailbox3"
- LIST (\Subscribed \NoInferiors \UnMarked) "/" "imaptestdir/mailbox6"
- LIST (\Subscribed \NoInferiors \UnMarked) "/" "imaptestdir/anotherfolder"
- LIST (\Subscribed \Noselect) "/" "imaptestdir/anotherdirectory/"
- LIST (\Subscribed \Noselect) "/" "imaptestdir/anotherdirectory/aseconddirectory/"
- LIST (\Subscribed \NoInferiors \UnMarked) "/" "imaptestdir/anotherdirectory/aseconddirectory/mailbox22" 4 OK List completed.
Thanks, Jonathan