From 2d9c60dea1d7b2a92da942b0138c8c9bc8814060 Mon Sep 17 00:00:00 2001 From: Cuong Manh Le Date: Thu, 16 Jan 2025 07:24:16 +0700 Subject: [PATCH] cmd/cli: log that multiple interfaces DNS set --- cmd/cli/commands.go | 24 ++++++++++++++++++++++-- cmd/cli/control_server.go | 2 ++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/cmd/cli/commands.go b/cmd/cli/commands.go index 9845093..4e32a7d 100644 --- a/cmd/cli/commands.go +++ b/cmd/cli/commands.go @@ -220,8 +220,28 @@ NOTE: running "ctrld start" without any arguments will start already installed c if iface == "auto" { iface = defaultIfaceName() } - logger := mainLog.Load().With().Str("iface", iface).Logger() - logger.Debug().Msg("setting DNS successfully") + res := &ifaceResponse{} + if err := json.NewDecoder(resp.Body).Decode(res); err != nil { + mainLog.Load().Warn().Err(err).Msg("failed to get iface info") + return + } + if res.OK { + name := res.Name + if iff, err := net.InterfaceByName(name); err == nil { + _, _ = patchNetIfaceName(iff) + name = iff.Name + } + logger := mainLog.Load().With().Str("iface", name).Logger() + logger.Debug().Msg("setting DNS successfully") + if res.All { + // Log that DNS is set for other interfaces. + withEachPhysicalInterfaces( + name, + "set DNS", + func(i *net.Interface) error { return nil }, + ) + } + } } } } diff --git a/cmd/cli/control_server.go b/cmd/cli/control_server.go index 36285e5..1ea1693 100644 --- a/cmd/cli/control_server.go +++ b/cmd/cli/control_server.go @@ -34,6 +34,7 @@ const ( type ifaceResponse struct { Name string `json:"name"` All bool `json:"all"` + OK bool `json:"ok"` } type controlServer struct { @@ -217,6 +218,7 @@ func (p *prog) registerControlServerHandler() { if p.csSetDnsOk { res.Name = p.runningIface res.All = p.requiredMultiNICsConfig + res.OK = true } } if err := json.NewEncoder(w).Encode(res); err != nil {