ircd::net::dns::resolver: Add conf item to ease off ServFail retries.
This commit is contained in:
parent
684dd18497
commit
ac3b85114b
|
@ -37,6 +37,7 @@ ircd::net::dns::resolver
|
|||
static conf::item<milliseconds> send_rate;
|
||||
static conf::item<size_t> send_burst;
|
||||
static conf::item<size_t> retry_max;
|
||||
static conf::item<bool> retry_serv_fail;
|
||||
|
||||
answers_callback callback;
|
||||
std::vector<ip::udp::endpoint> server; // The list of active servers
|
||||
|
|
|
@ -39,6 +39,13 @@ ircd::net::dns::resolver::retry_max
|
|||
{ "default", 20L },
|
||||
};
|
||||
|
||||
decltype(ircd::net::dns::resolver::retry_serv_fail)
|
||||
ircd::net::dns::resolver::retry_serv_fail
|
||||
{
|
||||
{ "name", "ircd.net.dns.resolver.retry_serv_fail" },
|
||||
{ "default", true },
|
||||
};
|
||||
|
||||
decltype(ircd::net::dns::resolver::servers)
|
||||
ircd::net::dns::resolver::servers
|
||||
{
|
||||
|
@ -726,7 +733,14 @@ ircd::net::dns::resolver::handle_reply(const ipport &from,
|
|||
|
||||
// Handle ServFail as a special case here. We can try again without
|
||||
// handling this tag or propagating this error any further yet.
|
||||
if(header.rcode == 2 && tag.tries < size_t(server.size()))
|
||||
const bool serv_fail_retry
|
||||
{
|
||||
retry_serv_fail
|
||||
&& header.rcode == 2
|
||||
&& tag.tries < size_t(server.size())
|
||||
};
|
||||
|
||||
if(serv_fail_retry)
|
||||
{
|
||||
log::error
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue