[Dovecot] Replication protocol design

Ed W lists at wildgooses.com
Sat May 3 09:38:33 EEST 2008


Timo Sirainen wrote:
>
> I agree that it would be nice to offer this capability for IMAP clients,
> but I don't see a way to do this in any reasonable way. If the client
> wants a continuous replication for all mailboxes the resulting protocol
> will barely even look like IMAP anymore. And trying to merge all the
> initial sync + continuous replication + IMAP functionality to the same
> process would be quite ugly.
>   


My first thought was an IMAP command which would read a folder's "log 
files" from a certain point in time and continue to stream all changes 
down the connection from that point onwards.  Normal IMAP commands could 
then be used to fetch the details of the changes

However, that's not compatible with the idea of a single iteration sync 
(takes at least two round trips)

A command to grab the log files and relevant data would seem to work, 
but doesn't really offer any benefits to be done down the same socket 
(other than perhaps to be able to use normal imap auth to limit the 
mailboxes which are accessible?).  Actually being able to limit the 
accessible mailboxes suddenly seems quite important... We can't 
necessarily trust the remote location admin so we do need some way to 
restrict their access - perhaps a normal login is required (this 
presumably means the need for multiple connections to sync multiple 
mailboxes though? This may not scale for large numbers of mailboxes?)

My thought is still that it's hard to separate the needs of a typical 
IMAP client from the requirements to sync two servers - there much be 
some overlap here that we can exploit?  Ideally we also want this stuff 
to be documented in a way that would allow other IMAP servers to 
participate in sync (although there is nearly zero chance of it ever 
happening I guess...)

Given how little stuff like QRESYNC  is apparently implemented in the 
real world I guess it's no big problem to "improve" the spec further if 
this helps (as long as we document where we deviate)

Hmm

Ed W


More information about the dovecot mailing list