Hi list,
Enabling plugins returns fatal errors like the following: Jan 16 00:28:11 norman dovecot: deliver(jman@zultron.com): Fatal: Plugin sieve_plugin not found from directory /usr/lib64/dovecot/lda
Same errors for loading plugins in the "protocol imap" section of dovecot.conf (tested trash_plugin), same errors for loading other plugins (tested virtual_plugin), same errors for different spellings of "mail_plugins" (lib90_sieve_plugin.so, sieve_plugin.so, sieve_plugin).
The directory must be correct, because if lib90_sieve_plugin.so is copied to sieve_plugin.so: Jan 16 00:33:16 norman dovecot: deliver(jman@zultron.com): Fatal: Multiple files for module sieve_plugin: /usr/lib64/dovecot/lda/lib90_sieve_plugin.so, /usr/lib64/dovecot/lda/sieve_plugin.so
Invoking the deliver process with strace showed /usr/lib64/dovecot/lda being opened, fstated, and getdents returned the expected results, including {d_ino=67593, d_off=608760247, d_reclen=40, d_name="lib90_sieve_plugin.so"}
After this, the plugin (nor any other file, aside from /etc/localtime) was not opened, the above error was sent, and deliver exited.
The RPM was recompiled for CentOS 5.1 from an ArkLinux Dovecot 1.2 SRPM; the specfile appears to be of the same lineage as the Rawhide Dovecot 1.1 SRPM, and it's quite straightforward. I did add the ManageSieve patch to it, and otherwise no noteworthy changes.
Others on the list who had this problem usually suffered from misspellings in mail_plugins or incorrect mail_plugin_dir; the "multiple files" error seems to eliminate this as a possibility. One other fellow had this problem, and fixed it with a recompile; however, since this is an SRPM, there's not much room for random changes in the process, and recompiling didn't fix the problem.
Without dovecot plugins enabled, dovecot and deliver are working well in a postfix/LDAP/virtual domains configuration.
Below is the dovecot -n output.
Thanks
John
# 1.2.alpha5: /etc/dovecot.conf # OS: Linux 2.6.18-53.1.13.el5xen x86_64 CentOS release 5 (Final) ext3 protocols: imaps ssl_ca_file: /etc/pki/tls/cert.pem ssl_cert_file: /etc/pki/tls/certs/localhost.crt ssl_key_file: /etc/pki/tls/private/localhost.key disable_plaintext_auth: yes login_dir: /var/run/dovecot/login login_executable: /usr/libexec/dovecot/imap-login valid_chroot_dirs: /v/mail max_mail_processes: 10 first_valid_uid: 101 last_valid_uid: 101 first_valid_gid: 12 last_valid_gid: 1000 mail_access_groups: mail mail_uid: vmail mail_gid: mail mail_location: maildir:/v/mail/%n/mail auth default_with_listener: user: doveauth verbose: yes passdb: driver: ldap args: /etc/dovecot-ldap.conf userdb: driver: ldap args: /etc/dovecot-ldap.conf socket: type: listen master: path: /var/run/dovecot/auth-master mode: 384 user: vmail group: mail plugin: sieve: dovecot.sieve
from dovecot.conf: protocol lda { postmaster_address = postmaster@zultron.com mail_plugins = sieve_plugin mail_plugin_dir = /usr/lib64/dovecot/lda sendmail_path = /usr/lib/sendmail.postfix auth_socket_path = /var/run/dovecot/auth-master }