return 0;
}
if(a == RPZ_LOCAL_DATA_ACTION) {
- /* insert data. TODO synth wildcard cname target on
- * lookup */
rrstr = sldns_wire2str_rr(rr, rr_len);
/* TODO non region alloc so rrs can be free after IXFR deletion?
* */
return;
}
t = rpz_dname_to_trigger(policydname);
- if(t == RPZ_QNAME_TRIGGER) {
+ if(a != RPZ_INVALID_ACTION && t != RPZ_QNAME_TRIGGER) {
z = rpz_find_zone(r, policydname, policydnamelen, rr_class,
1 /* only exact */, 1 /* wr lock */);
if(!z) {
- /* TODO, not for SOA, NS, DNSSEC related RR types */
verbose(VERB_ALGO, "RPZ: cannot remove RR from IXFR, "
"RPZ domain not found");
free(policydname);
local_zones_del_zone(r->local_zones, z);
}
}
- else {
- verbose(VERB_ALGO, "RPZ: skipping unusupported trigger: %s "
- "while removing RPZ RRs",
- rpz_trigger_to_string(t));
- }
free(policydname);
}