pigeonhole vnd.dovecot.pipe

Dan Ragle dovecot at biblestuph.com
Sat Feb 20 18:59:19 UTC 2016


Ok, I have pigeonhole setup on my CentOS 6 box and it's working great; 
the filters are doing almost everything I want them to.

I now find that I'd like to add piping support to pigeonhole scripts, 
and as I am running CentOS 6 (Dovecot 2.0.9, with pigeonhole 0.2.2) I'm 
trying to get the vnd.dovecot.pipe extension working. Couldn't find that 
anywhere in the repos, so went to the source as explained on this page:

http://wiki2.dovecot.org/Pigeonhole/Sieve/Plugins/Pipe

But I'm not able to get it to work. Here's what I've tried so far:

1.) Installed dovecot-devel-2.0.9 (yum install dovecot-devel)
2.) Downloaded the sieve-pipe source (hg clone 
http://hg.rename-it.nl/pigeonhole-0.2-sieve-pipe/)
3.) In the new sieve-pipe directory:
     a.) ./autogen.sh (appeared to go smoothly)
     b.) ./configure --with-dovecot=/usr/lib64/dovecot 
--with-pigeonhole=/usr/include/dovecot/sieve (again, ok)
     c.) make
         This one failed, complaining that sieve-ext-copy.h was
         unavailable. Found a copy of the file online at
 
http://www.opensource.apple.com/source/dovecot/dovecot-239/dovecot-pigeonhole/src/lib-sieve/plugins/copy/sieve-ext-copy.h
         copied it into /usr/include/dovecot/sieve/ and reran the
         make, this time no errors.
     d.) make install (no errors)
4.) Added the sieve_plugins = sieve_pipe config into 90-sieve.conf
5.) Restarted dovecot. It complained thus:
     Starting Dovecot Imap: managesieve: Fatal: 
opendir(/usr/lib64/dovecot/sieve) failed: No such file or directory
     doveconf: Error: managesieve-login: dump-capability process returned 89
6.) Looking through the make install output, I noticed that the new libs 
had been installed in /usr/local/lib/dovecot/sieve. So,
     cd /usr/lib64/dovecot
     ln -s /usr/local/lib/dovecot/sieve sieve
7.) Restarted dovecot. This time a different complaint:
     Starting Dovecot Imap: managesieve: Error: 
dlopen(/usr/lib64/dovecot/sieve/lib90_sieve_pipe_plugin.so) failed: 
/usr/lib64/dovecot/sieve/lib90_sieve_pipe_plugin.so: undefined symbol: 
uni_utf8_to_ucs4_n
managesieve: Fatal: Couldn't load required plugins
     doveconf: Error: managesieve-login: dump-capability process returned 89

And now without digging into code I'm stuck. I'm guessing I have some 
incompatibility issues. Do I need to be running the 32bit dovecot for 
this to work? Or is there some other mismatch or misstep I've made along 
the way? Was I correct in assuming the necessary 
dovecot-pigeonhole-devel stuph came with the dovecot-devel install? 
There is no separate dovecot-pigeonhole-devel package in the main repos 
(the dovecot-pigeonhole package I have loaded is 2.0.9, looks like it 
was just named to match the corresponding dovecot package. The version 
appears to be 0.2.2, as it is adding a X-Sieve: Pigeonhole Sieve 0.2.2 
header into redirected messages).

Thanks!

Dan


More information about the dovecot mailing list