]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
layer/rrcache: refuse very short TTLs
authorMarek Vavruša <marek.vavrusa@nic.cz>
Tue, 2 Jun 2015 08:32:00 +0000 (10:32 +0200)
committerMarek Vavruša <marek.vavrusa@nic.cz>
Tue, 2 Jun 2015 08:32:00 +0000 (10:32 +0200)
prevents pointless caching of TTL={0,1} records

lib/layer/rrcache.c

index 8001452b0478822217f72e4752b8a503545390cd..30b3dfc0e4605161469eb968f7027dc2976b4106 100644 (file)
@@ -120,6 +120,9 @@ static int merge_cache_rr(knot_rrset_t *cache_rr, const knot_rrset_t *rr, mm_ctx
        if (rr->type != cache_rr->type || !knot_dname_is_equal(rr->owner, cache_rr->owner)) {
                return KNOT_EOK; /* Ignore */
        }
+       if (knot_rrset_ttl(rr) < 2) {
+               return KNOT_EINVAL; /* Cache busters */
+       }
 
        return knot_rdataset_merge(&cache_rr->rrs, &rr->rrs, pool);
 }