Hi Timo,
hope this mails gets proper References in header, just bypassed the upstream scalix server by postfix
Was there a reason for this change?
yes, I've got segfaults, mlist was zero ! But thats just an "intuitive" patch without understanding what going on... http://hg.dovecot.org/dovecot-2.0/rev/ed61aee681b8 should fix that.
i'm just terribly under pressure to get the setup working Have you considered on getting rid of listescape plugin and simply using :LAYOUT=fs? :) That should be more reliable.. Yes, I actually started my dovecot1.2 setup using fs layout because I
On 08/09/2010 06:48 PM, Timo Sirainen wrote: thanks, sounds like never-ending escape story liked the idea. Unfortunately I've badly hit the brickwall during the old server migration as it became during imapsync clear that 'new' or 'tmp' are pretty common subfolder names for many users on site. And I really did not want to restrict allowed folder names that much. Any idea how to make 'new' or 'tmp' work with fs layout ?
actually, the LSUB command is totaly broken with listescape for subfolders when using wildcards, and I cannot find the reason why. Not only in shared area, also in INBOX root. Really got lost in the pointer jungle, not sure how to debug further.
no listescape example:
. lsub "" "Public/public/%" that the problem with shared/public mailboxes has to do with ACL plugin
- LSUB () "/" "Public/public/ccc" . OK Lsub completed. This looks like a public namespace, not private namespace? Anyway I see
and listescape plugin interaction. You are right, it is only related to public or shared namespaces.
Problem 1) Rebuilding dovecot-acl-list:
ACL plugin sees "foo.bar" mailbox name and then tries to look for its dovecot-acl file without going through listescape plugin, because it never calls mailbox_alloc().
In acllist_append() you could try replacing mail_namespace_get_storage_name() call with mailbox_alloc() and then using mailbox_get_name(). Then it should write the escaped name to dovecot-acl-list file.
Problem 2) Reading dovecot-acl-list file:
In acl_mailbox_try_list_fast() it reads the dovecot-acl-list with escaped names, but acl_mailbox_list_iter_next_info() compares them with unescaped names.
Maybe in 1) case it should just keep the mailbox names in escaped form in dovecot-acl-list file so 2) wouldn't need to be changed.. In 1) case then you'd still need mailbox_alloc() and pass the escaped name to acl_object_init_from_name() so that it can read the right dovecot-acl file.
I don't really want to try to fix this for v2.0. Seems like a pretty ugly mess that would be fixed much more easily by some API changes.
Ugh, this sounds really, really ugly. alc plugin was the only part where I did not put printfs... ok, now I understand, there was just another hook inbetween. Well, if I don't get it working with fs layout, I will have to do some "dirty" patch. I just wish you had written the code in c++...
Thanks.