[Dovecot] Renaming IMAP folders does not affect children
Johannes Simon
simon at zsi.at
Thu Dec 30 14:56:23 EET 2010
Hi,
we're using dovecot2.0 since August and very happy with it.
Just recently Thunderbird users reported problems when renaming folders,
and it seems that RFC 2060 (sec. 6.3.5) requires children of a renamed
folder to be renamed, too. This however does not happen:
Talking IMAP I get:
* LIST (\HasChildren) "." "INBOX.NNN1"
* LIST (\HasNoChildren) "." "INBOX.NNN1.NNN1a"
. rename "INBOX.NNN1" "INBOX.NNN2"
* LIST (\HasNoChildren) "." "INBOX.NNN1.NNN1a"
* LIST (\HasNoChildren) "." "INBOX.NNN2"
There seems to be no problem the filesystem rights, since this works:
. rename "INBOX.NNN1.NNN1a" "INBOX.NNN2.NNN1a"
* LIST (\HasChildren) "." "INBOX.NNN2"
* LIST (\HasNoChildren) "." "INBOX.NNN2.NNN1a"
Am I misunderstanding RFC 2060, or is my config wrong (doveconf -n
below), or could it be a bug?
Cheers,
Johannes
# 2.0.8 (e030df616faf): /etc/dovecot/dovecot.conf
# OS: Linux 2.6.26-2-openvz-amd64 x86_64 Debian 5.0.7
default_client_limit = 2500
default_process_limit = 600
dotlock_use_excl = yes
log_timestamp = "%Y-%m-%d %H:%M:%S "
login_greeting = Dovecot 2 ready.
mail_fsync = always
mail_location = maildir:~/Maildir
mail_nfs_index = yes
mail_nfs_storage = yes
mail_plugins = autocreate acl
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
mmap_disable = yes
namespace {
inbox = yes
location =
prefix = INBOX.
separator = .
type = private
}
namespace {
list = yes
location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u
prefix = INBOX.shared.%%u.
separator = .
subscriptions = no
type = shared
}
passdb {
args = session=yes dovecot
driver = pam
}
plugin {
acl = vfile
acl_shared_dict = file:/etc/dovecot/dict/shared-mailboxes
autocreate = INBOX.Trash
autocreate2 = INBOX.Junk
autocreate3 = INBOX.Sent
autocreate4 = INBOX.Junk_old
autocreate5 = INBOX.Drafts
autosubscribe = INBOX.Trash
autosubscribe2 = INBOX.Junk
autosubscribe3 = INBOX.Sent
autosubscribe4 = INBOX.Drafts
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
}
protocols = imap pop3
service auth {
unix_listener auth-userdb {
mode = 0666
}
}
service dict {
user = dovecot
}
service imap-postlogin {
executable = script-login rawlog /etc/dovecot/postlogin.sh
user = root
}
service imap {
executable = imap imap-postlogin
}
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
userdb {
args = blocking=yes
driver = passwd
}
protocol imap {
mail_max_userip_connections = 50
mail_plugins = autocreate acl imap_acl
}
protocol pop3 {
mail_max_userip_connections = 3
}
More information about the dovecot
mailing list