[Dovecot] 2.1.rc1 (056934abd2ef): virtual plugin mailbox search pattern

e-frog e-frog at gmx.de
Fri Dec 23 19:33:32 EET 2011


Hello Timo,

With dovecot 2.1.rc1 (056934abd2ef) there seems to be something wrong 
with virtual plugin mailbox search patterns.

I'm using a virtual mailbox 'unread' with the following dovecot-virtual file

$ cat dovecot-virtual
*
    unseen

For testing propose I created the following folders with each containing 
one unread message

INBOX, INBOX/level1 and INBOX/level1/level2

2.1.rc1 (056934abd2ef)

1 LIST "" "*"
* LIST (\HasChildren) "/" "INBOX"
* LIST (\HasChildren) "/" "INBOX/level1"
* LIST (\HasNoChildren) "/" "INBOX/level1/level2"
* LIST (\HasChildren) "/" "virtual"
* LIST (\HasNoChildren) "/" "virtual/unread"
1 OK List completed.
2 STATUS "INBOX" (UNSEEN)
* STATUS "INBOX" (UNSEEN 1)
2 OK Status completed.
3 STATUS "INBOX/level1" (UNSEEN)
* STATUS "INBOX/level1" (UNSEEN 1)
3 OK Status completed.
4 STATUS "INBOX/level1/level2" (UNSEEN)
* STATUS "INBOX/level1/level2" (UNSEEN 1)
4 OK Status completed.
5 STATUS "virtual/unread" (UNSEEN)
* STATUS "virtual/unread" (UNSEEN 1)
5 OK Status completed.

Result: virtual/unread shows only 1 unseen message. Further tests showed 
it's the one from INBOX. The mails from the deeper levels are not found.

Downgrading to 2.0.16 restores the correct behavior:

1 LIST "" "*"
* LIST (\HasChildren) "/" "INBOX"
* LIST (\HasChildren) "/" "INBOX/level1"
* LIST (\HasNoChildren) "/" "INBOX/level1/level2"
* LIST (\HasChildren) "/" "virtual"
* LIST (\HasNoChildren) "/" "virtual/unread"
1 OK List completed.
2 STATUS "INBOX" (UNSEEN)
* STATUS "INBOX" (UNSEEN 1)
2 OK Status completed.
3 STATUS "INBOX/level1" (UNSEEN)
* STATUS "INBOX/level1" (UNSEEN 1)
3 OK Status completed.
4 STATUS "INBOX/level1/level2" (UNSEEN)
* STATUS "INBOX/level1/level2" (UNSEEN 1)
4 OK Status completed.
5 STATUS "virtual/unread" (UNSEEN)
* STATUS "virtual/unread" (UNSEEN 3)
5 OK Status completed.

Result: virtual/unread shows 3 unseen messages as it should

The namespace configuration is as following

namespace {
   hidden = no
   inbox = yes
   list = yes
   location =
   prefix =
   separator = /
   subscriptions = yes
   type = private
}
namespace {
   location = virtual:~/virtual
   prefix = virtual/
   separator = /
   subscriptions = no
   type = private
}

I've also tried this with location = virtual:~/virtual:LAYOUT=maildir++ 
leading to the same result.

Thanks,
e-frog



More information about the dovecot mailing list