]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Don't attempt an RPZ delete for unsupported actions
authorRalph Dolmans <ralph@nlnetlabs.nl>
Thu, 25 Apr 2019 17:02:17 +0000 (19:02 +0200)
committerRalph Dolmans <ralph@nlnetlabs.nl>
Thu, 25 Apr 2019 17:02:17 +0000 (19:02 +0200)
services/rpz.c

index e7c24fe490f0caa84c5a01b2f0c2fa3d7b0fe3f8..b479bed0b232440011a65920d360358664729972 100644 (file)
@@ -292,8 +292,6 @@ rpz_insert_qname_trigger(struct rpz* r, uint8_t* dname, size_t dnamelen,
                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?
                 * */
@@ -483,11 +481,10 @@ rpz_remove_rr(struct rpz* r, size_t aznamelen, uint8_t* dname,
                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);
@@ -501,11 +498,6 @@ rpz_remove_rr(struct rpz* r, size_t aznamelen, uint8_t* dname,
                        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);
 }