Hello;

We were able to set up shared folders in a cluster (using dovecot as proxy on dedicated front-end servers, without using director) by following https://doc.dovecot.org/configuration_manual/shared_mailboxes/cluster_setup/.

Here is our related conf on imap farms (dovecot v2.3.16 on Almalinux):

namespaces:

mail_location = maildir:~/Maildir

namespace default {
  inbox = yes
  location =
  prefix =
  separator = /
}

namespace shared {
  list = children
  location = imapc:~/shared/%%u:INDEXPVT=~/shared-pvt/%%u
  prefix = shared/%%u/
  separator = /
  subscriptions = no
  type = shared
}

imapc settings:

imapc_features = fetch-bodystructure fetch-headers rfc822.size search modseq 
acl delay-login
imapc_host = XXXXXX
imapc_master_user = %{user}
imapc_password = XXXXXX
imapc_port = XXXXXX

passdb {
  args = password=#hidden_use-P_to_show# userdb_namespace/shared/disabled=yes 
userdb_acl_user=%{auth_user} allow_nets=XXXXX/XX
  driver = static
  master = yes
}
dict {
  acl-mysql = mysql:/etc/dovecot/conf.d/dovecot-dict-sql.conf.ext
}

This way, a folder is created under ~/ : shared & shared-pvt :

When user A shares a folder with B, B will find ~/shared/userA/sharedfolder

I should mention that the user authentication (backend: mysql) uses the full email address as we are in a multi-tenant context.

So the folder looks like ~/shared/us...@domain.tld/folder

Since then, everything works perfectly, we can share and see the shared folders in the webmail (SOGo).

Unfortunately, accessing these folders through an imap client (tested on Thunderbird and MSOutlook) is impossible because the subscription fails (the folder is listed, but the subscription doesn't seem to do anything). I could not find any relevant logs but I was able to confirm on the command line: I am able to view folder with LIST, subscribe with an "OK" output, but the folder is not listed with LSUB.

So I could see that the subscribtion file in maildir shows incorrect entries:

V    2
Sent
Trash
Drafts
Junk
shared/testuser1@sub    domain    tld/INBOX/folder

The dots in the folder names are replaced by tabs.

I was able to recover things by editing the file as follows:

Sent
Trash
Drafts
Junk
shared/testus...@sub.domain.tld/INBOX/folder


This means that Maildir++ and V2 subscription can't handle dots in folders.

I found a previous discussion: https://dovecot.org/pipermail/dovecot/2021-January/121233.html
But the final advice can't be applied on our side:
- changing LAYOUT to FS is not possible for us
- we have already migrated the dot separator to slash
- changing the layout only for shared namespaces does not solve the problem and totally breaks the access to shared folders.

Thanks a lot for your advice

Best regards

Julien

Reply via email to