resolve: do not hit CNAME or DNAME entry in NODATA cache (#9836)
Fixes #9833.
This commit is contained in:
parent
5d3bab79e8
commit
3740146a4c
|
@ -783,7 +783,7 @@ static DnsCacheItem *dns_cache_get_by_key_follow_cname_dname_nsec(DnsCache *c, D
|
||||||
if (dns_type_may_redirect(k->type)) {
|
if (dns_type_may_redirect(k->type)) {
|
||||||
/* Check if we have a CNAME record instead */
|
/* Check if we have a CNAME record instead */
|
||||||
i = hashmap_get(c->by_key, &DNS_RESOURCE_KEY_CONST(k->class, DNS_TYPE_CNAME, n));
|
i = hashmap_get(c->by_key, &DNS_RESOURCE_KEY_CONST(k->class, DNS_TYPE_CNAME, n));
|
||||||
if (i)
|
if (i && i->type != DNS_CACHE_NODATA)
|
||||||
return i;
|
return i;
|
||||||
|
|
||||||
/* OK, let's look for cached DNAME records. */
|
/* OK, let's look for cached DNAME records. */
|
||||||
|
@ -792,7 +792,7 @@ static DnsCacheItem *dns_cache_get_by_key_follow_cname_dname_nsec(DnsCache *c, D
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
i = hashmap_get(c->by_key, &DNS_RESOURCE_KEY_CONST(k->class, DNS_TYPE_DNAME, n));
|
i = hashmap_get(c->by_key, &DNS_RESOURCE_KEY_CONST(k->class, DNS_TYPE_DNAME, n));
|
||||||
if (i)
|
if (i && i->type != DNS_CACHE_NODATA)
|
||||||
return i;
|
return i;
|
||||||
|
|
||||||
/* Jump one label ahead */
|
/* Jump one label ahead */
|
||||||
|
|
Loading…
Reference in a new issue