[Dovecot] A message, when moved by multiple clients with same account and same filters, can be duplicated by filters on destination imap folder.

Bill Cole dovecot-20061108 at billmail.scconsult.com
Thu Mar 13 21:47:51 EET 2008


At 1:01 PM +0100 3/13/08, Diego Liziero wrote:
>I'm still collecting user feedback after moving from uw-imap to
>dovecot development release 1.1.rc3.
>
>What said in the subject seems the obvious result of an improper 
>configuration.

The risk of duplication in built into the IMAP protocol. There is no 
logical 'move' command in IMAP, so a server cannot block one client 
from doing the multiple steps needed to safely emulate a move while 
another client is doing it as well. Clients can (and should) narrow 
the window for this sort of event by refreshing their views of the 
source and target folders and the target message as a part of their 
emulation of a move, but there are a lot of careless clients out 
there.

>Office emails are configured and accessed on multiple clients with the
>same automatic filters, and sometimes the filtered emails get
>duplicated on the destination folder.
>
>The fact is that this was perfectly working with wu-imap (without any
>duplication/triplication of emails).

The only reason I can think of for Dovecot to be more vulnerable to 
this is that it offers a set of mbox_* settings that might lead to 
lazy simultaneous clients seeing different states for a mbox-backed 
inbox. If you have mbox_dirty_syncs, mbox_very_dirty_syncs, or 
mbox_lazy_writes, you increase the risk of clients not seeing the 
results of other clients' recent actions in a mailbox.

>I'm looking if there is some workaround to keep this client misuse
>working with dovecot.

There's no sure-fire fix because of how logical moves have to be 
implemented by clients.

>Could an email have a sort of "primary key" that forbids it's
>duplication in the same imap folder?

In principle, every message has a globally and permanently unique 
Message-ID header. In practice, not so much... Some MUA's and MDA's 
can be configured to de-dupe mailboxes based on Message-ID, but doing 
so is not always safe or desirable and Dovecot has no such facility.
-- 
Bill Cole
bill at scconsult.com



More information about the dovecot mailing list