From abe201bac3ca520aefbafbf9c61a3ecfd5aba672 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Thu, 19 Mar 2026 05:06:47 +0100 Subject: [PATCH] Do not reuse shared TCP dispatches for zone transfers Zone transfers (XFRIN) need a dedicated TCP connection because they are long-lived and stream the entire zone. (cherry picked from commit 6e78094ebd8ebc31b71d62af6671d600aecb68e3) --- lib/dns/dispatch.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/dns/dispatch.c b/lib/dns/dispatch.c index 71613faa3f0..a08a9f0b43a 100644 --- a/lib/dns/dispatch.c +++ b/lib/dns/dispatch.c @@ -1302,7 +1302,9 @@ dns_dispatch_createtcp(dns_dispatchmgr_t *mgr, const isc_sockaddr_t *localaddr, isc_result_t result; - if ((options & DNS_DISPATCHOPT_FIXEDID) == 0) { + if ((options & DNS_DISPATCHOPT_FIXEDID) == 0 && + disptype != DNS_DISPATCHTYPE_XFRIN) + { result = dispatch_gettcp(mgr, localaddr, destaddr, transport, disptype, dispp); if (result == ISC_R_SUCCESS) { -- 2.47.3