Shared namespace is empty after migration to new Dovecot installation
Peter Reinhold
peter_dovecot at reinhold.dk
Mon Dec 9 10:47:54 EET 2019
On 2019-12-09 08:01, Aki Tuomi via dovecot wrote:
That I can, here (anonymized where relevant)
-- CONF START --
# 2.3.9 (e7f79df99): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.9 (db4e9a2f)
# OS: Linux 4.15.0-54-generic x86_64 Ubuntu 18.04.3 LTS ext4
# Hostname: xxx
auth_mechanisms = plain login
first_valid_gid = ?
first_valid_uid = ?
hostname = ???.dk
last_valid_gid = ?
last_valid_uid = ?
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
listen = localhost
mail_location = maildir:/data/mail/%d/%n/maildir
mail_plugins = " acl fts fts_solr"
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 imapsieve vnd.dovecot.imapsieve
namespace {
list = children
location =
maildir:/data/mail/%%d/%%n/maildir:INDEX=~/maildir/shared/%%u:INDEXPVT:~/maildir/shared/%%u
prefix = Shared/%%u/
separator = /
subscriptions = no
type = shared
}
namespace inbox {
inbox = yes
list = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
auto = subscribe
autoexpunge = 2 weeks
special_use = \Junk
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
auto = subscribe
autoexpunge = 1 weeks
special_use = \Trash
}
prefix =
separator = /
type = private
}
passdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
plugin {
acl = vfile
acl_shared_dict = file:/var/lib/dovecot/shared-mailboxes.db
fts = solr
fts_autoindex = yes
fts_autoindex_exclude = \Junk
fts_autoindex_exclude2 = \Trash
fts_autoindex_exclude3 = \CA Spam
fts_autoindex_exclude4 = \P Spam
fts_solr = url=http://172.18.0.12:8983/solr/dovecot/
imapsieve_mailbox1_before =
file:/var/lib/dovecot/sieve-serverscripts/move_to_junk_folder.sieve
imapsieve_mailbox1_causes = COPY
imapsieve_mailbox1_name = Junk
imapsieve_mailbox2_before =
file:/var/lib/dovecot/sieve-serverscripts/move_from_junk_folder.sieve
imapsieve_mailbox2_causes = COPY
imapsieve_mailbox2_from = Junk
imapsieve_mailbox2_name = *
sieve = file:~/sieve;active=~/.dovecot.sieve
sieve_default = /var/lib/dovecot/sieve/global/default.sieve
sieve_default_name = Standard SPAM regel
sieve_global_dir = /var/lib/dovecot/sieve/global/
sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment
sieve_pipe_bin_dir = /var/lib/dovecot/sieve-pipe
sieve_plugins = sieve_imapsieve sieve_extprograms
}
pop3_uidl_format = %g
postmaster_address = ?
protocols = " imap sieve pop3 sieve"
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
user = postfix
}
unix_listener auth-userdb {
group = dovecot
user = dovecot
}
}
ssl_cert = <?
ssl_key = # hidden, use -P to show it
userdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
protocol lda {
mail_plugins = " acl fts fts_solr sieve"
}
protocol imap {
mail_plugins = " acl fts fts_solr imap_acl imap_sieve"
}
-- CONF END --
> On 8.12.2019 13.13, Peter Reinhold via dovecot wrote:
>> 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 at sharer.dk and the reading users to user at reader.dk)
>>
>> A1 LIST "Shared/" "*"
>> * LIST (\HasNoChildren) "/" Shared/user at 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 at 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 at 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 at sharer.dk): auth USER input:
>> user at sharer.dk uid=120 gid=129 home=/data/mail/sharer.dk/user
>> auth-master: userdb lookup(user at sharer.dk): Finished userdb lookup
>> (username=user at 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 at reader.dk
>> acl: owner = 0
>> acl vfile: Global ACLs disabled
>>
>> auth input: user at 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 at sharer.dk,
>> indexpvt=/data/mail/sharer.dk/user/Maildir/shared/user at sharer.dk,
>> control=, inbox=/data/mail/sharer.dk/user/maildir, alt=
>> acl: initializing backend with data: vfile
>> acl: acl username = user at 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 at sharer.dk,
>> indexpvt=/data/mail/reader.dk/user/Maildir/shared/user at sharer.dk,
>> control=, inbox=/data/mail/sharer.dk/user/maildir, alt=
>> acl: initializing backend with data: vfile
>> acl: acl username = user at 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 at sharer.dk/Junk
>> acl: Mailbox not in dovecot-acl-list: Shared/user at sharer.dk/Trash
>> acl: Mailbox not in dovecot-acl-list: Shared/user at sharer.dk/Sent
>> acl: Mailbox not in dovecot-acl-list: Shared/user at sharer.dk/Drafts
>> acl: Mailbox not in dovecot-acl-list: Shared/user at sharer.dk/Junk
>> acl: Mailbox not in dovecot-acl-list: Shared/user at sharer.dk/Trash
>> acl: Mailbox not in dovecot-acl-list: Shared/user at sharer.dk/Sent
>> acl: Mailbox not in dovecot-acl-list: Shared/user at 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
>
>
> Can you provide doveconf -n?
--
Peter Reinhold
More information about the dovecot
mailing list