cmd/cli: do not save static DNS when ctrld is already installed

If ctrld was installed, the DNS setting was changed, we could not
determine the dynamic or static settings before installing ctrld.
This commit is contained in:
Cuong Manh Le
2024-02-20 15:16:24 +07:00
committed by Cuong Manh Le
parent dabbf2037b
commit 906479a15c
2 changed files with 19 additions and 5 deletions
+4 -3
View File
@@ -5,6 +5,7 @@ import (
"context"
"errors"
"fmt"
"io/fs"
"math/rand"
"net"
"net/netip"
@@ -729,13 +730,13 @@ func saveCurrentStaticDNS(iface *net.Interface) error {
return nil
}
file := savedStaticDnsSettingsFilePath(iface)
if err := os.Remove(file); err != nil && !errors.Is(err, os.ErrNotExist) {
mainLog.Load().Warn().Err(err).Msg("could not remove old static DNS settings file")
}
ns, _ := currentStaticDNS(iface)
if len(ns) == 0 {
return nil
}
if err := os.Remove(file); err != nil && !errors.Is(err, fs.ErrNotExist) {
mainLog.Load().Warn().Err(err).Msg("could not remove old static DNS settings file")
}
mainLog.Load().Debug().Msgf("DNS settings for %s is static, saving ...", iface.Name)
if err := os.WriteFile(file, []byte(strings.Join(ns, ",")), 0600); err != nil {
mainLog.Load().Err(err).Msgf("could not save DNS settings for iface: %s", iface.Name)