]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Better error when we cannot connect a backend socket 15499/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 16 Jan 2025 15:30:50 +0000 (16:30 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Wed, 30 Apr 2025 09:53:48 +0000 (11:53 +0200)
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.

(cherry picked from commit 199a3433672d358a53cbb4cad7d9459cf9ed4551)

pdns/dnsdistdist/dnsdist-backend.cc

index d59a5df0dc0744d4b98a82b02a5696f763b085fe..08bbfc52bc339155d52f0035e7bf83fe82296365 100644 (file)
@@ -144,7 +144,12 @@ bool DownstreamState::reconnect(bool initialAttempt)
     }
     catch (const std::runtime_error& error) {
       if (initialAttempt || g_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;