From 7f6827aaaedb5ad3a70740acc96b194882c04595 Mon Sep 17 00:00:00 2001 From: Wouter Wijngaards Date: Mon, 24 Jul 2017 09:14:42 +0000 Subject: [PATCH] - squelch TCP fast open error on FreeBSD when kernel has it disabled, unless verbosity is high. git-svn-id: file:///svn/unbound/trunk@4279 be551aaa-1e26-0410-a405-d3ace91eadb9 --- doc/Changelog | 2 ++ services/listen_dnsport.c | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/doc/Changelog b/doc/Changelog index 80a0d8aab..fe65b05c2 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -4,6 +4,8 @@ - annotate case statement fallthrough for gcc 7.1.1. - flex output from flex 2.6.1. - snprintf of thread number does not warn about truncated string. + - squelch TCP fast open error on FreeBSD when kernel has it disabled, + unless verbosity is high. 17 July 2017: Wouter - Fix #1350: make cachedb backend configurable (from JINMEI Tatuya). diff --git a/services/listen_dnsport.c b/services/listen_dnsport.c index 0341f3067..3b53676d0 100644 --- a/services/listen_dnsport.c +++ b/services/listen_dnsport.c @@ -792,7 +792,12 @@ create_tcp_accept_sock(struct addrinfo *addr, int v6only, int* noproto, #endif if ((setsockopt(s, IPPROTO_TCP, TCP_FASTOPEN, &qlen, sizeof(qlen))) == -1 ) { - log_err("Setting TCP Fast Open as server failed: %s", strerror(errno)); +#ifdef ENOPROTOOPT + /* squelch ENOPROTOOPT: freebsd server mode with kernel support + disabled, except when verbosity enabled for debugging */ + if(errno != ENOPROTOOPT || verbosity >= 3) +#endif + log_err("Setting TCP Fast Open as server failed: %s", strerror(errno)); } #endif return s;