if (zone_update_no_change(update) &&
!knot_zone_sign_soa_expired(update->new_cont, &keyset, &ctx)) {
log_zone_info(zone_name, "DNSSEC, zone is up-to-date");
+ update->zone->zonefile.resigned = false;
goto done;
+ } else {
+ update->zone->zonefile.resigned = true;
}
if (!(flags & ZONE_SIGN_KEEP_SERIAL) && zone_update_to(update) == NULL) {
if (zone_update_no_change(update) && !soa_changed &&
!knot_zone_sign_soa_expired(update->new_cont, &keyset, &ctx)) {
log_zone_info(zone_name, "DNSSEC, zone is up-to-date");
+ update->zone->zonefile.resigned = false;
goto done;
+ } else {
+ update->zone->zonefile.resigned = true;
}
if (!soa_changed) {
return ret;
}
- /* Check if the zone was re-signed upon zone load to ensure proper flush
- * even if the SOA serial wasn't incremented by re-signing. */
val = conf_zone_get(conf, C_DNSSEC_SIGNING, update->zone->name);
- bool dnssec = conf_bool(&val);
-
- if (dnssec) {
- update->zone->zonefile.resigned = true;
-
- if (zone_is_slave(conf, update->zone)) {
- ret = zone_set_lastsigned_serial(update->zone,
- zone_contents_serial(update->new_cont));
- if (ret != KNOT_EOK) {
- log_zone_warning(update->zone->name,
- "unable to save lastsigned serial, "
- "future transfers might be broken");
- }
+ if (conf_bool(&val) && zone_is_slave(conf, update->zone)) {
+ ret = zone_set_lastsigned_serial(update->zone,
+ zone_contents_serial(update->new_cont));
+ if (ret != KNOT_EOK) {
+ log_zone_warning(update->zone->name,
+ "unable to save lastsigned serial, "
+ "future transfers might be broken");
}
}
if s_mtime2 == s_mtime1:
set_err("Not flushed after IXFR")
+master.stop()
+master.start()
+master.zones_wait(zone)
+t.sleep(1)
+m_mtime3 = os.stat(m_zfpath).st_mtime
+
+# check zonefile not re-flushed after restart
+if m_mtime3 != m_mtime2:
+ set_err("Up-to-date re-flushed after restart")
+
t.end()