]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
selection: avoid chicken and egg problem when resolving . DS
authorŠtěpán Balážik <stepan.balazik@nic.cz>
Fri, 16 Oct 2020 10:39:12 +0000 (12:39 +0200)
committerŠtěpán Balážik <stepan.balazik@nic.cz>
Fri, 16 Oct 2020 10:39:12 +0000 (12:39 +0200)
lib/selection_iter.c

index 53e0f5fd8f471fcbb1c76c456cf61fb15f87109c..d651ed760080bfe1c812af6b0affc3911260a8e4 100644 (file)
@@ -235,6 +235,11 @@ void iter_choose_transport(struct kr_query *qry, struct kr_transport **transport
                }
        }
 
+       // . DNSKEY must be fetched from root hints, no A/AAAA resolution is possible.
+       if (qry->sname[0] == '\0' && qry->stype == KNOT_RRTYPE_DNSKEY) {
+               num_to_resolve = 0;
+       }
+
        trie_it_free(it);
 
        if (valid_addresses || num_to_resolve) {