I've run into an interesting thing.? If a mailbox has been shared to a
second user (I'll call it the sharee), and there are subfolders on that
mailbox, and the sharee renames one of those subfolders, it disappears from view
to the sharee.? The only way I've been able discover to fix it is to have
the sharee create a new subfolder -- then the renamed folder shows up again; in
addition to the newly created folder.
For example, first at example.org shares it's INBOX to second at
example.org.? There's a folder INBOX/thing, which second@ renames to
INBOX/renamed (ACLs permitting).? second@ can no longer can see INBOX/renamed
(or INBOX/thing for that matter), via IMAP's LIST command.? But if second@
creates a new folder INBOX/other, INBOX/renamed is now visible.
This is very reproducible for me.? I also tried it without the imappostlogin bit
(in the dovecot -n).? Anyone else run into this?
No NFS is involved, this is a single machine setup.
Output of dovecot -n
# 2.2.18: /dovecot/etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.8
# OS: Linux 2.6.32-504.el6.x86_64 x86_64 CentOS release 6.6 (Final) xfs
auth_master_user_separator = *
auth_mechanisms = plain login
dict {
? acl = mysql:/dovecot/etc/dovecot/dovecot-dict-sql.conf.ext
}
disable_plaintext_auth = no
lda_mailbox_autosubscribe = yes
mail_home = mdbox:/dovecot/var/homedirs/%2Mu/%2.2Mu/%u
mail_location = mdbox:/dovecot/var/mailboxes/%2Mu/%2.2Mu/%u
mail_plugins = acl
mail_shared_explicit_inbox = yes
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
vnd.dovecot.pipe vnd.dovecot.filter vnd.dovecot.execute
namespace {
? list = children
? location = mdbox:/dovecot/var/mailboxes/%%2Mu/%%2.2Mu/%%u
? prefix = shared/%%u/
? separator = /
? subscriptions = no
? type = shared
}
namespace inbox {
? inbox = yes
? location ? mailbox Drafts {
??? special_use = Drafts
? }
? mailbox Junk {
??? special_use = Junk
? }
? mailbox Sent {
??? special_use = Sent
? }
? mailbox "Sent Messages" {
??? special_use = Sent
? }
? mailbox Trash {
??? special_use = Trash
? }
? prefix }
passdb {
? args = /dovecot/etc/dovecot/mastership-sql.conf
? driver = sql
? master = yes
? pass = yes
}
passdb {
? args = /dovecot/etc/dovecot/dovecot-sql.conf.ext
? driver = sql
}
plugin {
? acl = vfile
? acl_shared_dict = proxy::acl
? sieve_after = /dovecot/etc/dovecot/sieve/99-autofile.sieve
? sieve_after2 = /dovecot/etc/dovecot/sieve/98-notify-biz-address.sieve
? sieve_execute_bin_dir = /dovecot/etc/dovecot/sieve-execute
? sieve_execute_socket_dir = sieve-execute
? sieve_extensions = +vnd.dovecot.execute +vnd.dovecot.filter +vnd.dovecot.pipe
? sieve_filter_bin_dir = /dovecot/etc/dovecot/sieve-filter
? sieve_filter_socket_dir = sieve-filter
? sieve_pipe_bin_dir = /dovecot/etc/dovecot/sieve-pipe
? sieve_pipe_socket_dir = sieve-pipe
? sieve_plugins = sieve_extprograms
}
postmaster_address = postmaster at xxxxdomain.com
sendmail_path = /dovecot/sbin/sendmail
service dict {
? unix_listener dict {
??? user = dovecot
? }
}
service imap-postlogin {
? executable = script-login /dovecot/etc/dovecot/imappostlogin
? user = $default_internal_user
}
service imap {
? executable = imap imap-postlogin
}
ssl = no
userdb {
? args = uid=dovecot gid=dovecot home=/dovecot/var/mailboxes/%%2Mu/%%2.2Mu/%%u
? driver = static
}
protocol lmtp {
? mail_plugins = acl sieve
}
protocol lda {
? mail_plugins = acl sieve
}
protocol imap {
? mail_plugins = acl imap_acl
}
?