[Dovecot] 2.1.rc1 (056934abd2ef): virtual plugin mailbox search pattern
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
ON 23.12.2011 18:33, wrote e-frog:
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
Just tested this on 2.1.rc3 and this still doesn't work like in v2.0. It seems like the search stops at the first hierarchy separator. Is there anything in addition I can do to help fix this issue?
Thanks, e-frog
On 23.12.2011, at 19.33, e-frog wrote:
For testing propose I created the following folders with each containing one unread message
INBOX, INBOX/level1 and INBOX/level1/level2 .. 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.
What mailbox format are you using? Maybe I fixed this with http://hg.dovecot.org/dovecot-2.1/rev/54e74090fb42
On 28.01.2012 23:40, wrote Timo Sirainen:
On 23.12.2011, at 19.33, e-frog wrote:
For testing propose I created the following folders with each containing one unread message
INBOX, INBOX/level1 and INBOX/level1/level2 .. 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.
What mailbox format are you using?
mdbox
Maybe I fixed this with http://hg.dovecot.org/dovecot-2.1/rev/54e74090fb42
Just tested and yes it works with the above mentioned patch. Thanks a lot Timo!
participants (2)
-
e-frog
-
Timo Sirainen