Failed running extprograms execute via socket - fatal recv(MSG_PEEK) failed disconnected

Stephan Bosch stephan at rename-it.nl
Wed May 6 06:45:57 UTC 2015


On 5/5/2015 9:28 PM, E.B. wrote:
>> I wonder why my test didn't fail.
>>
>> The extent of this bug is limited to using execute as a command (as
>> opposed to using it as a test in an `if' statement) and not providing it
>> with any input.
> That's not matching to my environment. My script is calling execute
> within a if block but not as a test but it IS providing input (but not get
> any output if that matters)
>
> if ...
> {
>    execute :input "test input" "test";
> }

Oh right, it happens when the script is not using the output of the
external program. If execute is not a test and the output from the
program is not used, there is no input stream to be read from the remote
service. Discussing what is input and output in this context is highly
confusing. :)

> Only thing still unsolved is my other thread don't know why the exectued
> script has no filesystem access? (like "touch /tmp/test" ignored no error)

So far, I still haven't seen your full config from `dovecot -n` output.

> Also is the only different between direct and socket execute that with
> socket I can run the script with more restricted owner and permissions?
> Are there other differences?

Either side could be run in a different chroot, if any.

Some of the environment variables such as SENDER and RECIPIENT are not
available in the service (that is a TODO item).

Regards,

Stephan.



More information about the dovecot mailing list