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@domain/ and not just /usr/local/virtual/domain/user/?
jep i use a full scheme, /usr/local/virtual/domain/user@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@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@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@schetterer.com): acl vfile: Global ACL directory: (null) dovecot: Jan 15 02:09:58 Info: IMAP(robert@schetterer.com): acl vfile: file /usr/local/virtual/schetterer.com/%/dovecot-acl not found dovecot: Jan 15 02:09:58 Info: IMAP(robert@schetterer.com): Namespace shared/%/: Permission lookup failed from /usr/local/virtual/schetterer.com/%
dovecot: Jan 13 11:47:56 Info: IMAP(robert@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@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@domain 2 SETACL mybox another.user@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