From da1a60591305150f386df5d21664c46e87b2ae3b Mon Sep 17 00:00:00 2001 From: Aki Tuomi Date: Wed, 2 Dec 2015 11:20:24 +0200 Subject: [PATCH] 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. --- pdns/slavecommunicator.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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); } -- 2.47.2