From: Timo Sirainen Date: Fri, 28 Aug 2009 15:38:06 +0000 (-0400) Subject: acl: Don't use dovecot-acl-list with public namespaces. X-Git-Tag: 2.0.alpha1~235 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=36aa287d32a78048d66cff024a8f7e848c45a8bf;p=thirdparty%2Fdovecot%2Fcore.git acl: Don't use dovecot-acl-list with public namespaces. All mailboxes in a public namespace are typically in dovecot-acl-list anyway. --HG-- branch : HEAD --- diff --git a/src/plugins/acl/acl-mailbox-list.c b/src/plugins/acl/acl-mailbox-list.c index 9797e59aeb..a0e1c5b179 100644 --- a/src/plugins/acl/acl-mailbox-list.c +++ b/src/plugins/acl/acl-mailbox-list.c @@ -99,6 +99,12 @@ acl_mailbox_try_list_fast(struct acl_mailbox_list_iterate_context *ctx) MAILBOX_LIST_ITER_SELECT_SUBSCRIBED)) != 0) return; + if (ns->type == NAMESPACE_PUBLIC) { + /* mailboxes in public namespace should all be listable to + someone. we don't benefit from fast listing. */ + return; + } + /* if this namespace's default rights contain LOOKUP, we'll need to go through all mailboxes in any case. */ idxp = alist->rights.acl_storage_right_idx + ACL_STORAGE_RIGHT_LOOKUP;