subscription, dots and subscribe to shared folder.

Aki Tuomi aki.tuomi at open-xchange.com
Fri Mar 3 08:43:40 UTC 2023


> On 02/03/2023 16:21 EET Julien Nadal <julien+dovecotnl at mujik.fr> wrote:
> 
> 
> 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/usera at 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 at 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/testuser1 at 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
>

Hi, unfortunately this does not work with maildir++ layout. Only fix is to use LAYOUT=FS or LAYOUT=index, which you said is not possible for you.

Aki


More information about the dovecot mailing list