Nikita Koshikov
2009-Jul-13 17:49 UTC
[Dovecot] dovecot v1.2.1 expire-tool with mail_log enabled
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.
Nikita Koshikov wrote:> 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 >You are already using the wrapper for expire-tool ... to remove the imap_quota plugin?> 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. >I think you also need to remove the mail_log plugin from the environment: expire-tool.sh: ... MAIL_PLUGINS=${MAIL_PLUGINS//imap_quota/} MAIL_PLUGINS=${MAIL_PLUGINS//mail_log/} ...