targets cause the server selection to believe there are more options
when they really are not there, the server selection is reinitiated.
- Fix fetch from blacklisted dnssec lame servers as last resort. The
servers IP address is then given in validator errors as well.
git-svn-id: file:///svn/unbound/trunk@2089
be551aaa-1e26-0410-a405-
d3ace91eadb9
23 April 2010: Wouter
- Squelch log message: sendto failed permission denied for
255.255.255.255, it is visible in VERB_DETAIL (verbosity 2).
+ - Fix to fetch data as last resort more tenaciously. When cycle
+ targets cause the server selection to believe there are more options
+ when they really are not there, the server selection is reinitiated.
+ - Fix fetch from blacklisted dnssec lame servers as last resort. The
+ servers IP address is then given in validator errors as well.
22 April 2010: Wouter
- tag 1.4.4.
verbose(VERB_ALGO, "selrtt %d", selrtt);
if(selrtt > BLACKLIST_PENALTY) {
if(selrtt-BLACKLIST_PENALTY > USEFUL_SERVER_TOP_TIMEOUT*2) {
- verbose(VERB_ALGO, "chase to recursion lame server");
+ verbose(VERB_ALGO, "chase to "
+ "blacklisted recursion lame server");
*chase_to_rd = 1;
}
+ if(selrtt-BLACKLIST_PENALTY > USEFUL_SERVER_TOP_TIMEOUT) {
+ verbose(VERB_ALGO, "chase to "
+ "blacklisted dnssec lame server");
+ *dnssec_expected = 0;
+ }
} else {
if(selrtt > USEFUL_SERVER_TOP_TIMEOUT*2) {
verbose(VERB_ALGO, "chase to recursion lame server");
return error_response(qstate, id,
LDNS_RCODE_SERVFAIL);
}
+ if(qs == 0 &&
+ delegpt_count_missing_targets(iq->dp) == 0){
+ /* it looked like there were missing
+ * targets, but they did not turn up.
+ * Try the bad choices again (if any),
+ * when we get back here missing==0,
+ * so this is not a loop. */
+ return 1;
+ }
iq->num_target_queries += qs;
}
/* Since a target query might have been made, we