|
|
- Unbound (trunk):
- Fix that with harden-below-nxdomain and qname minisation enabled
- some iterator states for nonresponsive domains can get into a
- state where they waited for an empty list.
- Stop UDP to TCP failover after timeouts that causes the ping count
- to be reset by the TCP time measurement (that exists for TLS),
- because that causes the UDP part to not be measured as timeout.
-
- Index: iterator/iterator.c
- ===================================================================
- --- a/iterator/iterator.c
- +++ b/iterator/iterator.c
- @@ -2752,6 +2752,12 @@ processQueryResponse(struct module_qstate* qstate, struct iter_qstate* iq,
- verbose(VERB_ALGO,
- "could not validate NXDOMAIN "
- "response");
- + outbound_list_clear(&iq->outlist);
- + iq->num_current_queries = 0;
- + fptr_ok(fptr_whitelist_modenv_detach_subs(
- + qstate->env->detach_subs));
- + (*qstate->env->detach_subs)(qstate);
- + iq->num_target_queries = 0;
- }
- }
- return next_state(iq, QUERYTARGETS_STATE);
- Index: services/outside_network.c
- ===================================================================
- --- a/services/outside_network.c
- +++ b/services/outside_network.c
- @@ -1979,7 +1979,7 @@ serviced_udp_callback(struct comm_point* c, void* arg, int error,
- return 0;
- }
- if(rto >= RTT_MAX_TIMEOUT) {
- - fallback_tcp = 1;
- + /* fallback_tcp = 1; */
- /* UDP does not work, fallback to TCP below */
- } else {
- serviced_callbacks(sq, NETEVENT_TIMEOUT, c, rep);
|