From: Timo Sirainen Date: Sat, 25 Oct 2008 20:10:32 +0000 (+0300) Subject: Virtual mailboxes: Skip non-selectable mailboxes when matching wildcards. X-Git-Tag: 1.2.alpha4~151 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4a6f18b8c03dbb81b1e4f90242fe7788589d7876;p=thirdparty%2Fdovecot%2Fcore.git Virtual mailboxes: Skip non-selectable mailboxes when matching wildcards. --HG-- branch : HEAD --- diff --git a/src/plugins/virtual/virtual-config.c b/src/plugins/virtual/virtual-config.c index ddd3e5fd7e..2a562ab14f 100644 --- a/src/plugins/virtual/virtual-config.c +++ b/src/plugins/virtual/virtual-config.c @@ -186,7 +186,11 @@ static int virtual_config_expand_wildcards(struct virtual_parse_context *ctx) MAILBOX_LIST_ITER_RETURN_NO_FLAGS); while ((info = mailbox_list_iter_next(iter)) != NULL) { for (i = 0; i < count; i++) { + /* we match only one namespace for each pattern. + skip non-selectable mailboxes (especially mbox + directories) */ if (wboxes[i]->ns == info->ns && + (info->flags & MAILBOX_NOSELECT) == 0 && imap_match(wboxes[i]->glob, info->name) == IMAP_MATCH_YES) { virtual_config_copy_expanded(ctx, wboxes[i],