Autor: Jeremy Harris Data: A: exim-users Assumpte: Re: [exim] [Pkg-exim4-users] rspamd spam scanning fails after
upgrade to 4.88 bpo on jessie
On 25/01/17 21:09, Thomas Hager wrote: > So I dug deeper and found commit fb05276a ("TCP Fast Open").
>
> If TCP_FASTOPEN is defined in netinet/tcp.h, Exim 4.88 uses
> MSG_FASTOPEN for STREAM sockets. If TFO is not available, the code in
> ip.c catches an EOPNOTSUPP error in the call to sendto() and falls back
> to connect(). On jessie, sendto() doesn't raise an EOPNOTSUPP error
> when Exim tries to connect to rspamd with MSG_FASTOPEN, but raises an
> EPIPE error instead.
>
> This error is not caught and Exim is unable to connect to the rspamd
> process running on my box.
>
> A small patch fixed this error (see below), but I don't know if this is
> the best approach. Maybe Exim should verify if TFO is available and
> enabled before using TFO at all on a Linux server.
That's quite annoying. We need a way of determining support, preferably
one that is vaguely portable (which looking for
/proc/sys/net/ipv4/tcp_fastopen probably is not).
I wonder if trying to use TCP_FASTOPEN in setsockopt reliably fails
on jessie? And, presumably, works on something newer (it works in
Fedora 24 at current update, and on Centos 7).
--
Cheers,
Jeremy