cmd/cli: log that multiple interfaces DNS set

This commit is contained in:
Cuong Manh Le
2025-01-16 07:24:16 +07:00
committed by Cuong Manh Le
parent 841be069b7
commit 2d9c60dea1
2 changed files with 24 additions and 2 deletions

View File

@@ -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 },
)
}
}
}
}
}

View File

@@ -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 {