On 8/20/2014 5:37 AM, Timo Sirainen wrote:
On 18 Aug 2014, at 17:30, Ben Johnson <ben@indietorrent.org> wrote:
Ironically, the very reason for which I replaced my distro's source repos with
deb http://xi.rename-it.nl/debian/ stable-auto/dovecot-2.2 main deb-src http://xi.rename-it.nl/debian/ stable-auto/dovecot-2.2 main
These are just nightly builds and there's a good chance they break randomly. Maybe the problem in your case is that the antispam plugin just wasn't recompiled after some changes that required recompiling. I'm not sure. In any case a better working repository is here: http://shop.dovecot.fi/home/8-dovecot-ee-repository-access.html (It's free even though it still says $99 in the main page. Everyone's too busy to bother changing the web.)
Thank you for the clarification, Timo.
I was able to get the repository access squared-away via the Dovecot store. The price does in fact reflect $0, so, somebody took the initiative to correct that recently. :)
When I start dovecot, there is a mismatch between ABI versions when the plugin is loaded:
Aug 27 09:22:11 local dovecot: imap: Error: Module is for different ABI version 2.2.ABIv13.2(2.2.13) (we have 2.2.ABIv13(2.2.13.8)): /usr/lib/dovecot/modules/lib90_antispam_plugin.so Aug 27 09:22:11 local dovecot: imap: Fatal: Couldn't load required plugins
In retrospect, this is probably what has been happening all along (with dovecot-deliver exiting with code 134); previously, I failed to notice the message about the ABI mismatch immediately after Dovecot is started.
Does this mean that the plugin source code has not been updated to function with dovecot-2.2.13.8? If so, would I need to downgrade the dovecot version to 2.2.13 for the plugin to work? Or should this message be interpreted in some other way?
For the sake of thoroughness, and to ensure that I didn't botch the procedure in any way, I have included at the bottom of this message the exact steps that I took.
Thank you for any help,
-Ben
1.) Added to /etc/apt/sources.list:
deb https://user:pass@apt.dovecot.fi/ubuntu/precise/2.2 precise main
2.) Installed dovecot from EE package repository:
# apt-get remove dovecot
# apt-get update
# apt-get install dovecot-ee-core dovecot-ee-imapd dovecot-ee-pop3d dovecot-ee-sieve dovecot-ee-managesieved dovecot-ee-mysql dovecot-ee-dbg dovecot-ee-dev
3.) Checked-out latest Antispam plugin source:
# hg clone http://hg.dovecot.org/dovecot-antispam-plugin
4.) Built and installed plugin:
# cd dovecot-antispam-plugin
# sh ./autogen.sh *info* running aclocal (-I m4) *info* running autoheader *info* running autoconf
# ./configure --with-dovecot=/usr/lib/dovecot checking for tput... /usr/bin/tput checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking whether we need an implib... no checking for shared library system... GNU checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking how to run the C preprocessor... gcc -E checking whether ln -s works... yes checking for a BSD-compatible install... /usr/bin/install -c checking for "/usr/lib/dovecot/dovecot-config"... /usr/lib/dovecot/dovecot-config checking whether OS supports plugin dependencies... yes checking for dovecot tree type... installed configure: touching .deps files configure: creating ./config.status config.status: creating buildsys.mk config.status: creating extra.mk config.status: creating config.h
# make Entering directory src. Successfully compiled antispam-plugin.c (plugin). Successfully compiled aux.c (plugin). Successfully compiled backends.c (plugin). crm114.c: In function ‘call_reaver’: crm114.c:73:7: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result] write(pipes[1], signature_hdr, strlen(signature_hdr)); ^ crm114.c:74:7: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result] write(pipes[1], ": ", 2); ^ crm114.c:75:7: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result] write(pipes[1], signature, strlen(signature)); ^ crm114.c:76:7: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result] write(pipes[1], "\r\n\r\n", 4); ^ Successfully compiled crm114.c (plugin). Successfully compiled dspam.c (plugin). Successfully compiled mailbox.c (plugin). Successfully compiled mailtrain.c (plugin). Successfully compiled signature-log.c (plugin). Successfully compiled signature.c (plugin). Successfully compiled spool2dir.c (plugin). Successfully compiled user.c (plugin). Successfully linked lib90_antispam_plugin.so. Leaving directory src. Entering directory doc. Successfully compiled dovecot-antispam.7.txt. Leaving directory doc.
# make install Entering directory src. Leaving directory src. Entering directory doc. Leaving directory doc. Entering directory src. Successfully installed lib90_antispam_plugin.so. Leaving directory src. Entering directory doc. Successfully installed dovecot-antispam.7. Leaving directory doc.
# service dovecot restart
# tail -f -n 50 /var/log/mail.log Aug 27 09:22:11 localhost dovecot: imap: Error: Module is for different ABI version 2.2.ABIv13.2(2.2.13) (we have 2.2.ABIv13(2.2.13.8)): /usr/lib/dovecot/modules/lib90_antispam_plugin.so Aug 27 09:22:11 localhost dovecot: imap: Fatal: Couldn't load required plugins