Guilhem Moulin
2015-Sep-15 16:08 UTC
2.2.18 Regression: Incorrect STATUS response for virtual mailboxes
As shown below, adding a message to TRASH doesn't increase virtual/test's MESSAGES count. However SELECTing virtual/test triggers the increase; so does running `doveadm mailbox status vsize virtual/test` in another shell. $ mkdir -m0700 ~/mail/virtual/test $ echo -e "TRASH\n\tall" > ~/mail/virtual/test/dovecot-virtual $ /usr/lib/dovecot/imap S: * PREAUTH [CAPABILITY IMAP4rev1 ? ] Logged in as guilhem C: a STATUS TRASH (MESSAGES UIDNEXT UNSEEN) C: b STATUS virtual/test (MESSAGES UIDNEXT UNSEEN) S: * STATUS TRASH (MESSAGES 5599 UIDNEXT 5619 UNSEEN 0) S: a OK Status completed (0.001 secs). S: * STATUS virtual/test (MESSAGES 5599 UIDNEXT 5600 UNSEEN 0) S: b OK Status completed (0.032 secs). C: c APPEND TRASH {1+} S: x S: c OK [APPENDUID 1442277584 5619] Append completed (0.029 secs). C: d STATUS TRASH (MESSAGES UIDNEXT UNSEEN) C: e STATUS virtual/test (MESSAGES UIDNEXT UNSEEN) S: * STATUS TRASH (MESSAGES 5600 UIDNEXT 5620 UNSEEN 1) S: d OK Status completed (0.000 secs). S: * STATUS virtual/test (MESSAGES 5599 UIDNEXT 5600 UNSEEN 0) S: e OK Status completed (0.000 secs). # it doesn't help to LOGOUT and issue the STATUS command again. However, # it does to execute `doveadm mailbox status vsize virtual/test` in another # shell, or to SELECT virtual/test in the IMAP session. C: f STATUS TRASH (MESSAGES UIDNEXT UNSEEN) C: g STATUS virtual/test (MESSAGES UIDNEXT UNSEEN) S: * STATUS TRASH (MESSAGES 5600 UIDNEXT 5620 UNSEEN 1) S: f OK Status completed (0.000 secs). S: * STATUS virtual/test (MESSAGES 5600 UIDNEXT 5601 UNSEEN 1) S: g OK Status completed (0.000 secs). Cheers, -- Guilhem. -------------- next part -------------- # 2.2.18: /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.8 (0c4ae064f307+) # OS: Linux 4.1.0-2-686-pae i686 Debian stretch/sid listen = 127.0.0.1, ::1 mail_location = maildir:~/mail mail_plugins = virtual mailbox_list_index = yes namespace inbox { inbox = yes location = mailbox DRAFTS { auto = create special_use = \Drafts } mailbox SENT { auto = subscribe special_use = \Sent } mailbox SPAM { auto = create special_use = \Junk } mailbox TRASH { auto = create special_use = \Trash } mailbox virtual/all { special_use = \All } mailbox virtual/flagged { special_use = \Flagged } prefix = separator = / } namespace virtual { hidden = no list = no location = virtual:~/mail/virtual prefix = virtual/ separator = / } passdb { driver = pam } plugin { sieve = file:~/sieve;active=~/.dovecot.sieve } protocols = " imap" service imap-login { inet_listener imap { port = 0 } inet_listener imaps { port = 0 } } ssl = no userdb { driver = passwd } -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://dovecot.org/pipermail/dovecot/attachments/20150915/f7adb48e/attachment.sig>
Timo Sirainen
2015-Sep-22 10:50 UTC
2.2.18 Regression: Incorrect STATUS response for virtual mailboxes
On 15 Sep 2015, at 19:08, Guilhem Moulin <guilhem at fripost.org> wrote:> > As shown below, adding a message to TRASH doesn't increase > virtual/test's MESSAGES count. However SELECTing virtual/test triggers > the increase; so does running `doveadm mailbox status vsize > virtual/test` in another shell.Fixed: http://hg.dovecot.org/dovecot-2.2/rev/587226389203 A workaround would be to use mailbox_list_index=no
Seemingly Similar Threads
- Race condition in IMAP NOTIFY for events received NOTIFY_DELAY_MSECS apart
- NOTIFY regression: 2.18 no longer notifies of events in INBOX
- RFC 5465 (NOTIFY) violation: missing HIGHESTMODSEQ in initial STATUS responses
- "NOTIFY SET (mailboxes INBOX (...))" crashes the IMAP client
- "NOTIFY SET (mailboxes INBOX (...))" crashes the IMAP client