The detection method depends on a getsockopt struct member apparently
not supported by FreeBSD (at least). Other platforms status unknown.
12. TCP Fast Open logging. As a server, logs when the SMTP banner was sent
while still in SYN_RECV state; as a client logs when the connection
- is opened with a TFO cookie.
+ is opened with a TFO cookie. Support varies between platforms
+ (Linux does both. FreeBSD server only, others unknown).
Version 4.89
# define EXIM_HAVE_OPENAT
#endif
+/* TCP Fast Open support */
+
#include <netinet/tcp.h> /* for TCP_FASTOPEN */
#include <sys/socket.h> /* for MSG_FASTOPEN */
#if defined(TCP_FASTOPEN) && !defined(MSG_FASTOPEN)
# define MSG_FASTOPEN 0x20000000
#endif
+#define EXIM_HAVE_TCPI_UNACKED
/* End */
static void
tfo_out_check(int sock)
{
-# ifdef TCP_INFO
+# if defined(TCP_INFO) && defined(EXIM_HAVE_TCPI_UNACKED)
struct tcp_info tinfo;
socklen_t len = sizeof(tinfo);