*/
enum timer_id {
TIMER_INVALID = 0,
- TIMER_SOA_EXPIRE = 0x80, // DEPRECATED
TIMER_LAST_FLUSH = 0x81,
- TIMER_LAST_REFRESH = 0x82, // DEPRECATED
TIMER_NEXT_REFRESH = 0x83,
TIMER_NEXT_DS_CHECK = 0x85,
TIMER_NEXT_DS_PUSH = 0x86,
}
uint64_t value = wire_ctx_read_u64(&wire);
switch (id) {
- case TIMER_SOA_EXPIRE: timers.soa_expire = value; break;
case TIMER_LAST_FLUSH: timers.last_flush = value; break;
- case TIMER_LAST_REFRESH: timers.last_refresh = value; break;
case TIMER_NEXT_REFRESH: timers.next_refresh = value; break;
case TIMER_LAST_REFR_OK: timers.last_refresh_ok = value; break;
case TIMER_LAST_NOTIFIED: timers.last_notified_serial = value; break;
}
knot_lmdb_abort(&txn);
- // backward compatibility
- // For catalog zones, next_expire is cleaned up later by zone_timers_sanitize().
- if (timers->next_expire == 0 && timers->last_refresh > 0) {
- timers->next_expire = timers->last_refresh + timers->soa_expire;
- }
-
return txn.ret;
}
* \brief Persistent zone timers.
*/
struct zone_timers {
- uint32_t soa_expire; //!< SOA expire value. DEPRECATED
time_t last_flush; //!< Last zone file synchronization.
- time_t last_refresh; //!< Last successful zone refresh attempt. DEPRECATED
time_t next_refresh; //!< Next zone refresh attempt.
uint32_t last_signed_serial; //!< SOA serial of last signed zone version.
uint8_t last_signed_s_flags; //!< If last signed serial detected and valid;
}
} else {
// invalidate if we don't have a master
- zone->timers->last_refresh = 0;
zone->timers->next_refresh = 0;
zone->timers->last_refresh_ok = false;
zone->timers->next_expire = 0;