[Dovecot] dovecot v1.2.1 expire-tool with mail_log enabled

Nikita Koshikov koshikov at gmail.com
Mon Jul 13 20:49:04 EEST 2009


Hello list,

Sorry, if it has been asked, but searching throught list not give possitive answers.

After upgrade to dovecot version 1.2.1 expire-tool stoped working. I have changed database format and config file to appropriative 1.2 version but:

expire-tool.sh fails with:
# dovecot -c /etc/dovecot/dovecot.conf --exec-mail ext /usr/libexec/dovecot/expire-tool.sh

Info: Loading modules from directory: /usr/lib/dovecot/imap
Info: Module loaded: /usr/lib/dovecot/imap/lib10_quota_plugin.so
Info: Module loaded: /usr/lib/dovecot/imap/lib11_trash_plugin.so
Info: Module loaded: /usr/lib/dovecot/imap/lib20_expire_plugin.so
Info: Module loaded: /usr/lib/dovecot/imap/lib20_fts_plugin.so
Error: dlopen(/usr/lib/dovecot/imap/lib20_mail_log_plugin.so) failed: /usr/lib/dovecot/imap/lib20_mail_log_plugin.so: undefined symbol: imap_write_flags
Fatal: Couldn't load required plugins

When I diasabled mail_log plugin from imap section, everything start working, as expected and expire-tool delete old mail.

dovecot -n gives:
# 1.2.1: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.26-gentoo-r4 i686 Gentoo Base System release 1.12.11.1 
log_path: /var/log/dovecot/dovecot-error.log
info_log_path: /var/log/dovecot/dovecot.log
protocols: imaps managesieve
ssl_cert_file: /etc/ssl/dovecot/imaps.crt
ssl_key_file: /etc/ssl/dovecot/imaps.key
disable_plaintext_auth: no
login_dir: /var/run/dovecot/login
login_executable(default): /usr/libexec/dovecot/imap-login
login_executable(imap): /usr/libexec/dovecot/imap-login
login_executable(managesieve): /usr/libexec/dovecot/managesieve-login
login_greeting: Server ready.
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_executable(default): /usr/libexec/dovecot/imap
mail_executable(imap): /usr/libexec/dovecot/imap
mail_executable(managesieve): /usr/libexec/dovecot/managesieve
mail_plugins(default): quota imap_quota trash fts fts_squat expire zlib mail_log
mail_plugins(imap): quota imap_quota trash fts fts_squat expire zlib mail_log
mail_plugins(managesieve): 
mail_plugin_dir(default): /usr/lib/dovecot/imap
mail_plugin_dir(imap): /usr/lib/dovecot/imap
mail_plugin_dir(managesieve): /usr/lib/dovecot/managesieve
auth default:
  mechanisms: plain login
  cache_size: 10240
  cache_negative_ttl: 0
  user: dovecot_auth
  master_user_separator: *
  worker_max_count: 50
  passdb:
    driver: passwd-file
    args: /etc/dovecot/passdb/master.pwd
    master: yes
  passdb:
    driver: passwd-file
    args: /etc/dovecot/passdb/users.pwd
  passdb:
    driver: ldap
    args: /etc/dovecot/dovecot-ldap.conf
  userdb:
    driver: prefetch
  userdb:
    driver: ldap
    args: /etc/dovecot/dovecot-userdb-ldap.conf
  userdb:
    driver: passwd-file
    args: /etc/dovecot/passdb/users.pwd
  socket:
    type: listen
    client:
      path: /var/run/dovecot/auth-client
      mode: 432
      user: mail
      group: dovecot_auth
    master:
      path: /var/run/dovecot/auth-master
      mode: 384
      user: mail
      group: mail
plugin:
  quota_warning: storage=95%% /etc/dovecot/plugins/quota_warning.sh 95
  quota: maildir:Mailbox quota
  quota_rule: *:storage=500M
  quota_rule2: Trash:storage=10%%
  trash: /etc/dovecot/plugins/dovecot-trash.conf
  expire: Trash 1 Spam 30
  expire_dict: proxy::expire
  sieve: ~/.dovecot.sieve
  sieve_storage: ~/sieve
  sieve_extensions: +imapflags +notify
dict:
  expire: sqlite:/etc/dovecot/plugins/expire.conf

cat /etc/dovecot/plugins/expire.conf
#driver=sqlite
connect = /var/mail/expire.db

#v1.2
map {
        pattern = shared/expire/$user/$mailbox
        table = expires
        value_field = expire_stamp

        fields {
                username = $user
                mailbox = $mailbox
        }
}

If you need any addition information please tell.


More information about the dovecot mailing list