TFO: Support compilation on systems which define TCP_FASTOPEN but not MSG_FASTOPEN
authorJeremy Harris <jgh146exb@wizmail.org>
Sat, 22 Oct 2016 21:40:39 +0000 (22:40 +0100)
committerJeremy Harris <jgh146exb@wizmail.org>
Sat, 22 Oct 2016 22:06:30 +0000 (23:06 +0100)
RHEL 7.0 does that, oddly

src/OS/os.h-Linux
src/src/ip.c

index 6400e79..510865c 100644 (file)
@@ -69,5 +69,9 @@ then change the 0 to 1 in the next block. */
 # define EXIM_HAVE_OPENAT
 #endif
 
+#if defined(TCP_FASTOPEN) && !defined(MSG_FASTOPEN)
+# define MSG_FASTOPEN 0x20000000
+#endif
+
 
 /* End */
index b744f5d..a8230a1 100644 (file)
@@ -224,7 +224,7 @@ callout_address = string_sprintf("[%s]:%d", address, port);
 sigalrm_seen = FALSE;
 if (timeout > 0) alarm(timeout);
 
-#ifdef TCP_FASTOPEN
+#if defined(TCP_FASTOPEN) && defined(MSG_FASTOPEN)
 /* TCP Fast Open, if the system has a cookie from a previous call to
 this peer, can send data in the SYN packet.  The peer can send data
 before it gets our ACK of its SYN,ACK - the latter is useful for