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 >