On Tue, Aug 31, 2010 at 11:00 AM, Timo Sirainen <tss@iki.fi> wrote:
On Sun, 2010-08-29 at 19:31 -0700, Kui Zhang wrote:
home = /mail/%Ld/%Ln mail_location = mdbox:/mail/%Ld/%Ln/mdbox
When: location = mdbox:~/mdbox:MAILBOXDIR=expunged expunged folder gets created inside mail_location
delete/expunge email works delete/expunge folder works
This is correct. So why aren't you using it?..
When: location = mdbox:~/expunged:MAILBOXDIR=expunged expunged folder gets created inside mail home
delete/expunge email works delete/expunge folder DOES NOT WORK.
This is wrong.
Server Responded: "CANNOT] Can't rename mailboxes across specified storages."
This is expected with the wrong configuration.
when try to delete the same folder again.
Server Responded: "NONEXISTENT] Mailbox was deleted under us"
This is still a bug .. I'll see about fixing it.
Yes it is a bug, in my opinion. Location should allow any where within the mail home dir.
Based on the doc here we should be able to use mixed storage types mbox maildir etc
http://wiki.dovecot.org/Namespaces
if location is set to following, we get error prompt via client too.
location = maildir:~/mdbox/expunged
I have mail_location dynamically set in the database....we only convert few user to mdbox to start with. So mixed storage would be nice.
Forgot to mention.
If we select prefix. .EXPUNGE imap generate a core dump.
(no debugging symbols found)...done. (gdb) bt full #0 0x0000000000411cf8 in client_find_namespace (cmd=0xedd968, mailbox=0xee02b0 ".EXPUNGED", storage_name_r=0x7fffb0609248, mailbox_status_r=0x7fffb060927c) at imap-commands-util.c:52 ns = 0xedc300 storage_name = 0xee02b9 "" p = <value optimized out> storage_name_len = 0 #1 0x000000000040d692 in cmd_select_full (cmd=0xedd968, readonly=false) at cmd-select.c:372 client = 0xedd208 box = <value optimized out> ctx = <value optimized out> args = 0xee01c0 list_args = <value optimized out> status = <value optimized out> mailbox = 0xee02b0 ".EXPUNGED" storage_name = <value optimized out> ret = <value optimized out> __FUNCTION__ = "cmd_select_full" #2 0x00000000004101fd in client_command_input (cmd=0xedd968) at imap-client.c:660 client = 0xedd208 command = <value optimized out> __FUNCTION__ = "client_command_input" #3 0x00000000004102dd in client_command_input (cmd=0xedd968) at imap-client.c:710 client = 0xedd208 command = 0xeb89c8 __FUNCTION__ = "client_command_input" #4 0x0000000000410505 in client_handle_next_command (client=0xedd208) at imap-client.c:751 size = 25 #5 client_handle_input (client=0xedd208) at imap-client.c:763 _data_stack_cur_id = 3 ret = false remove_io = <value optimized out> handled_commands = false __FUNCTION__ = "client_handle_input" #6 0x0000000000410e2f in client_input (client=0xedd208) at imap-client.c:802 cmd = <value optimized out> output = 0xedd7e8 bytes = <value optimized out> __FUNCTION__ = "client_input" #7 0x00007ff0b11f18d5 in ?? () No symbol table info available. #8 0x0000000000eb2436 in ?? () No symbol table info available. #9 0x0000000100000002 in ?? () No symbol table info available. #10 0x000000000000000c in ?? () No symbol table info available. #11 0x00000000000068c3 in ?? () No symbol table info available. #12 0x0000000000000000 in ?? () No symbol table info available.
Thanks for checking. Let me know if you need more info.
KuiZ