enable/disable shared namespace in passdb

abi at oleane.net abi at oleane.net
Mon Apr 11 11:07:15 UTC 2016


hello.

i gave a different name to the namespace.
now i can properly disable it from passdb (so i do not produce a loops 
with shared namespaces configured with imapc)

---

but providing a name breaks even local acls

with the following config

namespace  sharedboxes {
         type = shared
         list = yes    # children
         disabled = no    # should be yes, but this is convenient when 
testing with doveadm
         separator = /    # useful ? does not change a thing... direcgt 
access is ok, imapc is broken
         prefix = shared/%%u/

         # THIS MAKES USE OF THE LOCAL FILESYSTEM FOR THE REMOTE USER'S 
MAILBOX LOCATION. WORKS BUT NOT CLUSTER-SAFE
         # NOTE : specifying a separate INDEX allows for unshared flags
         # NOTE : userdb sets mail location to 
maildir:~/dovemail:INBOX=~/dovemail/.INBOX
         location = maildir:%%h/dovemail/    # 
:INDEXPVT=~/dovemail/private_indexes/%%u

         # THIS ONE IS CLUSTER-SAFE BUT CURRENTLY DOES NOT WORK
         #location = imapc:~/dovemail/shared/%%u/ # cache for shared indexes
     }

acl debug produces the following output

# doveadm acl debug -u abi3 at oleane.fr.fto shared/abi2 at oleane.fr.fto/AA
doveadm(abi3 at oleane.fr.fto): Error: Mailbox 
'shared.abi2 at oleane\2efr\2efto.AA' in namespace '' doesn't exist in 
/var/mailboxes/mail02b/fr.fto/o/l/oleane/abi3/home/dovemail/.shared.abi2 at oleane\2efr\2efto.AA

---

but if i remove "sharedboxes", it works as expected

# doveadm acl debug -u abi3 at oleane.fr.fto shared/abi2 at oleane.fr.fto/AA
doveadm(abi3 at oleane.fr.fto): Info: Mailbox 'AA' is in namespace 
'shared/abi2 at oleane.fr.fto/'
doveadm(abi3 at oleane.fr.fto): Info: Mailbox path: 
/var/mailboxes/mail02b/fr.fto/o/l/oleane/abi2/home/dovemail/.AA
doveadm(abi3 at oleane.fr.fto): Info: All message flags are shared across 
users in mailbox
doveadm(abi3 at oleane.fr.fto): Info: User abi3 at oleane.fr.fto has rights: 
lookup read write write-seen write-deleted insert post expunge create 
delete admin
doveadm(abi3 at oleane.fr.fto): Info: Mailbox found from dovecot-acl-list
doveadm(abi3 at oleane.fr.fto): Info: User abi2 at oleane.fr.fto found from 
ACL shared dict
doveadm(abi3 at oleane.fr.fto): Info: Mailbox shared/abi2 at oleane.fr.fto/AA 
is visible in LIST

i also tried changing the prefix to sharedboxes/%%u/ and changing the 
debug command accordingly but that did not make a difference.

---

if i try the same config ( without naming the namespace ) with imapc ( 
using the location line that is commented in the above config sample )
it does not seem to loop when using doveadm debug, but it does not work 
either

# doveadm acl debug -u abi3 at oleane.fr.fto shared/abi2 at oleane.fr.fto/AA
doveadm(abi3 at oleane.fr.fto): Info: Mailbox 'AA' is in namespace 
'shared/abi2 at oleane.fr.fto/'
doveadm(abi3 at oleane.fr.fto): Info: Mailbox path: 
/var/mailboxes/mail02b/fr.fto/o/l/oleane/abi3/home/dovemail/shared/abi2 at oleane.fr.fto/.AA
doveadm(abi3 at oleane.fr.fto): Info: All message flags are shared across 
users in mailbox
doveadm(abi3 at oleane.fr.fto): Info: User abi3 at oleane.fr.fto has no rights 
for mailbox
doveadm(abi3 at oleane.fr.fto): Error: User abi3 at oleane.fr.fto is missing 
'lookup' right
doveadm(abi3 at oleane.fr.fto): Info: Mailbox shared/abi2 at oleane.fr.fto/AA 
is NOT visible in LIST

the log show that the proper dovecot-acl file is read when ~abi logs in 
as ~abi2, but i do not see any trace of the acls being read over imap 
nor directly in the filesystem

if i actually use imap, i produce a loop ( rather a storm in fact if i 
setup many to many shares ) and end up with an empty shared namespace

what did i miss ?

thanks for your help

alex


Le 06/04/2016 21:41, Timo Sirainen a écrit :
> On 04 Apr 2016, at 13:28, abi at oleane.net wrote:
>> namespace shared {
>>     type = shared
>>     list = yes    # children
>>     disabled = yes
>>     separator = /
>>     prefix = shared/%%u/
>>     location = imapc:~/dovemail/shared/%%u/
>> }
> Don't you get a warning with this?
>
> Warning: Obsolete setting in dovecot.conf:1: namespace shared {} has been replaced by namespace { type=shared }
>
> This is because of the v1.x dovecot.conf auto-conversion code. Try giving it a different name than "shared" and see if it works.
>



More information about the dovecot mailing list