From e727c8afad95da1ccf8ec0e5337dcbc3fc5ebd3c Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Thu, 18 Dec 2025 09:59:31 +0100 Subject: [PATCH] network: Propagate DNS forwarder port into dnsmasq config If a DNS forwarder has port specified then we ought to format it into dnsmasq config. The correct syntax is server=/domain/ip-address#port Closes: https://gitlab.com/libvirt/libvirt/-/issues/833 Signed-off-by: Michal Privoznik Reviewed-by: Laine Stump --- src/network/bridge_driver.c | 6 +++++- tests/networkxml2confdata/nat-network-dns-forwarders.conf | 1 + tests/networkxml2confdata/nat-network-dns-forwarders.xml | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index 34b655e816..8b5dbb3ab7 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -1212,10 +1212,14 @@ networkDnsmasqConfContents(virNetworkObj *obj, virBufferAsprintf(&configbuf, "/%s/", fwd->domain); if (VIR_SOCKET_ADDR_VALID(&fwd->addr)) { g_autofree char *addr = virSocketAddrFormat(&fwd->addr); + int port = virSocketAddrGetPort(&fwd->addr); if (!addr) return -1; - virBufferAsprintf(&configbuf, "%s\n", addr); + virBufferAddStr(&configbuf, addr); + if (port > 0) + virBufferAsprintf(&configbuf, "#%d", port); + virBufferAddChar(&configbuf, '\n'); if (!fwd->domain) addNoResolv = true; } else { diff --git a/tests/networkxml2confdata/nat-network-dns-forwarders.conf b/tests/networkxml2confdata/nat-network-dns-forwarders.conf index 1b0c94c3fb..fcaf7e70e8 100644 --- a/tests/networkxml2confdata/nat-network-dns-forwarders.conf +++ b/tests/networkxml2confdata/nat-network-dns-forwarders.conf @@ -8,6 +8,7 @@ strict-order server=8.8.8.8 server=8.8.4.4 server=/example.com/192.168.1.1 +server=/example2.com/192.168.2.1#1234 server=/www.example.com/# no-resolv except-interface=lo diff --git a/tests/networkxml2confdata/nat-network-dns-forwarders.xml b/tests/networkxml2confdata/nat-network-dns-forwarders.xml index 5d4f3fa697..d84576b1b3 100644 --- a/tests/networkxml2confdata/nat-network-dns-forwarders.xml +++ b/tests/networkxml2confdata/nat-network-dns-forwarders.xml @@ -7,6 +7,7 @@ + -- 2.47.3