2.2.18 Regression: Incorrect STATUS response for virtual mailboxes

Guilhem Moulin guilhem at fripost.org
Tue Sep 15 16:08:45 UTC 2015


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>


More information about the dovecot mailing list