sieve_extprograms - double linebreaks at filtering

Hajo Locke Hajo.Locke at gmx.de
Mon Feb 29 12:11:06 UTC 2016


Hello,


Am 09.09.2015 um 13:30 schrieb Stephan Bosch:
>
>
> Op 9-9-2015 om 12:37 schreef Hajo Locke:
>> Hello,
>>
>>
>> Am 09.09.2015 um 11:26 schrieb Stephan Bosch:
>>>
>>>
>>> Op 8-9-2015 om 13:10 schreef Hajo Locke:
>>>> Hello List,
>>>>
>>>> i have a problem when using sieve-plugin sieve_extprograms. I use 
>>>> dovecot 2.2.18 and bundled pigeonhole 0.4.6 (Ubuntu 14.04.3 LTS)
>>>>
>>>> i have enabled sieve_extprograms and vnd.dovecot.filter to send 
>>>> mail to user-defined script and get changed content back.
>>>> My script previously was used with procmail and is working fine.
>>>> Using same script with vnd.dovecot.filter leads to odd behavior.
>>>> I already found out the problem itself:
>>>> By sending Mailcontent to filter-programm it seems that 
>>>> sieve/sieve_extprograms is adding additional linebreaks to every 
>>>> line of complete mail.
>>>> Please see this image to clarify: 
>>>> http://r31i.imgup.net/header8d56.jpg?l=de
>>>> Every lineending got additional windows-lineendings, which leads to 
>>>> problems with processing scripts.
>>>> Piping mails by procmail to same script is working without 
>>>> problems, because this mails are recieved "clean" without the "^M".
>>>
>>> Well, the specified format for an internet message like e-mail has 
>>> CRLF line endings everywhere. That's why this happens now:
>>>
>>> http://hg.rename-it.nl/dovecot-2.2-pigeonhole/file/5df1b6d72ec2/src/plugins/sieve-extprograms/sieve-extprograms-common.c#l604 
>>>
>>>
>>> But maybe that is not such a good idea in a UNIX environment. I 
>>> think I can just make it configurable.
>>
>> ahh, there it is. i think just commenting out this line in my sources 
>> will result in some errors. Is there a possibility for me to make a 
>> quickfix in my sources? (use other function or something like that)
>
> You can replace it with the i_stream_create_lf() function, which 
> enforces LF rather than CR+LF, which would be what you need.
Unfortunately i have to continue this issue.
During my last updates this problem is occured again. This are my versions:
# 2.2.21 (): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.11 (6ddf62b87f60+)
# OS: Linux 3.13.0-77-generic x86_64 Ubuntu 14.04.4 LTS

I tried to configure the linebreaks in my plugin section of 
/etc/dovecot/dovecot.conf by:
sieve_extprograms_input_eol = lf

But it seems to have no effect. Is this configured the right way or i 
have to use 0.4.12?
Currently it looks like this:

plugin {
   sieve = ~/sieve/.dovecot.sieve
   sieve_before = ~/sieve_before/.dovecot_before.sieve
   sieve_after = ~/sieve_after/.dovecot_after.sieve
   sieve_plugins = sieve_extprograms
   sieve_extensions = +vnd.dovecot.pipe +vnd.dovecot.filter 
+vnd.dovecot.execute +editheader
   sieve_pipe_bin_dir = /usr/local/bin/
   sieve_filter_bin_dir = /usr/local/bin/
   sieve_dir = ~/sieve
   sieve_global_dir = /etc/dovecot/sieve/
   sieve_extprograms_input_eol = lf

}


>
> Regards,
>
> Stephan.
>
>
Thanks,
Hajo



More information about the dovecot mailing list