Hello! INBOX sharing does not seem to work, although all other mailboxes work. User bar at example.de has shared a few mailboxes: # doveadm acl get -u bar at example.de INBOX ID Global Rights user=foo at example.de lookup read write-seen # doveadm acl get -u bar at example.de Sent ID Global Rights user=foo at example.de lookup read write-seen # doveadm acl get -u bar at example.de Drafts ID Global Rights user=foo at example.de lookup read write-seen But user foo at example.de can't see the shared INBOX: # doveadm mailbox list -u foo at example.de Trash Sent Drafts Junk shared shared/bar at example.de shared/bar at example.de/Sent shared/bar at example.de/Drafts INBOX A review of the ACL does not explain the behaviour: # doveadm acl debug -u foo at example.de shared/bar at example.de/INBOX doveadm(foo at example.de): Info: Mailbox 'INBOX' is in namespace 'shared/bar at example.de/' doveadm(foo at example.de): Info: Mailbox path: /srv/mail-storage/mailhome/example.de/bar/Maildir doveadm(foo at example.de): Info: Per-user private flags in mailbox: \Seen doveadm(foo at example.de): Info: User foo at example.de has rights: lookup read write-seen doveadm(foo at example.de): Info: Mailbox found from dovecot-acl-list doveadm(foo at example.de): Info: User bar at example.de found from ACL shared dict doveadm(foo at example.de): Info: Mailbox shared/bar at 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
Hi, try setting mail_shared_explicit_inbox=yes https://doc.dovecot.org/settings/core/#mail-shared-explicit-inbox <https://doc.dovecot.org/settings/core/#mail-shared-explicit-inbox> Sami> On 18. Aug 2020, at 23.56, Torsten <dovecot.lists at saldyn.net> wrote: > > Hello! > > INBOX sharing does not seem to work, although all other mailboxes work. > > User bar at example.de has shared a few mailboxes: > # doveadm acl get -u bar at example.de INBOX > ID Global Rights > user=foo at example.de lookup read write-seen > # doveadm acl get -u bar at example.de Sent > ID Global Rights > user=foo at example.de lookup read write-seen > # doveadm acl get -u bar at example.de Drafts > ID Global Rights > user=foo at example.de lookup read write-seen > > But user foo at example.de can't see the shared INBOX: > # doveadm mailbox list -u foo at example.de > Trash > Sent > Drafts > Junk > shared > shared/bar at example.de > shared/bar at example.de/Sent > shared/bar at example.de/Drafts > INBOX > > A review of the ACL does not explain the behaviour: > # doveadm acl debug -u foo at example.de shared/bar at example.de/INBOX > doveadm(foo at example.de): Info: Mailbox 'INBOX' is in namespace 'shared/bar at example.de/' > doveadm(foo at example.de): Info: Mailbox path: /srv/mail-storage/mailhome/example.de/bar/Maildir > doveadm(foo at example.de): Info: Per-user private flags in mailbox: \Seen > doveadm(foo at example.de): Info: User foo at example.de has rights: lookup read write-seen > doveadm(foo at example.de): Info: Mailbox found from dovecot-acl-list > doveadm(foo at example.de): Info: User bar at example.de found from ACL shared dict > doveadm(foo at example.de): Info: Mailbox shared/bar at 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-------------- next part -------------- An HTML attachment was scrubbed... URL: <https://dovecot.org/pipermail/dovecot/attachments/20200819/5489a1ea/attachment-0001.html>
Sami, thanks a lot it works. Torsten Am 19.08.20 um 15:59 schrieb Sami Ketola:> 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 at saldyn.net >> <mailto:dovecot.lists at saldyn.net>> wrote: >> >> Hello! >> >> INBOX sharing does not seem to work, although all other mailboxes work. >> >> User bar at example.de <mailto:bar at example.de> has shared a few mailboxes: >> ?# doveadm acl get -u bar at example.de <mailto:bar at example.de> INBOX >> ?ID ?????????????????Global Rights >> user=foo at example.de <mailto:user=foo at example.de> ???????lookup read >> write-seen >> ?# doveadm acl get -u bar at example.de <mailto:bar at example.de> Sent >> ?ID ?????????????????Global Rights >> user=foo at example.de <mailto:user=foo at example.de> ???????lookup read >> write-seen >> ?# doveadm acl get -u bar at example.de <mailto:bar at example.de> Drafts >> ?ID ?????????????????Global Rights >> user=foo at example.de <mailto:user=foo at example.de> ???????lookup read >> write-seen >> >> But user foo at example.de <mailto:foo at example.de> can't see the shared >> INBOX: >> ?# doveadm mailbox list -u foo at example.de <mailto:foo at example.de> >> ?Trash >> ?Sent >> ?Drafts >> ?Junk >> ?shared >> shared/bar at example.de <mailto:shared/bar at example.de> >> shared/bar at example.de <mailto:shared/bar at example.de>/Sent >> shared/bar at example.de <mailto:shared/bar at example.de>/Drafts >> ?INBOX >> >> A review of the ACL does not explain the behaviour: >> ?# doveadm acl debug -u foo at example.de <mailto:foo at example.de> >> shared/bar at example.de <mailto:shared/bar at example.de>/INBOX >> ?doveadm(foo at example.de <mailto:foo at example.de>): Info: Mailbox >> 'INBOX' is in namespace 'shared/bar at example.de >> <mailto:shared/bar at example.de>/' >> ?doveadm(foo at example.de <mailto:foo at example.de>): Info: Mailbox path: >> /srv/mail-storage/mailhome/example.de/bar/Maildir >> <http://example.de/bar/Maildir> >> ?doveadm(foo at example.de <mailto:foo at example.de>): Info: Per-user >> private flags in mailbox: \Seen >> ?doveadm(foo at example.de <mailto:foo at example.de>): Info: User >> foo at example.de <mailto:foo at example.de> has rights: lookup read write-seen >> ?doveadm(foo at example.de <mailto:foo at example.de>): Info: Mailbox found >> from dovecot-acl-list >> ?doveadm(foo at example.de <mailto:foo at example.de>): Info: User >> bar at example.de <mailto:bar at example.de> found from ACL shared dict >> ?doveadm(foo at example.de <mailto:foo at example.de>): Info: Mailbox >> shared/bar at example.de <mailto:shared/bar at 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 <http://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 >> <http://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 >