Camel: "Pipe to program" filter does not work
In Evolution, the filter type "pipe to program" does not work properly. The filter program gets SIGPIPEd as soon as it tries to write its output.
The issue appears to be that after writing the email to the filter program, Evolution will call camel_stream_flush
(see https://gitlab.gnome.org/GNOME/evolution-data-server/-/blob/master/src/camel/camel-filter-driver.c#L1141) which in turn causes fsync
to be called on the output pipe. This fails with error EINVAL
, so Evolution enters the error path and closes communication with the filter program.
Edited by Milan Crha