return commit_rrsig(baton, rank, KR_CACHE_FLAG_NONE, rr);
}
/* Accept only better rank (if not overriding) */
- if (!(rank & KR_RANK_SECURE) && !(baton->qry->flags & QUERY_NO_CACHE)) {
+ if (!(rank & KR_RANK_SECURE)) {
int cached_rank = kr_cache_peek_rank(baton->cache, KR_CACHE_RR, rr->owner, rr->type, baton->timestamp);
if (cached_rank >= rank) {
return kr_ok();
X(AWAIT_CUT, 1 << 8) /**< Query is waiting for zone cut lookup */ \
X(SAFEMODE, 1 << 9) /**< Don't use fancy stuff (EDNS...) */ \
X(CACHED, 1 << 10) /**< Query response is cached. */ \
- X(NO_CACHE, 1 << 11) /**< Do not use expiring cache for lookup. */ \
+ X(NO_CACHE, 1 << 11) /**< No cache for lookup; exception: finding NSs and subqueries. */ \
X(EXPIRING, 1 << 12) /**< Query response is cached, but expiring. */ \
X(ALLOW_LOCAL, 1 << 13) /**< Allow queries to local or private address ranges. */ \
X(DNSSEC_WANT, 1 << 14) /**< Want DNSSEC secured answer; exception: +cd, \