@@ -18,15 +18,11 @@ type SettingsSystemDNS struct {
18
18
// ResolvPath is the path to the resolv configuration file.
19
19
// It defaults to /etc/resolv.conf.
20
20
ResolvPath string
21
- // KeepNameserver can be set to preserve existing nameserver lines
22
- // in the resolv configuration file.
23
- KeepNameserver * bool
24
21
}
25
22
26
23
func (s * SettingsSystemDNS ) SetDefaults () {
27
24
s .IP = gosettings .DefaultValidator (s .IP , netip .AddrFrom4 ([4 ]byte {127 , 0 , 0 , 1 }))
28
25
s .ResolvPath = gosettings .DefaultString (s .ResolvPath , "/etc/resolv.conf" )
29
- s .KeepNameserver = gosettings .DefaultPointer (s .KeepNameserver , false )
30
26
}
31
27
32
28
var (
@@ -60,7 +56,7 @@ func UseDNSSystemWide(settings SettingsSystemDNS) (err error) {
60
56
return fmt .Errorf ("%w: %s" , ErrResolvPathIsDirectory , settings .ResolvPath )
61
57
}
62
58
63
- return patchResolvFile (settings .ResolvPath , settings .IP , * settings . KeepNameserver )
59
+ return patchResolvFile (settings .ResolvPath , settings .IP )
64
60
}
65
61
66
62
func createResolvFile (resolvPath string , ip netip.Addr ) (err error ) {
@@ -80,8 +76,7 @@ func createResolvFile(resolvPath string, ip netip.Addr) (err error) {
80
76
return nil
81
77
}
82
78
83
- func patchResolvFile (resolvPath string , ip netip.Addr ,
84
- keepNameserver bool ) (err error ) {
79
+ func patchResolvFile (resolvPath string , ip netip.Addr ) (err error ) {
85
80
data , err := os .ReadFile (resolvPath )
86
81
if err != nil {
87
82
return fmt .Errorf ("reading file: %w" , err )
@@ -91,7 +86,7 @@ func patchResolvFile(resolvPath string, ip netip.Addr,
91
86
patchedLines := make ([]string , 0 , len (lines )+ 1 )
92
87
patchedLines = append (patchedLines , "nameserver " + ip .String ())
93
88
for _ , line := range lines {
94
- if keepNameserver || ! strings .HasPrefix (line , "nameserver " ) {
89
+ if ! strings .HasPrefix (line , "nameserver " ) {
95
90
patchedLines = append (patchedLines , line )
96
91
}
97
92
}
0 commit comments