to INT32_MAX.
- Fix a potential race condition in the rpm installer. Found by
Stefan Nordhausen.
+ - Try to fix eventdns warnings once and for all: do not treat a dns rcode
+ of 2 as indicating that the server is completely bad; it sometimes
+ means that the server is just bad for the request in question. (may fix
+ the last of bug 326.)
Changes in version 0.1.2.8-beta - 2007-02-26
}
switch(error) {
- case DNS_ERR_SERVERFAILED:
case DNS_ERR_NOTIMPL:
case DNS_ERR_REFUSED:
// we regard these errors as marking a bad nameserver
if (!request_reissue(req)) return;
}
break;
+ case DNS_ERR_SERVERFAILED:
+ // rcode 2 (servfailed) sometimes means "we are broken" and
+ // sometimes (with some binds) means "that request was very
+ // confusing." Treat this as a timeout, not a failure.
+ /*XXXX refactor the parts of */
+ log(EVDNS_LOG_DEBUG, "Got a SERVERFAILED from nameserver %s; "
+ "will allow the request to time out.",
+ debug_nota(req->ns->address));
+ break;
default:
// we got a good reply from the nameserver
nameserver_up(req->ns);
case 2:
// failed in some other way
retcode = 1;
- // fall through
+ break;
default:
- // all ok
+ // transmitted; we need to check for timeout.
log(EVDNS_LOG_DEBUG,
"Setting timeout for request %lx", (unsigned long) req);
evtimer_set(&req->timeout_event, evdns_request_timeout_callback, req);
(unsigned long) req);
// ???? Do more?
}
- req->tx_count++;
- req->transmit_me = 0;
- return retcode;
}
+
+ req->tx_count++;
+ req->transmit_me = 0;
+ return retcode;
}
static void