Skip to content
Snippets Groups Projects
Commit 9f5c1c14 authored by Jan Včelák's avatar Jan Včelák :rocket:
Browse files

refresh: fix handling of AXFR-style IXFR when only SOA changes

parent b90af1c6
No related branches found
No related tags found
1 merge request!587Events refactoring
......@@ -575,9 +575,22 @@ static bool ixfr_check_header(const knot_pktsection_t *answer)
static bool ixfr_is_axfr(const knot_pktsection_t *answer)
{
return answer->count >= 2 &&
knot_pkt_rr(answer, 0)->type == KNOT_RRTYPE_SOA &&
knot_pkt_rr(answer, 1)->type != KNOT_RRTYPE_SOA;
if (answer->count < 2) {
return false;
}
const knot_rrset_t *rr_one = knot_pkt_rr(answer, 0);
const knot_rrset_t *rr_two = knot_pkt_rr(answer, 1);
return (
rr_one->type == KNOT_RRTYPE_SOA &&
rr_two->type != KNOT_RRTYPE_SOA
) || (
answer->count == 2 &&
rr_one->type == KNOT_RRTYPE_SOA &&
rr_two->type == KNOT_RRTYPE_SOA &&
knot_rrset_equal(rr_one, rr_two, KNOT_RRSET_COMPARE_WHOLE)
);
}
static int ixfr_consume(knot_pkt_t *pkt, struct refresh_data *data)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment