From: Pieter Lexis Date: Thu, 22 Feb 2018 09:34:56 +0000 (+0100) Subject: rec: Fix AXFR timeout nits X-Git-Tag: rec-4.1.2~6^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=699ba3ea1bedfba099e6fbfee24c3d27bd5dff1c;p=thirdparty%2Fpdns.git rec: Fix AXFR timeout nits (cherry picked from commit cb6218d2b539eb225c5d1ec88227fa7136dbcc94) --- diff --git a/pdns/rpzloader.cc b/pdns/rpzloader.cc index 7bc08cf464..8d18988869 100644 --- a/pdns/rpzloader.cc +++ b/pdns/rpzloader.cc @@ -189,8 +189,8 @@ shared_ptr loadRPZFromServer(const ComboAddress& master, const Resolver::res_t nop; vector 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 sr; while(axfr.getChunk(nop, &chunk, (axfrStart + axfrTimeout - axfrNow))) { for(auto& dr : chunk) { @@ -208,7 +208,7 @@ shared_ptr 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)) {