Hi all,
I've used most of this weekend finalizing my migration from an old server running Dovecot 2.2.22 to a brand new installation running 2.3.8.
In general, the migration was painless, everything just clicked, but checking up on the finer details post migration i've found out that user shared folders does not seem to work anymore, and I simply can't get it to work.
The setups are more or less identical, biggest change is probably the addition of a Solr search index, and i've done very little changes in the configuration files.
The acl_shared_dict file is being created and updated when I share a folder
In the user thats sharing the folder, the dovecot-acl and dovecot-acl-list files are created and look the same.
But, the user that should be reading the shared folder can not see it, the Shared namespace is simply empty, which it is not on the old installation, and namespace setup is identical across the two servers. (Except for the CaSiNg of the location of the index and indexpvt)
Logging in and doing an IMAP command : A1 LIST "Shared/" "*" yields this on the old server. (I've replaced the sharing users e-mail to user@sharer.dk and the reading users to user@reader.dk)
A1 LIST "Shared/" "*"
- LIST (\HasNoChildren) "/" Shared/user@sharer.dk A1 OK List completed (0.000 + 0.000 secs).
and this on the new
A1 LIST "Shared/" "*" A1 OK List completed (0.006 + 0.000 + 0.005 secs).
Log output from the new server below (i've only included the events happening during the LIST account)
-- New, non-working log start --
Namespace : type=shared, prefix=Shared/%u/, sep=/, inbox=no, hidden=no, list=children, subscriptions=no location=maildir:/data/mail/%d/%n/maildir:INDEX=~/maildir/shared/%u:INDEXPVT:~/maildir/shared/%u shared: root=/var/run/dovecot, index=, indexpvt=, control=, inbox=, alt= fts: Indexes disabled for namespace 'Shared/%u/' acl: initializing backend with data: vfile acl: acl username = user@reader.dk acl: owner = 0 acl vfile: Global ACLs disabled
acl vfile: file /data/mail/reader.dk/user/maildir/dovecot-acl not found acl vfile: file /data/mail/reader.dk/user/maildir/.Junk/dovecot-acl not found acl vfile: file /data/mail/reader.dk/user/maildir/.Trash/dovecot-acl not found acl vfile: file /data/mail/reader.dk/user/maildir/.Sent/dovecot-acl not found auth-master: userdb lookup(user@sharer.dk): Started userdb lookup auth-master: conn unix:/var/run/dovecot/auth-userdb: Connecting auth-master: conn unix:/var/run/dovecot/auth-userdb (pid=1636,uid=0): Client connected (fd=16) auth-master: userdb lookup(user@sharer.dk): auth USER input: user@sharer.dk uid=120 gid=129 home=/data/mail/sharer.dk/user auth-master: userdb lookup(user@sharer.dk): Finished userdb lookup (username=user@sharer.dk uid=120 gid=129 home=/data/mail/sharer.dk/user) Namespace Shared/: Using permissions from : mode=0700 gid=default
-- New, non-working log end --
and here from the old, working installation
-- Old, working log start --
Namespace : type=shared, prefix=Shared/%u/, sep=/, inbox=no, hidden=no, list=children, subscriptions=no location=maildir:/data/mail/%d/%n/maildir:INDEX=~/Maildir/shared/%u:INDEXPVT=~/Maildir/shared/%u shared: root=/var/run/dovecot, index=, indexpvt=, control=, inbox=, alt= acl: initializing backend with data: vfile acl: acl username = user@reader.dk acl: owner = 0 acl vfile: Global ACLs disabled
auth input: user@sharer.dk uid=118 gid=126 home=/data/mail/sharer.dk/user namespace/default/inbox=yes maildir++: root=/data/mail/sharer.dk/user/maildir, index=/data/mail/sharer.dk/user/Maildir/shared/user@sharer.dk, indexpvt=/data/mail/sharer.dk/user/Maildir/shared/user@sharer.dk, control=, inbox=/data/mail/sharer.dk/user/maildir, alt= acl: initializing backend with data: vfile acl: acl username = user@sharer.dk acl: owner = 1 acl vfile: Global ACLs disabled maildir++: root=/data/mail/sharer.dk/user/maildir, index=/data/mail/reader.dk/user/Maildir/shared/user@sharer.dk, indexpvt=/data/mail/reader.dk/user/Maildir/shared/user@sharer.dk, control=, inbox=/data/mail/sharer.dk/user/maildir, alt= acl: initializing backend with data: vfile acl: acl username = user@reader.dk acl: owner = 0 acl vfile: Global ACLs disabled acl vfile: reading file /data/mail/sharer.dk/user/maildir/dovecot-acl acl: Mailbox not in dovecot-acl-list: Shared/user@sharer.dk/Junk acl: Mailbox not in dovecot-acl-list: Shared/user@sharer.dk/Trash acl: Mailbox not in dovecot-acl-list: Shared/user@sharer.dk/Sent acl: Mailbox not in dovecot-acl-list: Shared/user@sharer.dk/Drafts acl: Mailbox not in dovecot-acl-list: Shared/user@sharer.dk/Junk acl: Mailbox not in dovecot-acl-list: Shared/user@sharer.dk/Trash acl: Mailbox not in dovecot-acl-list: Shared/user@sharer.dk/Sent acl: Mailbox not in dovecot-acl-list: Shared/user@sharer.dk/Drafts
-- Old, working log end --
The two logs are quite different, the new one seems to do user lookups via the auth socket, which the old one does not, and then just stops there.
I'm not going to try and speculate more, I hope that someone here can see something from the logs, as I simply do not know how to fix this problem.
-- Peter Reinhold