From: Remi Gacogne Date: Thu, 16 Jan 2025 15:30:50 +0000 (+0100) Subject: dnsdist: Better error when we cannot connect a backend socket X-Git-Tag: dnsdist-2.0.0-alpha1~164^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=199a3433672d358a53cbb4cad7d9459cf9ed4551;p=thirdparty%2Fpdns.git dnsdist: Better error when we cannot connect a backend socket Let the user know if we are using a specific interface or source address to contact the backend, as it is quite helpful to pinpoint the issue. --- diff --git a/pdns/dnsdistdist/dnsdist-backend.cc b/pdns/dnsdistdist/dnsdist-backend.cc index d493d3f9aa..e236ea1c74 100644 --- a/pdns/dnsdistdist/dnsdist-backend.cc +++ b/pdns/dnsdistdist/dnsdist-backend.cc @@ -148,7 +148,12 @@ bool DownstreamState::reconnect(bool initialAttempt) } catch (const std::runtime_error& error) { if (initialAttempt || dnsdist::configuration::getCurrentRuntimeConfiguration().d_verbose) { - infolog("Error connecting to new server with address %s: %s", d_config.remote.toStringWithPort(), error.what()); + if (!IsAnyAddress(d_config.sourceAddr) || !d_config.sourceItfName.empty()) { + infolog("Error connecting to new server with address %s (source address: %s, source interface: %s): %s", d_config.remote.toStringWithPort(), IsAnyAddress(d_config.sourceAddr) ? "not set" : d_config.sourceAddr.toString(), d_config.sourceItfName.empty() ? "not set" : d_config.sourceItfName, error.what()); + } + else { + infolog("Error connecting to new server with address %s: %s", d_config.remote.toStringWithPort(), error.what()); + } } connected = false; break;