[Dovecot] Failing to share folders when listescape is enabled (2.0.14)

mailing lists listas.correo at yahoo.es
Tue Nov 8 12:20:22 EET 2011


Hello,

How I can share a folder with dots when the listescape plugin is enabled?

In this example user001 is sharing two foders named "docs-abc" and "docs-a.b.c" to user002. 


The first folder (without dots) is seen by user002 but the second is not found by dovecot because it search a system folder named ".docs-a.b.c" but the system folder is ".docs-a\2eb\2ec"


Nov  8 11:03:52 imap2 dovecot: imap(user002): Debug: acl vfile: file /var/virtual-maildir/user001/.docs-a.b.c/dovecot-acl not found

drwx------ 2 vmail vmail 4096 2011-11-08 10:54 cur
drwx------ 5 vmail vmail 4096 2011-11-08 10:57 .docs-a\2eb\2ec
drwx------ 5 vmail vmail 4096 2011-11-08 10:57 .docs-abc
-rw------- 1 vmail vmail   20 2011-11-08 10:57 dovecot-acl-list
-rw------- 1 vmail vmail  248 2011-11-08 10:55 dovecot.index.log
-rw------- 1 vmail vmail   96 2011-11-08 10:54 dovecot.mailbox.log
-rw------- 1 vmail vmail   51 2011-11-08 10:55 dovecot-uidlist
-rw------- 1 vmail vmail    8 2011-11-08 10:57 dovecot-uidvalidity
-r--r--r-- 1 vmail vmail    0 2011-11-08 10:54 dovecot-uidvalidity.4eb8fc5b
drwx------ 5 vmail vmail 4096 2011-11-08 10:57 .Drafts
-rw------- 1 vmail vmail   15 2011-11-08 10:54 maildirsize
drwx------ 2 vmail vmail 4096 2011-11-08 10:54 new
drwx------ 5 vmail vmail 4096 2011-11-08 10:54 .Sent
drwx------ 5 vmail vmail 4096 2011-11-08 10:54 .Spam
-rw------- 1 vmail vmail   23 2011-11-08 10:54 subscriptions
drwx------ 2 vmail vmail 4096 2011-11-08 10:54 tmp
drwx------ 5 vmail vmail 4096 2011-11-08 10:54 .Trash


# cat /var/virtual-maildir/user001/subscriptions 
Trash
Sent
Drafts
Spam
docs-abc
docs-a\2eb\2ec


# telnet localhost 143
Trying ::1...
Connected to localhost.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN] Dovecot ready.
. login user001 XXXXX
. OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS QUOTA ACL RIGHTS=texk] Logged in
. create docs-abc    
. OK Create completed.
. create docs-a.b.c
. OK Create completed.
. setacl docs-abc user002 lrsw
. OK Setacl complete.
. setacl docs-a.b.c user002 lrsw
. OK Setacl complete.
. subscribe docs-abc
. OK Subscribe completed.
. subscribe docs-a.b.c
. OK Subscribe completed.
. logout
* BYE Logging out
. OK Logout completed.
Connection closed by foreign host.



# telnet localhost 143
Trying ::1...
Connected to localhost.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN] Dovecot ready.
. login user002 XXXXXX
. OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS QUOTA ACL RIGHTS=texk] Logged in
. subscribe shared/user001/docs-abc
. OK Subscribe completed.
. subscribe shared/user001/docs-a.b.c
. NO Mailbox doesn't exist: shared/user001/docs-a.b.c
. logout
* BYE Logging out
. OK Logout completed.
Connection closed by foreign host.




    /-----------------/


# dovecot -n
# 2.0.14: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.34.7-0.7-xen x86_64 openSUSE 11.3 (x86_64) 
auth_debug = yes
auth_verbose = yes
base_dir = /var/run/dovecot/
dict {
  expire = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
}
disable_plaintext_auth = no
doveadm_proxy_port = 24244
doveadm_socket_path = localhost:24244
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
mail_debug = yes
mail_fsync = always
mail_gid = 5000
mail_nfs_index = yes
mail_nfs_storage = yes
mail_plugins = acl quota notify expire listescape
mail_uid = 5000
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
  list = yes
  location = 
  prefix = 
  separator = /
  subscriptions = yes
  type = private
}
namespace {
  list = children
  location = maildir:/var/virtual-maildir/%%n:INDEX=~/shared.%%n
  prefix = shared/%%n/
  separator = /
  subscriptions = no
  type = shared
}
passdb {
  args = /etc/dovecot/dovecot-ldap.conf.ext
  driver = ldap
}
plugin {
  acl = vfile
  acl_shared_dict = file:/var/maildir/vol00/shared-mailboxes
  autocreate = Trash
  autocreate2 = Sent
  autocreate3 = Drafts
  autocreate4 = Spam
  autosubscribe = Trash
  autosubscribe2 = Sent
  autosubscribe3 = Drafts
  autosubscribe4 = Spam
  expire = Trash
  expire2 = Trash/*
  expire5 = Spam
  expire6 = Spam/*
  expire_dict = proxy::expire
  mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename flag_change append
  mail_log_fields = uid box msgid from subject size vsize flags
  mail_plugins = " mail_log notify"
  quota = maildir:Quota
  quota_exceeded_message = Quota limit reached
  quota_rule2 = Trash:storage=+50M
  quota_warning = storage=95%% quota-warning 95 %u
  quota_warning2 = storage=90%% quota-warning 90 %u
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
}
service auth {
  unix_listener auth-userdb {
    group = vmail
    mode = 0600
    user = vmail
  }
}
service dict {
  unix_listener dict {
    group = vmail
    mode = 0600
    user = vmail
  }
}
service doveadm {
  inet_listener {
    port = 24244
  }
}
service lmtp {
  inet_listener lmtp {
    port = 24
  }
  unix_listener lmtp {
    group = vmail
    mode = 0666
    user = vmail
  }
}
service pop3-login {
  inet_listener pop3 {
    port = 110
  }
}
service quota-warning {
  executable = script /etc/dovecot/quota-warning.sh
  unix_listener quota-warning {
    user = vmail
  }
}
ssl = no
userdb {
  driver = prefetch
}
userdb {
  args = /etc/dovecot/dovecot-ldap.conf.ext
  driver = ldap
}
verbose_proctitle = yes
protocol lmtp {
  mail_plugins = acl quota notify expire listescape sieve
}
protocol lda {
  mail_plugins = acl quota notify expire listescape sieve
}
protocol imap {
  mail_max_userip_connections = 100
  mail_plugins = acl quota notify expire listescape imap_acl autocreate imap_quota
}
protocol pop3 {
  pop3_uidl_format = %v-%u
}
local 10.1.245.101/28/28 {
  doveadm_password = secret
}



More information about the dovecot mailing list