]> git.ipfire.org Git - thirdparty/knot-dns.git/commitdiff
refresh: with pinned master, refresh the zone when the tolerance period times out
authorLibor Peltan <libor.peltan@nic.cz>
Tue, 12 Aug 2025 15:36:34 +0000 (17:36 +0200)
committerDavid Vašek <david.vasek@nic.cz>
Fri, 31 Oct 2025 09:57:27 +0000 (10:57 +0100)
src/knot/events/handlers/refresh.c

index 583819f7075378ea03bb4e9c6afc1de7f84717ce..544fbe9c9fd57df80f5dbc157f88333fd0611091 100644 (file)
@@ -1088,6 +1088,10 @@ static bool wait4pinned_master(struct refresh_data *data)
        } else if (data->zone->timers.master_pin_hit + data->fallback->pin_tol <= now) {
                data->xfr_type = XFR_TYPE_AXFR;
                return false;
+       // Replan the refresh to the moment when the pin tolerance times out.
+       } else {
+               zone_events_schedule_at(data->zone, ZONE_EVENT_REFRESH,
+                                       data->zone->timers.master_pin_hit + data->fallback->pin_tol);
        }
 
        return true;