Dsync deleting mailboxes due to duplicate UIDs
Andreas Thienemann
andreas at bawue.net
Wed Sep 12 12:04:28 EEST 2018
Hi Sami,
On Mon, 10 Sep 2018, Sami Ketola wrote:
> Currently dovecot does rely on remote to send valid RFC-compliant
> headers. But you are not alone, we have seen similar problems with mixed
> header fields on some legacy servers on the migrations we have
> performed.
Bummer. Would have been _very_ cool if doveadm could just disregard a
second copy of a header sent.
> I have found dsync_hashed_headers setting as a good workaround for
> migrating mails from broken imap servers. As per RFC Message-ID should
> be unique and we have safely used setting
> dsync_hashed_headers=Message-ID to migrate the problematic users away
> from the broken servers.
There's a certain irony in hoping that Message-ID headers are RFC
compliant while we're talking to a non-RFC compliant mailserver. ;-)
That being said, limiting dsync_hashed_headers to only look at the
Message-ID _does_ seem to do the trick.
But just to clarify: As far as I read the sourecode, the logic is as
follows:
Fetch UID on remote, hash headers.
Fetch UID on local, hash headers.
Compare that header hashes match _for this one UID_. If yes, good. If not,
something has changed.
This means there's no comparing the hashed headers to other UIDs going on?
e.g. someone having two copies of the same mail with the same Message-ID
would _not_ lead to an error, as these are saved under different UIDs.
Is my understanding of the code correct?
cheers,
Andreas
More information about the dovecot
mailing list