diff --git a/iterator/iterator.c b/iterator/iterator.c index 5f90310c8..fdf3ebe3a 100644 --- a/iterator/iterator.c +++ b/iterator/iterator.c @@ -1424,11 +1424,15 @@ processQueryResponse(struct module_qstate* qstate, struct iter_qstate* iq, iq->response->rep, iq->response->rep->an_numrrsets, iq->response->rep->an_numrrsets + iq->response->rep->ns_numrrsets); - if(!ns) find_NS(iq->response->rep, 0, + if(!ns) ns = find_NS(iq->response->rep, 0, iq->response->rep->an_numrrsets); if(!ns || !dname_strict_subdomain_c(ns->rk.dname, iq->dp->name) || !dname_subdomain_c(iq->qchase.qname, ns->rk.dname)){ verbose(VERB_ALGO, "bad referral, throwaway"); + if(!ns) log_info("no ns"); + log_query_info(0, "qchase", &iq->qchase); + log_nametypeclass(0, "dp", iq->dp->name, 0, 0); + log_nametypeclass(0, "ns", ns->rk.dname, 0, 0); type = RESPONSE_TYPE_THROWAWAY; } }