From: Remi Gacogne Date: Fri, 21 Oct 2022 09:07:20 +0000 (+0200) Subject: dnsdist: Fix comparison of DNS serials X-Git-Tag: dnsdist-1.8.0-rc1~150^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8441e20e9547b1caaccf5831b3c666f8f824d40e;p=thirdparty%2Fpdns.git dnsdist: Fix comparison of DNS serials --- diff --git a/pdns/dnsdistdist/dnsdist-tcp-downstream.cc b/pdns/dnsdistdist/dnsdist-tcp-downstream.cc index efe997f33d..96758efafe 100644 --- a/pdns/dnsdistdist/dnsdist-tcp-downstream.cc +++ b/pdns/dnsdistdist/dnsdist-tcp-downstream.cc @@ -803,7 +803,7 @@ bool TCPConnectionToBackend::isXFRFinished(const TCPResponse& response, TCPQuery if (query.d_xfrMasterSerial == 0) { // store the first SOA in our client's connection metadata query.d_xfrMasterSerial = serial; - if (query.d_idstate.qtype == QType::IXFR && query.d_xfrMasterSerial <= query.d_ixfrQuerySerial) { + if (query.d_idstate.qtype == QType::IXFR && (query.d_xfrMasterSerial == query.d_ixfrQuerySerial || rfc1982LessThan(query.d_xfrMasterSerial, query.d_ixfrQuerySerial))) { /* This is the first message with a master SOA: RFC 1995 Section 2: If an IXFR query with the same or newer version number