mirror of https://github.com/getdnsapi/getdns.git
Resubmit netreqs when roadblocks need to be avoided
This commit is contained in:
parent
c5acb3769b
commit
bceb6c8c87
31
src/dnssec.c
31
src/dnssec.c
|
@ -3043,6 +3043,37 @@ static void check_chain_complete(chain_head *chain)
|
||||||
netreq->owner = dnsreq;
|
netreq->owner = dnsreq;
|
||||||
r = _getdns_submit_netreq(netreq, &now_ms);
|
r = _getdns_submit_netreq(netreq, &now_ms);
|
||||||
}
|
}
|
||||||
|
if (!dnsreq->dnssec_return_validation_chain)
|
||||||
|
return;
|
||||||
|
|
||||||
|
for ( head = chain; head ; head = next ) {
|
||||||
|
next = head->next;
|
||||||
|
for ( node_count = head->node_count
|
||||||
|
, node = head->parent
|
||||||
|
; node_count
|
||||||
|
; node_count--, node = node->parent ) {
|
||||||
|
|
||||||
|
if (node->dnskey_req) {
|
||||||
|
_getdns_netreq_change_state(
|
||||||
|
node->dnskey_req,
|
||||||
|
NET_REQ_NOT_SENT);
|
||||||
|
node->dnskey_req->owner->
|
||||||
|
avoid_dnssec_roadblocks = 1;
|
||||||
|
r = _getdns_submit_netreq(
|
||||||
|
node->dnskey_req, &now_ms);
|
||||||
|
}
|
||||||
|
if (node->ds_req) {
|
||||||
|
_getdns_netreq_change_state(
|
||||||
|
node->ds_req, NET_REQ_NOT_SENT);
|
||||||
|
node->ds_req->owner->
|
||||||
|
avoid_dnssec_roadblocks = 1;
|
||||||
|
r = _getdns_submit_netreq(
|
||||||
|
node->ds_req, &now_ms);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
DEBUG_SEC("Outstanding requests: %d\n",
|
||||||
|
(int)count_outstanding_requests(chain));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue