bugfix/updates: infinite recursion when changing SOA TTL

This commit is contained in:
Libor Peltan 2019-11-19 16:29:35 +01:00
parent 9771b6eee3
commit 4ea63d1c3d
2 changed files with 12 additions and 1 deletions

View file

@ -402,7 +402,7 @@ void zone_update_clear(zone_update_t *update)
static int solve_add_different_ttl(zone_update_t *update, const knot_rrset_t *add)
{
if (add->type == KNOT_RRTYPE_RRSIG) {
if (add->type == KNOT_RRTYPE_RRSIG || add->type == KNOT_RRTYPE_SOA) {
return KNOT_EOK;
}

View file

@ -320,6 +320,17 @@ def do_normal_tests(master, zone, dnssec=False):
rdata="dns1.ddns. hostmaster.ddns. 2013111213 10800 3600 1209600 7200")
verify(master, zone, dnssec)
# add SOA with different TTL
check_log("SOA different TTL")
up = master.update(zone)
up.add("ddns.", 1800, "SOA",
"dns1.ddns. hostmaster.ddns. 2014111213 10800 1800 1209600 7200")
up.send("NOERROR")
resp = master.dig("ddns.", "SOA")
resp.check(rcode="NOERROR",
rdata="dns1.ddns. hostmaster.ddns. 2014111213 10800 1800 1209600 7200")
verify(master, zone, dnssec)
# add and remove the same record
check_log("Add and remove same record")
up = master.update(zone)