mirror of
https://github.com/NLnetLabs/unbound.git
synced 2025-12-24 08:39:51 -05:00
ip6 functionality.
git-svn-id: file:///svn/unbound/trunk@376 be551aaa-1e26-0410-a405-d3ace91eadb9
This commit is contained in:
parent
162b28bea1
commit
e8f7d9c150
4 changed files with 10 additions and 4 deletions
|
|
@ -13,6 +13,9 @@
|
||||||
VERB_ALGO, verbosity: 3 gives extensive output.
|
VERB_ALGO, verbosity: 3 gives extensive output.
|
||||||
- fixup RA bit in cached replies.
|
- fixup RA bit in cached replies.
|
||||||
- fixup CNAME responses from the cache no longer partial response.
|
- fixup CNAME responses from the cache no longer partial response.
|
||||||
|
- error in network send handled without leakage.
|
||||||
|
- enable ip6 from config, and try ip6 addresses if available,
|
||||||
|
if ip6 is not connected, skips to next server.
|
||||||
|
|
||||||
5 June 2007: Wouter
|
5 June 2007: Wouter
|
||||||
- iterator state finished.
|
- iterator state finished.
|
||||||
|
|
|
||||||
|
|
@ -80,7 +80,7 @@ iter_apply_cfg(struct iter_env* iter_env, struct config_file* cfg)
|
||||||
log_err("Could not set root or stub hints");
|
log_err("Could not set root or stub hints");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
iter_env->supports_ipv6 = cfg->do_ip6;
|
||||||
|
|
||||||
/* forwarder address */
|
/* forwarder address */
|
||||||
if(cfg->fwd_address && cfg->fwd_address[0]) {
|
if(cfg->fwd_address && cfg->fwd_address[0]) {
|
||||||
|
|
@ -196,7 +196,7 @@ iter_server_selection(struct iter_env* iter_env,
|
||||||
}
|
}
|
||||||
if(!a) /* robustness */
|
if(!a) /* robustness */
|
||||||
return NULL;
|
return NULL;
|
||||||
/* remove it from list */
|
/* remove it from the delegation point result list */
|
||||||
if(prev)
|
if(prev)
|
||||||
prev->next_result = a->next_result;
|
prev->next_result = a->next_result;
|
||||||
else dp->result_list = a->next_result;
|
else dp->result_list = a->next_result;
|
||||||
|
|
|
||||||
|
|
@ -1083,8 +1083,9 @@ processQueryTargets(struct module_qstate* qstate, struct iter_qstate* iq,
|
||||||
qstate->query_flags, 1, &target->addr, target->addrlen,
|
qstate->query_flags, 1, &target->addr, target->addrlen,
|
||||||
qstate);
|
qstate);
|
||||||
if(!outq) {
|
if(!outq) {
|
||||||
log_err("out of memory sending query to auth server");
|
log_err("error sending query to auth server; skip this address");
|
||||||
return error_response(qstate, id, LDNS_RCODE_SERVFAIL);
|
log_addr("error for address:", &target->addr, target->addrlen);
|
||||||
|
return next_state(qstate, iq, QUERYTARGETS_STATE);
|
||||||
}
|
}
|
||||||
outbound_list_insert(&iq->outlist, outq);
|
outbound_list_insert(&iq->outlist, outq);
|
||||||
iq->num_current_queries++;
|
iq->num_current_queries++;
|
||||||
|
|
|
||||||
|
|
@ -1138,6 +1138,8 @@ outnet_serviced_query(struct outside_network* outnet,
|
||||||
}
|
}
|
||||||
/* perform first network action */
|
/* perform first network action */
|
||||||
if(!serviced_udp_send(sq, buff)) {
|
if(!serviced_udp_send(sq, buff)) {
|
||||||
|
(void)rbtree_delete(outnet->serviced, sq);
|
||||||
|
free(sq->qbuf);
|
||||||
free(sq);
|
free(sq);
|
||||||
free(cb);
|
free(cb);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue