[Dovecot] Problems with subfolders in Thunderbird

Ian Thurlbeck ian at stams.strath.ac.uk
Fri May 19 11:44:27 EEST 2006


Curtis Maloney wrote:
> Ian Thurlbeck wrote:
> 
>>
>> Dear All
>>
>> Server:
>> dovecot-1.0.beta8 (compiled from source)
>> centos 4.3
>>
>> Client:
>> thunderbird 1.0.8 on Fedora Core 4
>> on port 993
>>
>> Using maildir
>>
>> Normally (with the current UW-IMAP) I can create a folder
>> which may contain only messages or only folders.
> 
> 
> This is a limitation normally inflicted by using mbox.  It is not 
> suffered by Maildir, which may explain why this "issue" is occurring.
> 

Hi Curtis

thanks for replying.

The desire for maintaining our current setup is dictating what I
would like. Currently all our Thunderbird clients have the
"Server supports folders that contain sub-folders and messages"
option UNCHECKED.  To migrate to dovecot I want to preserve
this setting. I would want to create, say, a top-level folder called
"top", with subfolders "sub1" and "sub2". Users can store messages
in "sub1", "sub2", but not in "top".

If I try to create a top-level folder "top" which "contains only
folders", it fails silently.  ngrep says:


   10 create "top/"..
#
   10 NO Invalid mailbox name: top/..

So Thunderbird has appended a "/"

I added an i_info() call to cmd-create.c and it says:
if (len == 0 ||
             mailbox[len-1] != mail_storage_get_hierarchy_sep(storage)) {
                 directory = FALSE;
                 i_info("Separator=%c", mail_storage_get_hierarchy_sep(storage));
         }


May 19 08:47:23 XXXXX dovecot: IMAP(it): Separator=.

So dovecot's and Thunderbirds idea of what a directory separator is differs
somewhat. The "else" part of the above code strips off this
separator before passing it to client_verify_mailbox_name(), but
this fails of course, since the code path follows the "if" clause.

The code is a bit tricky to follow with all these structs with pointers
to functions, so I'm struggling finding the bit where it sets the default
separator. I noticed that the config option "tb-extra-mailbox-sep"
is used to handle the trailing "/" in src/imap/cmd-delete.c and
src/imap/cmd-subscribe.c but not in src/imap/cmd-create.c ?

[ I would like to convert to maildirs - I have a lot of users with various
 >200MB mailboxes which clog up my backups and rsyncs. Rewriting these
mailboxes hammers the servers. ]

Thanks again

Ian

PS Yes, I was using "ls -a"!

>> When doing the same thing using dovecot as the server, the
>> same options are available, but any attempt to create a folder
>> containing only folders is silently ignored and nothing
>> happens 
> 
> 
> Thunderbird will have no idea what storage format the IMAP server is 
> using, so it's offering you the choice just in case.  I, personally, 
> have Thunderbird happily working with folders containing both messages 
> and folders.
> 
>  > (nothing is created anywhere on the server filesystem).
> 
> You are looking for hidden files, right?  Maildir folders all being with 
> a . and so will be hidden normally.  Just making sure.
> 
>> Is this a known problem ?
> 
> 
> It's really a side-effect of _removing_ a limitation.
> 
>> I do not want to use the setting which allows you to create folders
>> which may contain both messages and folders.
> 
> 
> I don't understand what your issue is here.  All Maildir folders may 
> contain messages AND folders.  If you want to force people to not be 
> able to do this, you may want to consider switching to mbox instead of 
> Maildir.
> 
> Which storage format is better is a holy war we don't want to get into 
> here. They both have their advantages in given situations.  Most people 
> consider the "messages or folders, but not both" property of mbox a 
> "limitation", not a "feature".
> 
> -- 
> Curtis Maloney
> cmaloney at cardgate.net


-- 
Ian Thurlbeck                http://www.stams.strath.ac.uk/
Statistics and Modelling Science, University of Strathclyde
Livingstone Tower, 26 Richmond Street, Glasgow, UK,  G1 1XH
Tel: +44 (0)141 548 3667           Fax: +44 (0)141 552 2079


More information about the dovecot mailing list