]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Fix comparison of DNS serials 12100/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Fri, 21 Oct 2022 09:07:20 +0000 (11:07 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Fri, 21 Oct 2022 09:07:20 +0000 (11:07 +0200)
pdns/dnsdistdist/dnsdist-tcp-downstream.cc

index efe997f33d73a4a3d8bd75f626c17ce3e8ac96b8..96758efafef43b36c79aef8b472e0c58e1fe21ac 100644 (file)
@@ -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