]> granicus.if.org Git - pdns/commitdiff
rec: Fix AXFR timeout nits
authorPieter Lexis <pieter.lexis@powerdns.com>
Thu, 22 Feb 2018 09:34:56 +0000 (10:34 +0100)
committerPieter Lexis <pieter.lexis@powerdns.com>
Thu, 22 Feb 2018 09:34:56 +0000 (10:34 +0100)
pdns/rpzloader.cc

index b717b753499d715b50c69bf16c5f722590c499a2..71370e14525bbb18c3eb63d7e0784dea66933a66 100644 (file)
@@ -189,8 +189,8 @@ shared_ptr<SOARecordContent> loadRPZFromServer(const ComboAddress& master, const
   Resolver::res_t nop;
   vector<DNSRecord> chunk;
   time_t last=0;
-  time_t axfrStart = time(0);
-  time_t axfrNow = time(0);
+  time_t axfrStart = time(nullptr);
+  time_t axfrNow = time(nullptr);
   shared_ptr<SOARecordContent> sr;
   while(axfr.getChunk(nop, &chunk, (axfrStart + axfrTimeout - axfrNow))) {
     for(auto& dr : chunk) {
@@ -208,7 +208,7 @@ shared_ptr<SOARecordContent> loadRPZFromServer(const ComboAddress& master, const
       nrecords++;
     } 
     axfrNow = time(nullptr);
-    if (axfrNow - axfrStart > axfrTimeout) {
+    if (axfrNow < axfrStart || axfrNow - axfrStart > axfrTimeout) {
       throw PDNSException("Total AXFR time exceeded!");
     }
     if(last != time(0)) {