]> granicus.if.org Git - pdns/commitdiff
rec: Ensure we don't hammer the RPZ master server
authorPieter Lexis <pieter.lexis@powerdns.com>
Wed, 21 Feb 2018 16:37:02 +0000 (17:37 +0100)
committerPieter Lexis <pieter.lexis@powerdns.com>
Wed, 21 Feb 2018 16:37:02 +0000 (17:37 +0100)
Before, if the `refresh` was not set in the lua-config file's
`rpzMaster` statement, we would keep trying to get delta's the whole
time. This commit ensures we update the zone's refresh config to the
value from the AXFR'd zone (if not set in the config).

pdns/reczones.cc

index b4c84a95fe2cf4c23fff1abdd43286979099062c..3198f80992f714c7254f7e4e5d192c5ce3ad1d9b 100644 (file)
@@ -327,8 +327,8 @@ void RPZIXFRTracker(const ComboAddress& master, boost::optional<DNSFilterEngine:
   while (!sr) {
     try {
       sr=loadRPZFromServer(master, zoneName, zone, defpol, maxTTL, tt, maxReceivedBytes, localAddress);
-      if(refresh) {
-        sr->d_st.refresh=refresh;
+      if(refresh == 0) {
+        refresh = sr->d_st.refresh;
       }
       zone->setSerial(sr->d_st.serial);
     }
@@ -340,7 +340,11 @@ void RPZIXFRTracker(const ComboAddress& master, boost::optional<DNSFilterEngine:
     }
 
     if (!sr) {
-      sleep(refresh);
+      if (refresh == 0) {
+        sleep(10);
+      } else {
+        sleep(refresh);
+      }
     }
   }