[Dovecot] dovecot 1.2 shared namespace/mailboxes %%u expands only to %

Robert Schetterer robert at schetterer.org
Thu Jan 15 03:41:10 EET 2009


Hi Timo

Timo Sirainen schrieb:
> On Tue, 2009-01-13 at 12:24 +0100, Robert Schetterer wrote:
>>>>>> namespace shared {
>>>>>>    separator = /
>>>>>>    prefix = "shared/%d/%%u/"
>>>>>>    subscriptions = yes
>>>>>>    list = yes
>>>>>> }
> 
> This kind of configuration doesn't actually work too great. The %d there
> gets always replaced with the logged in user's domain. So there is just
> no extra benefit of having %d there, because it'll be the same for
> everyone, even for shared mailboxes from other domains (if you ever
> happened to have any). It also makes LIST "" % not work right by not
> listing "shared" mailbox. Probably too much trouble to fix that..
> 
> So.. I'd just recommend using either shared/%%d/%%n/ or shared/%%u/
> prefix. Or since you want only the same domain maybe just shared/%%n/

OK understand

> 
> Also you should probably set subscriptions=no to the namespace.
> list=children also makes the shared/ prefix invisible if there are no
> shared mailboxes.

seeing prefix always is ok for me

> 
>> i think it should look like ( no sharing over existing domains only own
>> domain )
>> location = maildir:/usr/local/virtual/%d/%%u/:INDEX=~/shared/%d/%%u/
>> but error stays
> 
> The extra %d in INDEX location isn't useful, since it's already under
> your home dir. So:
> 
> location = maildir:/usr/local/virtual/%d/%%u/:INDEX=~/shared/%%u/

Ok understand
> 
> Are you really using /usr/local/virtual/domain/user at domain/ and not
> just /usr/local/virtual/domain/user/?

jep i use a full scheme,
/usr/local/virtual/domain/user at domain
which is possible from postfix admin ( which i like to use to admin
mailboxes )
it seems to me as the most logical variant, and it works nice without
using shared namespace yet, but it would be also possible
to use /usr/local/virtual/domain/user
or /usr/local/virtual/user at domain
from postfixadmin i think

but i think it would be more nice to use a full name schema
to make things more clear if i like to use cross domain shared mailboxes
thats why i also wanted to use %d expansion for that, whatever
domain name is a must have cause username may be equal in cross domain
sharing like

/usr/local/virtual/domainA/user wants to share with
/usr/local/virtual/domainB/user
where user is equal so a domainname should be able to be seen
in the client to difference users by equal name in different domains
so if %d expansion dont work in shared
perhaps /usr/local/virtual/user at domain schema
whould be better with shared mailboxes?

also later on i wanted to have a public namespace which should
be later under /usr/local/virtual/domain in the filesystem
but for now that not the point and it wouldnt  be
a problem to have it elsewher like
/usr/local/virtual/public-namespace/domain


set this now

namespace shared {
separator = /
prefix = "shared/%%u/"
location = maildir:/usr/local/virtual/%d/%%u/:INDEX=~/shared/%%u/
subscriptions = no
list = yes
}

but the error seems to stay
is it possible that an @ in the user leads to it ?
( shouldnt be cause %u has no problem with )

but for the first look it doesnt change anything

--log

dovecot: Jan 15 02:09:58 Info: IMAP(robert at schetterer.com): acl vfile:
Global ACL directory: (null)
dovecot: Jan 15 02:09:58 Info: IMAP(robert at schetterer.com): acl vfile:
file /usr/local/virtual/schetterer.com/%/dovecot-acl not found
dovecot: Jan 15 02:09:58 Info: IMAP(robert at schetterer.com): Namespace
shared/%/: Permission lookup failed from /usr/local/virtual/schetterer.com/%


> 
>> dovecot: Jan 13 11:47:56 Info: IMAP(robert at schetterer.com): maildir++:
>> root=/usr/local/virtual/schetterer.com/%,
> 
> I was previously thinking a bit wrong. % is a LIST wildcard. I couldn't
> reproduce this problem with LIST though. Could you look at the IMAP
> traffic and reproduce it manually to see what command exactly causes
> this error?
> 
>>>>   acl_shared_dict: file:/var/lib/dovecot/shared/mailboxes
>>> What are the contents of this file? Also you'll only need
>>> acl_shared_dict. Looks like dovecot-example.conf incorrectly used
>>> acl_dict.
>> sorry timo, there ist less documention about this file
>> ( cant find any help what they should include on the web )
>> so they only exist without content, do you have examples?
> 
> You don't need to know its contents. I just would have wanted to see it
> myself to see what kind of configuration you have at this moment. The
> proper way to fill the file is to just give IMAP commands, e.g.:
> 
> 1 SETACL mybox another.user at domain lr
> 
> That ACL must not already exist in dovecot-acl file, otherwise the
> acl_shared_dict file isn't updated. If it is there already you could
> just do:
> 
> 1 DELETEACL mybox another.user at domain
> 2 SETACL mybox another.user at domain lr
> 
>> yes debug gives less information, as well there is to less
>> doku about shared namespaces and acl
> 
> I haven't had time to write the documentation yet.

i will do more tests tommorow
and see if i get more debug
no hurry timo , its alpha phase, but a short
doku should be available when 1.2 going beta


-- 
Best Regards

MfG Robert Schetterer

Germany/Munich/Bavaria


More information about the dovecot mailing list