Hi Timo,
http://hg.dovecot.org/dovecot-1.2/rev/7d484e0f0789 http://hg.dovecot.org/dovecot-1.2/rev/3a30d73fc463 http://hg.dovecot.org/dovecot-1.2/rev/b6abc84440df
With "list = children" the namespace ist still not listed, but that's no problem for me. With "list = all" now there is a folder named "%" listed, directly under "#User/", additionaly to "markus@example.com".
Accessing the folder "markus@example.com/ForTest" with Thunderbird results in a segfault. Mutt works. (FYI: I changed the usernames, now they include @domain, if that matters)
Apr 8 00:50:41 asterix dovecot: imap-login: Login: user=<test@example.com>, method=PLAIN, rip=192.168.128.151, lip=192.168.128.151, secured Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): Loading modules from directory: /opt/dovecot/lib/dovecot/imap Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): Module loaded: /opt/dovecot/lib/dovecot/imap/lib01_acl_plugin.so Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): Module loaded: /opt/dovecot/lib/dovecot/imap/lib02_imap_acl_plugin.so Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): Module loaded: /opt/dovecot/lib/dovecot/imap/lib10_quota_plugin.so Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): Module loaded: /opt/dovecot/lib/dovecot/imap/lib11_imap_quota_plugin.so Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): Module loaded: /opt/dovecot/lib/dovecot/imap/lib20_fts_plugin.so Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): Module loaded: /opt/dovecot/lib/dovecot/imap/lib21_fts_squat_plugin.so Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): Effective uid=2000, gid=2000, home=/var/spool/dovecot/users/example.com/test Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): Quota root: name=user backend=dict args=:file:/var/spool/dovecot/users/example.com/test/Maildir/dovecot-quota Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): Quota rule: root=user mailbox=* bytes=2147483648 messages=50000 Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): dict quota: user=test@example.com, uri=file:/var/spool/dovecot/users/example.com/test/Maildir/dovecot-quota, noenforcing=0 Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): Namespace: type=private, prefix=INBOX/, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=yes Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): maildir: data=~/Maildir Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): maildir++: root=/var/spool/dovecot/users/example.com/test/Maildir, index=, control=, inbox=/var/spool/dovecot/users/example.com/test/Maildir Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): acl: initializing backend with data: vfile Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): acl: acl username = test@example.com Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): acl: owner = 1 Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): acl vfile: Global ACL directory: (null) Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): Namespace: type=public, prefix=#Shared/, sep=/, inbox=no, hidden=no, list=yes, subscriptions=yes Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): maildir: data=/var/spool/dovecot/sharedfolders:INDEX=~/Maildir/index/public:CONTROL=~/Maildir/control/public Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): maildir++: root=/var/spool/dovecot/sharedfolders, index=/var/spool/dovecot/users/example.com/test/Maildir/index/public, control=/var/spool/dovecot/users/example.com/test/Maildir/control/public, inbox= Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): acl: initializing backend with data: vfile Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): acl: acl username = test@example.com Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): acl: owner = 0 Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): acl vfile: Global ACL directory: (null) Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): Namespace: type=shared, prefix=#User/%u/, sep=/, inbox=no, hidden=no, list=yes, subscriptions=no Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): shared: root=, index=, control=, inbox= Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): dict quota: user=markus@example.com, uri=file:/var/spool/dovecot/users/example.com/test/Maildir/dovecot-quota, noenforcing=0 Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): auth input: uid=2000 Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): auth input: gid=2000 Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): auth input: home=/var/spool/dovecot/users/example.com/markus Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): auth input: quota_rule=*:storage=20G:messages=500000 Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): maildir: data=/var/spool/dovecot/users/example.com/markus/Maildir:INDEX=~/Maildir/index/shared/markus@example.com Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): maildir++: root=/var/spool/dovecot/users/example.com/markus/Maildir, index=/var/spool/dovecot/users/example.com/test/Maildir/index/shared/markus@example.com, control=, inbox=/var/spool/dovecot/users/example.com/markus/Maildir Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): acl: initializing backend with data: vfile Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): acl: acl username = test@example.com Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): acl: owner = 0 Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): acl vfile: Global ACL directory: (null) Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): dict quota: user=ForTest, uri=file:/var/spool/dovecot/users/example.com/test/Maildir/dovecot-quota, noenforcing=0 Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): maildir: data=/opt/dovecot/var/run/dovecot/user-not-found/ForTest Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): maildir++: root=/opt/dovecot/var/run/dovecot/user-not-found/ForTest, index=, control=, inbox=/opt/dovecot/var/run/dovecot/user-not-found/ForTest Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): acl: initializing backend with data: vfile Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): acl: acl username = test@example.com Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): acl: owner = 0 Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): acl vfile: Global ACL directory: (null) Apr 8 00:50:41 asterix dovecot: IMAP(test@example.com): acl vfile: reading file /var/spool/dovecot/users/example.com/markus/Maildir/.ForTest/dovecot-acl Apr 8 00:50:41 asterix dovecot: child 11251 (imap) killed with signal 11 (core dumped)
#0 0x080b53b0 in mailbox_list_clear_error (list=0x0) at mailbox-list.c:790 No locals. #1 0x080b54b0 in mailbox_list_get_path (list=0x0, name=0x981f1e8 "ForTest", type=MAILBOX_LIST_PATH_TYPE_INDEX) at mailbox-list.c:389 No locals. #2 0x080b418c in mail_storage_get_mailbox_index_dir (storage=0x981a8c8, name=0x8124520 "@E\022\b") at mail-storage.c:403 No locals. #3 0xb7dc6bbd in fts_backend_squat_init (box=0x981f010) at fts-backend-squat.c:60 backend = <value optimized out> storage = (struct mail_storage *) 0x981a8c8 status = {messages = 3084739116, recent = 3084739116, unseen = 135191441, uidvalidity = 159380040, uidnext = 0, first_unseen_seq = 128, highest_modseq = 13819171352428908320, keywords = 0x97ff240, sync_delayed_expunges = 1, nonpermanent_modseqs = 1} path = 0x0 env = <value optimized out> flags = <value optimized out> #4 0xb7dd361c in fts_backend_init (backend_name=0x97ff240 "squat", box=0x981f010) at fts-api.c:63 be = (const struct fts_backend *) 0xb7dd0320 backend = <value optimized out> #5 0xb7dd4614 in fts_transaction_begin (box=0x981f010, flags=0) at fts-storage.c:896 fbox = (struct fts_mailbox *) 0x983b768 t = <value optimized out> #6 0x080b384e in mailbox_transaction_begin (box=0x981f010, flags=0) at mail-storage.c:791 trans = (struct mailbox_transaction_context *) 0x0 #7 0x0806f957 in imap_sync_init (client=0x9811900, box=0x981f010, imap_flags=0, flags=0) at imap-sync.c:147 ctx = (struct imap_sync_context *) 0x983c0f8 __PRETTY_FUNCTION__ = "imap_sync_init" #8 0x08062212 in idle_sync_now (box=<value optimized out>, ctx=0x8124520) at cmd-idle.c:119 __PRETTY_FUNCTION__ = "idle_sync_now" #9 0x08062354 in cmd_idle (cmd=0x9811b90) at cmd-idle.c:231 client = (struct client *) 0x9811900 ctx = <value optimized out> str = <value optimized out> interval = <value optimized out> #10 0x0806700c in client_command_input (cmd=0x9811b90) at client.c:603 client = (struct client *) 0x9811900 command = <value optimized out> __PRETTY_FUNCTION__ = "client_command_input" #11 0x080670a9 in client_command_input (cmd=0x9811b90) at client.c:652 client = (struct client *) 0x9811900 command = <value optimized out> __PRETTY_FUNCTION__ = "client_command_input" #12 0x080676ed in client_handle_input (client=0x9811900) at client.c:693 _data_stack_cur_id = 3 ret = <value optimized out> remove_io = <value optimized out> handled_commands = false #13 0x08067ba3 in client_input (client=0x9811900) at client.c:748 cmd = <value optimized out> output = (struct ostream *) 0x9811ab4 bytes = <value optimized out> __PRETTY_FUNCTION__ = "client_input" #14 0x080f73a0 in io_loop_handler_run (ioloop=0x980aaf0) at ioloop-epoll.c:208 ctx = (struct ioloop_handler_context *) 0x980abf8 event = (const struct epoll_event *) 0x980ac38 list = (struct io_list *) 0x9811b38 io = (struct io_file *) 0x9811b10 tv = {tv_sec = 4, tv_usec = 999099} t_id = 2 msecs = <value optimized out> ret = 1 i = 0 j = 0 call = <value optimized out> #15 0x080f6830 in io_loop_run (ioloop=0x980aaf0) at ioloop.c:338 No locals. #16 0x080704c5 in main (argc=1601401958, argv=0xbfc76b04, envp=0xbfc76b0c) at main.c:320 No locals.