Streaming MOVE commands

Emilio Jesús Gallego Arias gallego at cri.ensmp.fr
Sun Feb 14 04:17:23 UTC 2016


Dear Dovecot devs,

is streaming multiple MOVE commands by clients allowed?

I am getting duplicated messages with the GNUS mail client, the
interchange looks like this:

*stream two moves to different folders*
> 9019 UID MOVE 4062,4066,4068 "folder0"
> 9020 UID MOVE 4063:4064,4067,4069:4072 "folder1"
*the messages are copied*
> * OK [COPYUID 1424475218 4062,4066,4068 376:378] Moved UIDs.
> * OK [COPYUID 1424475231 4063:4064,4067,4069:4072 26:32] Moved UIDs.
*however expunge fails to clean 4063, 4064, and 4067*
> * VANISHED 4062,4066,4068:4072

thus 4063, 4064, and 4067 end both in inbox and folder1 producing
duplicate messages (more details at [1]).

At the GNUS mailing list, we were wondering about what should be the
correct reading of RFC6851.

Version and config information below.

Best regards,
Emilio

[1] More details in the thread
    http://permalink.gmane.org/gmane.emacs.gnus.general/86813

[2] Version
    $ /usr/sbin/dovecot --version
    2.2.13

[3] Config

$ /usr/sbin/dovecot -n
# 2.2.13: /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-4-amd64 x86_64 Debian 8.3 ext4
mail_location = maildir:/home/%u/Maildir
managesieve_notify_capability = mailto

managesieve_sieve_capability = fileinto reject envelope
  encoded-character vacation subaddress comparator-i;ascii-numeric
  relational regex imap4flags copy include variables body enotify
  environment mailbox date ihave

namespace inbox {
  inbox = yes
  location = 
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    special_use = \Trash
  }
  prefix = 
}
passdb {
  driver = pam
}
plugin {
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
}
protocols = " imap sieve"
ssl_cert = ...
ssl_key  = ...
userdb {
  driver = passwd
}


More information about the dovecot mailing list