Deleted Added
full compact
256a257,264
> if(qstate->prefetch_leeway > NORR_TTL) {
> verbose(VERB_ALGO, "error response for prefetch in cache");
> /* attempt to adjust the cache entry prefetch */
> if(dns_cache_prefetch_adjust(qstate->env, &qstate->qinfo,
> NORR_TTL, qstate->query_flags))
> return error_response(qstate, id, rcode);
> /* if that fails (not in cache), fall through to store err */
> }
266c274,275
< iter_dns_store(qstate->env, &qstate->qinfo, &err, 0, 0, 0, NULL);
---
> iter_dns_store(qstate->env, &qstate->qinfo, &err, 0, 0, 0, NULL,
> qstate->query_flags);
501a511
> int valrec = 0;
515c525
< if(!v)
---
> if(!v) {
516a527,528
> valrec = 1;
> }
520c532,533
< if(!(*qstate->env->attach_sub)(qstate, &qinf, qflags, prime, &subq)) {
---
> if(!(*qstate->env->attach_sub)(qstate, &qinf, qflags, prime, valrec,
> &subq)) {
958c971,972
< iq->qchase.qclass, qstate->region, qstate->env->scratch);
---
> iq->qchase.qclass, qstate->query_flags,
> qstate->region, qstate->env->scratch);
1891,1892c1905,1906
< iq->dnssec_expected, &target->addr, target->addrlen,
< iq->dp->name, iq->dp->namelen, qstate);
---
> iq->dnssec_expected, iq->caps_fallback, &target->addr,
> target->addrlen, iq->dp->name, iq->dp->namelen, qstate);
2028c2042
< qstate->region);
---
> qstate->region, qstate->query_flags);
2066c2080
< iq->response->rep, 1, 0, 0, NULL);
---
> iq->response->rep, 1, 0, 0, NULL, 0);
2165c2179,2180
< iq->dp&&iq->dp->has_parent_side_NS, NULL);
---
> iq->dp&&iq->dp->has_parent_side_NS, NULL,
> qstate->query_flags);
2246c2261
< * Return priming query results to interestes super querystates.
---
> * Return priming query results to interested super querystates.
2677c2692
< qstate->region);
---
> qstate->region, qstate->query_flags);
2801a2817,2831
> if(event == module_event_noreply && iq->sent_count >= 3 &&
> qstate->env->cfg->use_caps_bits_for_id &&
> !iq->caps_fallback) {
> /* start fallback */
> iq->caps_fallback = 1;
> iq->caps_server = 0;
> iq->caps_reply = NULL;
> iq->state = QUERYTARGETS_STATE;
> iq->num_current_queries--;
> /* need fresh attempts for the 0x20 fallback, if
> * that was the cause for the failure */
> iter_dec_attempts(iq->dp, 3);
> verbose(VERB_DETAIL, "Capsforid: timeouts, starting fallback");
> goto handle_it;
> }
2850c2880
< if(event == module_event_capsfail) {
---
> if(event == module_event_capsfail || iq->caps_fallback) {
2862c2892,2896
< if(!reply_equal(iq->response->rep, iq->caps_reply,
---
> if(!iq->caps_reply) {
> iq->caps_reply = iq->response->rep;
> iq->caps_server = -1; /*become zero at ++,
> so that we start the full set of trials */
> } else if(!reply_equal(iq->response->rep, iq->caps_reply,