diff options
author | Jeremy Harris <jgh146exb@wizmail.org> | 2019-12-08 23:36:01 +0000 |
---|---|---|
committer | Jeremy Harris <jgh146exb@wizmail.org> | 2019-12-08 23:36:01 +0000 |
commit | 1d717e1c110562fd6bf28478c79f180cafeba776 (patch) | |
tree | cefecf48467c646663f9af1048239b65d727571a /src/OS | |
parent | a2ce7b0f5da40b6a7a3094f75b156eede00539c0 (diff) | |
parent | 277b99794bf90e4a64b4adee88c08bed417bc5ee (diff) |
Merge branch '4.next'
Diffstat (limited to 'src/OS')
-rw-r--r-- | src/OS/Makefile-Base | 2 | ||||
-rw-r--r-- | src/OS/Makefile-GNU (renamed from src/OS/unsupported/Makefile-GNU) | 0 | ||||
-rw-r--r-- | src/OS/os.c-FreeBSD | 23 | ||||
-rw-r--r-- | src/OS/os.c-GNU (renamed from src/OS/unsupported/os.c-GNU) | 0 | ||||
-rw-r--r-- | src/OS/os.h-FreeBSD | 8 | ||||
-rw-r--r-- | src/OS/os.h-GNU (renamed from src/OS/unsupported/os.h-GNU) | 0 |
6 files changed, 25 insertions, 8 deletions
diff --git a/src/OS/Makefile-Base b/src/OS/Makefile-Base index 1f42e0ec3..36af8308d 100644 --- a/src/OS/Makefile-Base +++ b/src/OS/Makefile-Base @@ -82,6 +82,7 @@ Makefile: ../OS/Makefile-Base ../OS/Makefile-Default \ os.h: $(SCRIPTS)/Configure-os.h \ $(O)/os.h-Darwin \ $(O)/os.h-FreeBSD \ + $(O)/os.h-GNU \ $(O)/os.h-Linux \ $(O)/os.h-OpenBSD \ $(O)/os.h-SunOS5 @@ -92,6 +93,7 @@ os.h: $(SCRIPTS)/Configure-os.h \ os.c: ../src/os.c \ $(SCRIPTS)/Configure-os.c \ $(O)/os.c-FreeBSD \ + $(O)/os.c-GNU \ $(O)/os.c-Linux \ $(O)/os.c-SunOS5 $(SHELL) $(SCRIPTS)/Configure-os.c diff --git a/src/OS/unsupported/Makefile-GNU b/src/OS/Makefile-GNU index e46434187..e46434187 100644 --- a/src/OS/unsupported/Makefile-GNU +++ b/src/OS/Makefile-GNU diff --git a/src/OS/os.c-FreeBSD b/src/OS/os.c-FreeBSD index 4cc46c752..c0fd48df8 100644 --- a/src/OS/os.c-FreeBSD +++ b/src/OS/os.c-FreeBSD @@ -10,7 +10,7 @@ src/os.c file. */ /************* -* Sendfile * +Sendfile shim *************/ ssize_t @@ -23,4 +23,25 @@ if (sendfile(in, out, loff, cnt, NULL, &written, 0) < 0) return (ssize_t)-1; return (ssize_t)written; } +/************************************************* +TCP Fast Open: check that the ioctl is accepted +*************************************************/ + +#ifndef COMPILE_UTILITY +void +tfo_probe(void) +{ +# ifdef TCP_FASTOPEN +int sock; + +if ( (sock = socket(AF_INET, SOCK_STREAM, 0)) >= 0 + && setsockopt(sock, IPPROTO_TCP, TCP_FASTOPEN, &on, sizeof(on) >= 0) + ) + f.tcp_fastopen_ok = TRUE; +close(sock); +# endif +} +#endif + + /* End of os.c-Linux */ diff --git a/src/OS/unsupported/os.c-GNU b/src/OS/os.c-GNU index e5d6ff66c..e5d6ff66c 100644 --- a/src/OS/unsupported/os.c-GNU +++ b/src/OS/os.c-GNU diff --git a/src/OS/os.h-FreeBSD b/src/OS/os.h-FreeBSD index 4f1c616f0..a15d47508 100644 --- a/src/OS/os.h-FreeBSD +++ b/src/OS/os.h-FreeBSD @@ -57,15 +57,9 @@ extern ssize_t os_sendfile(int, int, off_t *, size_t); /*******************/ -/* TCP_FASTOPEN support. There does not seems to be a -MSG_FASTOPEN defined yet... */ #define EXIM_TFO_PROBE +#define EXIM_TFO_FREEBSD -#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 /* for TCP state-variable values, for TFO logging */ #include <netinet/tcp_fsm.h> diff --git a/src/OS/unsupported/os.h-GNU b/src/OS/os.h-GNU index 44993163d..44993163d 100644 --- a/src/OS/unsupported/os.h-GNU +++ b/src/OS/os.h-GNU |