[Dovecot] ACL not copied to new mailboxes

Markus Weippert mweippert at eteleon.de
Mon Aug 5 14:33:44 EEST 2013


Hi,

I had some trouble with ACLs not being copied to new child mailboxes in
dovecot 2.2.4. It doesn't matter whether it's a private, shared or
public mailbox I create the folder in, the ACLs just seems to be ignored.
Anyway, I debugged the executable and came up with the attached patch.
Since I'm not a developer, I'm not 100% sure about this but it works for
me now.

Regards,
  Markus

# dovecot --build-options
Build options: ioloop=epoll notify=inotify ipv6 openssl io_block_size=8192
Mail storages: shared mdbox sdbox maildir mbox cydir imapc pop3c raw fail
SQL drivers: mysql
Passdb: checkpassword ldap pam passwd passwd-file shadow sql
Userdb: checkpassword ldap nss passwd prefetch passwd-file sql

# doveconf -n
# 2.2.4: /usr/local/etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-48-generic x86_64 Ubuntu 12.04.2 LTS
auth_cache_negative_ttl = 5 mins
auth_cache_size = 10 M
auth_cache_ttl = 1 mins
auth_debug = yes
auth_master_user_separator = *
auth_mechanisms = plain login
auth_verbose = yes
first_valid_gid = 122
first_valid_uid = 114
imap_client_workarounds = tb-extra-mailbox-sep tb-lsub-flags
last_valid_gid = 122
last_valid_uid = 114
mail_debug = yes
mail_gid = vmail
mail_plugins = acl
mail_privileged_group = vmail
mail_uid = vmail
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 ihave
namespace {
  alias_for =
  hidden = yes
  inbox = no
  list = no
  location =
  prefix = INBOX.
  separator = .
  type = private
}
namespace {
  list = children
  location = maildir:/var/vmail/public/%d:LAYOUT=fs
  prefix = Public/
  separator = /
  subscriptions = no
  type = public
}
namespace {
  list = children
  location = maildir:/var/vmail/mail/%%d/%%n:INDEX=~/shared/%%d/%%n
  prefix = Shared/%%u/
  separator = /
  subscriptions = no
  type = shared
}
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Junk {
    auto = subscribe
    special_use = \Junk
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  prefix =
  separator = /
  type = private
}
passdb {
  args = /etc/dovecot/auth/%s.master
  driver = passwd-file
  master = yes
  pass = yes
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
plugin {
  acl = vfile:/var/vmail/acls:cache_secs=300
  acl_shared_dict = file:/var/vmail/mail/shared-mailboxes.db
  sieve = ~/dovecot.sieve
  sieve_after = /var/vmail/sieve/after
  sieve_before = /var/vmail/sieve/before
  sieve_default = /var/vmail/sieve/default.sieve
  sieve_dir = ~/sieve
  sieve_global_dir = /var/vmail/sieve/global
}
protocols = imap lmtp sieve
service auth {
  unix_listener /var/spool/postfix/private/dovecot-auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  unix_listener auth-userdb {
    mode = 0777
  }
}
service imap-login {
  process_min_avail = 10
  service_count = 0
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0660
    user = postfix
  }
}
ssl_cert = </etc/ssl/dovecot.pem
ssl_cipher_list = HIGH:!MD5:!eNULL
ssl_key = </etc/ssl/dovecot.pem
userdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
protocol lmtp {
  mail_plugins = acl sieve
}
protocol lda {
  mail_plugins = acl sieve
}
protocol imap {
  mail_plugins = acl imap_acl
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: copy_acl.patch
Type: text/x-patch
Size: 469 bytes
Desc: not available
URL: <http://dovecot.org/pipermail/dovecot/attachments/20130805/7364a354/attachment.bin>


More information about the dovecot mailing list