On 9.1.2012, at 22.13, Sven Hartge wrote:
Timo Sirainen tss@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.