From 6023eb187876c47af8ae0977f1a55afc263ed191 Mon Sep 17 00:00:00 2001 From: Quentin McGaw Date: Fri, 14 Nov 2025 21:24:40 +0000 Subject: [PATCH] hotfix(dns): compilation error due to dns package upgrade on master --- internal/dns/loop.go | 2 +- internal/dns/run.go | 7 ++++++- internal/dns/settings.go | 9 +++++++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/internal/dns/loop.go b/internal/dns/loop.go index f421165e..aa52de50 100644 --- a/internal/dns/loop.go +++ b/internal/dns/loop.go @@ -21,7 +21,7 @@ type Loop struct { state *state.State server *server.Server filter *mapfilter.Filter - localResolvers []netip.AddrPort + localResolvers []netip.Addr resolvConf string client *http.Client logger Logger diff --git a/internal/dns/run.go b/internal/dns/run.go index fab5d5c9..2c67f9f4 100644 --- a/internal/dns/run.go +++ b/internal/dns/run.go @@ -11,7 +11,12 @@ import ( func (l *Loop) Run(ctx context.Context, done chan<- struct{}) { defer close(done) - l.localResolvers = nameserver.GetPrivateDNSServers() + var err error + l.localResolvers, err = nameserver.GetPrivateDNSServers() + if err != nil { + l.logger.Error("getting private DNS servers: " + err.Error()) + return + } if *l.GetSettings().KeepNameserver { l.logger.Warn("⚠️⚠️⚠️ keeping the default container nameservers, " + diff --git a/internal/dns/settings.go b/internal/dns/settings.go index bb7faf53..ead3cec6 100644 --- a/internal/dns/settings.go +++ b/internal/dns/settings.go @@ -27,7 +27,7 @@ func (l *Loop) SetSettings(ctx context.Context, settings settings.DNS) ( } func buildServerSettings(settings settings.DNS, - filter *mapfilter.Filter, localResolvers []netip.AddrPort, + filter *mapfilter.Filter, localResolvers []netip.Addr, logger Logger) ( serverSettings server.Settings, err error, ) { @@ -104,8 +104,13 @@ func buildServerSettings(settings settings.DNS, } serverSettings.Middlewares = append(serverSettings.Middlewares, filterMiddleware) + localResolversAddrPorts := make([]netip.AddrPort, len(localResolvers)) + const defaultDNSPort = 53 + for i, addr := range localResolvers { + localResolversAddrPorts[i] = netip.AddrPortFrom(addr, defaultDNSPort) + } localDNSMiddleware, err := localdns.New(localdns.Settings{ - Resolvers: localResolvers, // auto-detected at container start only + Resolvers: localResolversAddrPorts, // auto-detected at container start only Logger: logger, }) if err != nil {