Hi Timo,
On 12-Feb-12 5:16, Timo Sirainen wrote:
On 10.2.2012, at 14.13, Michael Stilkerich wrote:
I have shared one of my mailboxes to another user providing him full rights to
that mailbox.
$ doveadm acl get -u user1 doc
Is "doc" the namespace prefix?
No, 'doc' is the name of the shared parent mailbox under that the 2nd
user created the new mailbox 'hallo'.
To clarify: user1 shares the mailbox 'doc' with max permissions to
user2. user2 then creates a new mailbox under the parent 'doc'.
When that user creates a new mailbox within the shared mailbox, the mailbox is
successfully
created but with an empty ACL.
Creates how? With IMAP client?
Yes, using Thunderbird / Roundcube Webmail.
According to the wiki, it should inherit the ACL from its parent, i.e. have
full permissions for user2.
Works with me. dovecof -n output?
The config is attached.
The IMAP-Client is signaled an error by dovecot, but the log file does
not contain an error. At the filesystem level
- The mailbox was created as a sub folder of 'doc'.
- It contains nothing but an empty sub folder 'dbox-Mails'.
- It does specifically not contain an dovecot-acl file.
- The sharing user's (user1) dovecot-acl-list file was not updated to
list the newly created subfolder.
- The acl dictionary 'shared-mailboxes' was also not touched, but this
is probably correct since it already contains a record that user1
shares mailboxes to user2.
- When user1 accesses the new mailbox that user2 created, the below
error gets logged and a dovecot.index.log file is created in the
until then empty 'dbox-Mails' folder of the new mailbox.
Dovecot logs the following errors when I access the parent folder the first time
after the other user created the child mailbox:
dovecot: imap(user1): Error: Mailbox doc/hallo: Corrupted index, uidvalidity=0
dovecot: imap(user1): Error: Recent flags state corrupted for mailbox INBOX
dovecot: imap(user1): Error:
/home/dovecot/user1/mailboxes/INBOX/dbox-Mails/dovecot.index reset, view is now
inconsistent
Are you trying to use per-user indexes? That's not going to work.
I don't think so. I'm using dbox and thus have not added a custom
:INDEX=... to the location.
-Michael
# 2.1.rc5: /opt/dovecot-2.1rc5/etc/dovecot/dovecot.conf
# OS: Linux 3.0.0-15-server x86_64 Ubuntu 11.10
auth_mechanisms = scram-sha-1 digest-md5 cram-md5 login plain
auth_username_format = %Ln
auth_verbose = yes
first_valid_uid = 1000
last_valid_uid = 29999
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_access_groups = mail
mail_fsync = never
mail_plugins = acl zlib
mail_privileged_group = mail
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 ihave
namespace {
list = children
location = mdbox:/home/dovecot/%%Ln
prefix = shared/%%n/
separator = /
subscriptions = no
type = shared
}
namespace inbox {
inbox = yes
location = mdbox:/home/dovecot/%Ln
mailbox Drafts {
special_use = \Drafts
}
mailbox Sent {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
mailbox spam {
special_use = \Junk
}
prefix =
separator = /
type = private
}
passdb {
args = scheme=plain /etc/dovecot/passwd-db
driver = passwd-file
}
plugin {
acl = vfile
acl_shared_dict = file:/home/dovecot/shared-mailboxes
fts = squat
sieve = ~/.dovecot.sieve
sieve_after = /var/lib/dovecot/sieve/after.sieve
sieve_default = /var/lib/dovecot/sieve/default.sieve
sieve_dir = ~/.sieve
zlib_save = gz
zlib_save_level = 6
}
protocols = imap sieve
service auth {
unix_listener /var/spool/postfix/private/auth {
group = sasl
mode = 0660
user = postfix
}
}
service imap-login {
inet_listener imap {
address = ::1, 127.0.0.1
port = 143
}
inet_listener imaps {
port = 993
ssl = yes
}
}
service managesieve-login {
inet_listener sieve {
address = ::1, 127.0.0.1
port = 4190
}
}
ssl_cert = </etc/ssl/startssl/startssl_class2_chain.crt
ssl_key = </etc/ssl/private/startssl_class2.key
userdb {
args = blocking=no
driver = passwd
}
protocol lmtp {
mail_fsync = optimized
}
protocol lda {
mail_fsync = optimized
mail_plugins = acl zlib sieve
}
protocol imap {
mail_plugins = acl zlib imap_acl fts fts_squat
}