e-frog
2011-Dec-23 17:33 UTC
[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
e-frog
2012-Jan-06 21:25 UTC
[Dovecot] 2.1.rc1 (056934abd2ef): virtual plugin mailbox search pattern
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-frogJust 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
Timo Sirainen
2012-Jan-28 22:40 UTC
[Dovecot] 2.1.rc1 (056934abd2ef): virtual plugin mailbox search pattern
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