MacOS: probe for a usable TFO system configuration
authorJeremy Harris <jgh146exb@wizmail.org>
Tue, 23 Oct 2018 21:23:56 +0000 (22:23 +0100)
committerJeremy Harris <jgh146exb@wizmail.org>
Tue, 23 Oct 2018 21:24:56 +0000 (22:24 +0100)
src/OS/os.h-Darwin
src/src/daemon.c

index b597f9da30a965d330311e69bb4175e520e9cb94..d0a1a092f8e2bde642238ccbf31dd8b0326de3fc 100644 (file)
@@ -53,4 +53,10 @@ in "man 2 getgroups". */
 #define _DARWIN_UNLIMITED_GETGROUPS
 #define EXIM_GROUPLIST_SIZE 64
 
+/* TCP_FASTOPEN support.  For the moment, claim there is none
+(the probe fails; unsure why).
+Sometime in the future need to investigate connectex(). */
+
+#define EXIM_TFO_PROBE
+
 /* End */
index d69a7db3d75db84b64737058e39a4b4b80dd9a57..ee9ddcc4f2b6ec8127e182318c96ce8a6d35eb08 100644 (file)
@@ -1459,7 +1459,8 @@ if (f.daemon_listen && !f.inetd_wait_mode)
         debug_printf("listening on %s port %d\n", ipa->address, ipa->port);
 
 #ifdef TCP_FASTOPEN
-    if (setsockopt(listen_sockets[sk], IPPROTO_TCP, TCP_FASTOPEN,
+    if (  f.tcp_fastopen_ok
+       && setsockopt(listen_sockets[sk], IPPROTO_TCP, TCP_FASTOPEN,
                    &smtp_connect_backlog, sizeof(smtp_connect_backlog)))
       {
       DEBUG(D_any) debug_printf("setsockopt FASTOPEN: %s\n", strerror(errno));