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, fi...@example.org shares it's INBOX to sec...@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 = postmas...@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
}

 

Reply via email to