Hi,

try setting mail_shared_explicit_inbox=yes

https://doc.dovecot.org/settings/core/#mail-shared-explicit-inbox

Sami

On 18. Aug 2020, at 23.56, Torsten <dovecot.lists@saldyn.net> wrote:

Hello!

INBOX sharing does not seem to work, although all other mailboxes work.

User bar@example.de has shared a few mailboxes:
 # doveadm acl get -u bar@example.de INBOX
 ID                  Global Rights
 user=foo@example.de        lookup read write-seen
 # doveadm acl get -u bar@example.de Sent
 ID                  Global Rights
 user=foo@example.de        lookup read write-seen
 # doveadm acl get -u bar@example.de Drafts
 ID                  Global Rights
 user=foo@example.de        lookup read write-seen

But user foo@example.de can't see the shared INBOX:
 # doveadm mailbox list -u foo@example.de
 Trash
 Sent
 Drafts
 Junk
 shared
 shared/bar@example.de
 shared/bar@example.de/Sent
 shared/bar@example.de/Drafts
 INBOX

A review of the ACL does not explain the behaviour:
 # doveadm acl debug -u foo@example.de shared/bar@example.de/INBOX
 doveadm(foo@example.de): Info: Mailbox 'INBOX' is in namespace 'shared/bar@example.de/'
 doveadm(foo@example.de): Info: Mailbox path: /srv/mail-storage/mailhome/example.de/bar/Maildir
 doveadm(foo@example.de): Info: Per-user private flags in mailbox: \Seen
 doveadm(foo@example.de): Info: User foo@example.de has rights: lookup read write-seen
 doveadm(foo@example.de): Info: Mailbox found from dovecot-acl-list
 doveadm(foo@example.de): Info: User bar@example.de found from ACL shared dict
 doveadm(foo@example.de): Info: Mailbox shared/bar@example.de/INBOX is visible in LIST


----------  doveconf -n  ----------
# 2.3.4.1 (f79e8e7e4): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.4 ()
# OS: Linux 4.19.0-10-amd64 x86_64 Debian 10.5
# Hostname: XXX.YYYY.de
auth_master_user_separator = *
auth_verbose = yes
first_valid_gid = 401
first_valid_uid = 401
last_valid_gid = 401
last_valid_uid = 401
mail_gid = vmail
mail_home = /srv/mail-storage/mailhome/%d/%n
mail_location = maildir:~/Maildir
mail_plugins = " acl listescape zlib"
mail_uid = vmail
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext
namespace inbox {
 inbox = yes
 location =
 mailbox Drafts {
   auto = subscribe
   special_use = \Drafts
 }
 mailbox Junk {
   auto = create
   special_use = \Junk
 }
 mailbox Sent {
   auto = subscribe
   special_use = \Sent
 }
 mailbox "Sent Messages" {
   auto = no
   special_use = \Sent
 }
 mailbox Trash {
   auto = subscribe
   special_use = \Trash
 }
 prefix =
 separator = /
 type = private
}
namespace shared {
 list = children
 location = maildir:/srv/mail-storage/mailhome/%%d/%%n/Maildir:INDEXPVT=~/Maildir/shared/%%d/%%n
 prefix = shared/%%u/
 separator = /
 subscriptions = yes
 type = shared
}
passdb {
 args = /etc/dovecot/master-users
 driver = passwd-file
 master = yes
 pass = yes
}
passdb {
 args = /etc/dovecot/dovecot-ldap.conf.ext
 driver = ldap
}
plugin {
 acl = vfile
 acl_shared_dict = file:/srv/mail-storage/mailhome/shared-mailboxes.db
 sieve = file:~/sieve;active=~/.dovecot.sieve
 zlib_save = gz
 zlib_save_level = 6
}
protocols = " imap lmtp sieve"
service auth {
 unix_listener auth-userdb {
   mode = 0777
 }
}
ssl = required
ssl_cert = </var/lib/dehydrated/certs/XXX.YYYY.de/fullchain.pem
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
userdb {
 driver = static
}
userdb {
 args = /etc/dovecot/dovecot-ldap.conf.ext
 driver = ldap
}
protocol lmtp {
 mail_plugins = " acl listescape zlib sieve"
}
protocol imap {
 mail_max_userip_connections = 20
 mail_plugins = " acl listescape zlib imap_acl"
}
------------------------------

I don't think it is relevant, but I don't want to forget to mention that /srv/mail-storage/ is an NFS share.

It would bee nice if someone has a hint. I hope it isn't a bug.

Regards Torsten