[Dovecot] Providing shared folders with multiple backend servers

Timo Sirainen tss at iki.fi
Mon Jan 9 22:20:44 EET 2012


On 9.1.2012, at 22.13, Sven Hartge wrote:

> Timo Sirainen <tss at iki.fi> wrote:
>> On 9.1.2012, at 21.45, Sven Hartge wrote:
> 
>>>>> |   location = imapc:~/imapc-shared
>>> 
>>> What is the syntax of this location? What does "imapc-shared" do in this
>>> case?
> 
>> It's the directory for index files. The backend IMAP server is used as
>> a rather dummy storage, so if for example you do a FETCH 1:*
>> BODYSTRUCTURE command, all of the message bodies are downloaded to the
>> user's Dovecot server which parses them. But with indexes this is done
>> only once (same as with any other mailbox format). If you want SEARCH
>> BODY to be fast, you'd also need to use some kind of full text search
>> indexes.
> 
> The bodies are downloaded but not stored, right? Just the index files
> are stored locally.

Right.

>> If your users share the same UID (or 0666 mode would probably work
>> too), you could share the index files rather than make them per-user.
>> Then you could use imapc:/shared/imapc or something.
> 
> Hmm. Yes, this is a fully virtual setup, every users mail is owned by
> the virtmail user. Does this sharing of index files have any security or
> privacy issues?

There are no privacy issues, at least currently, since there is no per-user data. If you had wanted per-user flags this wouldn't have worked.

> Not every user sees every shared folder, so an information leak has to
> be avoided at all costs.

Oh, that reminds me, it doesn't actually work :) Because Dovecot deletes those directories it doesn't see on the remote server. You might be able to use imapc:~/imapc:INDEX=/shared/imapc though. The nice thing about shared imapc indexes is that each user doesn't have to re-index the message.


More information about the dovecot mailing list