Renaming shared mailbox makes it disappear from sharee

Andy Csillag andy at thecsillags.com
Mon Aug 3 13:48:46 UTC 2015


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
}

 


More information about the dovecot mailing list