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 6e78094ebd)
This commit is contained in:
Ondřej Surý 2026-03-19 05:06:47 +01:00
parent 4f54328eaf
commit abe201bac3

View file

@ -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) {