[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/} ...
On Mon, 13 Jul 2009 20:28:33 +0200 e-frog e-frog@gmx.de wrote:
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/} ...
This helps, Thank you.
Now my expire-tool.sh looks like: #!/bin/bash MAIL_PLUGINS=${MAIL_PLUGINS//imap_quota/} MAIL_PLUGINS=${MAIL_PLUGINS//mail_log/} exec ${0%.sh} "$@"
Maybe wiki should be updated to consider this trick ?
Nikita Koshikov wrote:
This helps, Thank you.
Now my expire-tool.sh looks like: #!/bin/bash MAIL_PLUGINS=${MAIL_PLUGINS//imap_quota/} MAIL_PLUGINS=${MAIL_PLUGINS//mail_log/} exec ${0%.sh} "$@"
Maybe wiki should be updated to consider this trick ?
How about this:
http://wiki.dovecot.org/Plugins/Expire#Dovecot_v1.2.x
PS: You can also edit the wiki ;-)
On Mon, 2009-07-13 at 21:33 +0300, Nikita Koshikov wrote:
Now my expire-tool.sh looks like: #!/bin/bash MAIL_PLUGINS=${MAIL_PLUGINS//imap_quota/} MAIL_PLUGINS=${MAIL_PLUGINS//mail_log/} exec ${0%.sh} "$@"
Maybe wiki should be updated to consider this trick ?
Kind of kludgy and shouldn't be needed but.. maybe it's rare enough of a problem until v2.0 fixes this. :)
Timo Sirainen schrieb:
On Mon, 2009-07-13 at 21:33 +0300, Nikita Koshikov wrote:
Now my expire-tool.sh looks like: #!/bin/bash MAIL_PLUGINS=${MAIL_PLUGINS//imap_quota/} MAIL_PLUGINS=${MAIL_PLUGINS//mail_log/} exec ${0%.sh} "$@"
Maybe wiki should be updated to consider this trick ?
Kind of kludgy and shouldn't be needed but.. maybe it's rare enough of a problem until v2.0 fixes this. :)
just for info i have to use
#!/bin/bash MAIL_PLUGINS=${MAIL_PLUGINS//imap_quota/} MAIL_PLUGINS=${MAIL_PLUGINS//mail_log/} MAIL_PLUGINS=${MAIL_PLUGINS//virtual/} MAIL_PLUGINS=${MAIL_PLUGINS//imap_acl/} exec ${0%.sh} "$@"
and after a few tests no delete was done but as i played around a lot with new versions i am starting new tests to make sure something wents wrong
participants (4)
-
e-frog
-
Nikita Koshikov
-
Robert Schetterer
-
Timo Sirainen