[Dovecot] Dovecot deliver with ACL plugin enabled truble

Nikita Koshikov koshikov at gmail.com
Tue Jun 9 15:26:12 EEST 2009


Hello folk, 

I have trouble running /usr/libexec/dovecot/deliver with ACL plugin enabled from my exim configurarion. Everything is working fine if I disable plugin ACL from lda section in dovecot config.

This is the string from exim.conf, which request delivery to take place:
command = /usr/libexec/dovecot/deliver -e -d $local_part@$domain 

In dovecot error-log I see this, when deliver tries to "put" message in users maildir:
==> /var/log/dovecot/dovecot-deliver.log <==
deliver(user at domain.com): Jun 09 15:07:38 Info: Loading modules from directory: /usr/lib/dovecot/lda
deliver(user at domain.com): Jun 09 15:07:38 Info: Module loaded: /usr/lib/dovecot/lda/lib01_acl_plugin.so
deliver(user at domain.com): Jun 09 15:07:38 Info: Module loaded: /usr/lib/dovecot/lda/lib10_quota_plugin.so
deliver(user at domain.com): Jun 09 15:07:38 Info: Module loaded: /usr/lib/dovecot/lda/lib11_trash_plugin.so
deliver(user at domain.com): Jun 09 15:07:38 Info: Module loaded: /usr/lib/dovecot/lda/lib20_expire_plugin.so
deliver(user at domain.com): Jun 09 15:07:38 Info: auth input: uid=8
deliver(user at domain.com): Jun 09 15:07:38 Info: auth input: gid=12
deliver(user at domain.com): Jun 09 15:07:38 Info: auth input: home=/var/mail/domain.com/user
deliver(user at domain.com): Jun 09 15:07:38 Info: auth input: mail=maildir:/var/mail/domain.com/user/data
deliver(user at domain.com): Jun 09 15:07:38 Info: Quota root: name=Mailbox quota backend=maildir args=
deliver(user at domain.com): Jun 09 15:07:38 Info: Quota rule: root=Mailbox quota mailbox=* bytes=524288000 messages=0
deliver(user at domain.com): Jun 09 15:07:38 Info: Quota rule: root=Mailbox quota mailbox=Trash bytes=52428800 (10%) messages=0
deliver(user at domain.com): Jun 09 15:07:38 Info: maildir: data=/var/mail/domain.com/user/data
deliver(user at domain.com): Jun 09 15:07:38 Info: maildir++: root=/var/mail/domain.com/user/data, index=, control=, inbox=/var/mail/domain.com/user/data
deliver(user at domain.com): Jun 09 15:07:38 Info: acl: initializing backend with data: vfile
deliver(user at domain.com): Jun 09 15:07:38 Info: acl: acl username = user at domain.com
deliver(user at domain.com): Jun 09 15:07:38 Info: acl: owner = 1
deliver(user at domain.com): Jun 09 15:07:38 Info: acl vfile: Global ACL directory: (null)
deliver(user at domain.com): Jun 09 15:07:38 Info: trash plugin: Added 'Spam' with priority 1
deliver(user at domain.com): Jun 09 15:07:38 Info: trash plugin: Added 'Trash' with priority 2
deliver(user at domain.com): Jun 09 15:07:38 Info: acl: initializing backend with data: vfile
deliver(user at domain.com): Jun 09 15:07:38 Info: acl: acl username = user at domain.com
deliver(user at domain.com): Jun 09 15:07:38 Info: acl: owner = 1
deliver(user at domain.com): Jun 09 15:07:38 Info: acl vfile: Global ACL directory: (null)
deliver(user at domain.com): Jun 09 15:07:38 Fatal: mail_full_filesystem_access=yes is incompatible with ACLs

In my current dovecot config-file option mail_full_filesystem_access is commented out. I have tried both variants to explicitly enable and disable this feature, but errors stayed the same.

Please advice.



Additional info:

Here is my lda config:
protocol lda {
  postmaster_address = postmaster at domain.com
  mail_plugins = quota acl trash expire
  quota_full_tempfail = yes
  auth_socket_path = /var/run/dovecot/auth-master
  log_path = /var/log/dovecot/dovecot-deliver.log
  info_log_path = /var/log/dovecot/dovecot-deliver.log
}

This is my dovecot config-file:
# 1.1.16: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.26-gentoo-r4 i686 Gentoo Base System release 1.12.11.1 ext3
log_path: /var/log/dovecot/dovecot-error.log
info_log_path: /var/log//dovecot/dovecot.log
protocols: imaps
ssl_cert_file: /etc/dovecot/ssl/imaps.crt
ssl_key_file: /etc/dovecot/ssl/imaps.key
login_dir: /var/run/dovecot/login
login_executable: /usr/libexec/dovecot/imap-login
login_greeting_capability: yes
login_processes_count: 10
login_max_processes_count: 512
first_valid_uid: 8
last_valid_uid: 8
first_valid_gid: 12
last_valid_gid: 12
mail_location: maildir:/var/mail/%d/%n/data
mail_debug: yes
mail_plugins: quota imap_quota acl trash mail_log fts fts_squat expire
mail_log_max_lines_per_sec: 0
auth default:
  mechanisms: plain login
  cache_size: 10240
  cache_negative_ttl: 0
  user: mail
  debug: yes
  worker_max_count: 50
  passdb:
    driver: ldap
    args: /etc/dovecot/dovecot-ldap.conf
  passdb:
    driver: passwd-file
    args: scheme=cram-md5 /etc/dovecot/cram-md5.pwd
  userdb:
    driver: prefetch
  userdb:
    driver: ldap
    args: /etc/dovecot/dovecot-userdb-ldap.conf
  userdb:
    driver: passwd-file
    args: /etc/dovecot/cram-md5.pwd
  socket:
    type: listen
    client:
      path: /var/run/dovecot/auth-client
      mode: 432
    master:
      path: /var/run/dovecot/auth-master
      mode: 384
      user: mail
      group: mail
plugin:
  quota: maildir:Mailbox quota
  quota_rule: *:storage=500M
  quota_rule2: Trash:storage=10%%
  acl: vfile
  trash: /etc/dovecot/plugins/dovecot-trash.conf
  expire: Trash 7 Spam 30
  expire_dict: proxy::expire
  mail_log_events: delete undelete expunge copy mailbox_delete
  mail_log_group_events: 
  mail_log_fields: uid box msgid size
  fts: squat
dict:
  expire: sqlite:/etc/dovecot/plugins/expire.conf


More information about the dovecot mailing list