sieve_extprograms - double linebreaks at filtering

Stephan Bosch stephan at rename-it.nl
Mon Feb 29 12:35:46 UTC 2016



Op 29-2-2016 om 13:11 schreef Hajo Locke:
> 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?

No wonder, since there is no such setting.

Settings that do exist are: "sieve_pipe_input_eol", 
"sieve_execute_input_eol", and "sieve_filter_input_eol".

Regards,

Stephan.



More information about the dovecot mailing list