From: Aki Tuomi Date: Wed, 2 Dec 2015 09:20:24 +0000 (+0200) Subject: When serial is 0, assume zone not present X-Git-Tag: dnsdist-1.0.0-alpha1~15^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=da1a60591305150f386df5d21664c46e87b2ae3b;p=thirdparty%2Fpdns.git When serial is 0, assume zone not present Previously, if our serial was 0, and new serial was bigger than 2^31, then we assumed that the old serial was larger than new serial, preventing zone from being transferred. After this change, 0 is treated specially in the comparison. --- diff --git a/pdns/slavecommunicator.cc b/pdns/slavecommunicator.cc index 40dd15948c..0e261a8a9f 100644 --- a/pdns/slavecommunicator.cc +++ b/pdns/slavecommunicator.cc @@ -648,7 +648,7 @@ void CommunicatorClass::slaveRefresh(PacketHandler *P) continue; uint32_t theirserial = ssr.d_freshness[di.id].theirSerial, ourserial = di.serial; - if(rfc1982LessThan(theirserial, ourserial)) { + if(rfc1982LessThan(theirserial, ourserial) && ourserial != 0) { L< their serial "<< theirserial << endl; di.backend->setFresh(di.id); }