Skip to content

Commit 68ee053

Browse files
committed
change(nameserver): remove KeepNameserver option
1 parent a6e7456 commit 68ee053

File tree

2 files changed

+3
-42
lines changed

2 files changed

+3
-42
lines changed

pkg/nameserver/system.go

+3-8
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,11 @@ type SettingsSystemDNS struct {
1818
// ResolvPath is the path to the resolv configuration file.
1919
// It defaults to /etc/resolv.conf.
2020
ResolvPath string
21-
// KeepNameserver can be set to preserve existing nameserver lines
22-
// in the resolv configuration file.
23-
KeepNameserver *bool
2421
}
2522

2623
func (s *SettingsSystemDNS) SetDefaults() {
2724
s.IP = gosettings.DefaultValidator(s.IP, netip.AddrFrom4([4]byte{127, 0, 0, 1}))
2825
s.ResolvPath = gosettings.DefaultString(s.ResolvPath, "/etc/resolv.conf")
29-
s.KeepNameserver = gosettings.DefaultPointer(s.KeepNameserver, false)
3026
}
3127

3228
var (
@@ -60,7 +56,7 @@ func UseDNSSystemWide(settings SettingsSystemDNS) (err error) {
6056
return fmt.Errorf("%w: %s", ErrResolvPathIsDirectory, settings.ResolvPath)
6157
}
6258

63-
return patchResolvFile(settings.ResolvPath, settings.IP, *settings.KeepNameserver)
59+
return patchResolvFile(settings.ResolvPath, settings.IP)
6460
}
6561

6662
func createResolvFile(resolvPath string, ip netip.Addr) (err error) {
@@ -80,8 +76,7 @@ func createResolvFile(resolvPath string, ip netip.Addr) (err error) {
8076
return nil
8177
}
8278

83-
func patchResolvFile(resolvPath string, ip netip.Addr,
84-
keepNameserver bool) (err error) {
79+
func patchResolvFile(resolvPath string, ip netip.Addr) (err error) {
8580
data, err := os.ReadFile(resolvPath)
8681
if err != nil {
8782
return fmt.Errorf("reading file: %w", err)
@@ -91,7 +86,7 @@ func patchResolvFile(resolvPath string, ip netip.Addr,
9186
patchedLines := make([]string, 0, len(lines)+1)
9287
patchedLines = append(patchedLines, "nameserver "+ip.String())
9388
for _, line := range lines {
94-
if keepNameserver || !strings.HasPrefix(line, "nameserver ") {
89+
if !strings.HasPrefix(line, "nameserver ") {
9590
patchedLines = append(patchedLines, line)
9691
}
9792
}

pkg/nameserver/system_test.go

-34
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package nameserver
22

33
import (
4-
"io"
54
"net/netip"
65
"os"
76
"path/filepath"
@@ -11,10 +10,6 @@ import (
1110
"github.com/stretchr/testify/require"
1211
)
1312

14-
func ptrTo[T any](value T) *T {
15-
return &value
16-
}
17-
1813
func Test_UseDNSSystemWide(t *testing.T) {
1914
t.Parallel()
2015

@@ -62,33 +57,4 @@ func Test_UseDNSSystemWide(t *testing.T) {
6257
require.NoError(t, err)
6358
assert.Equal(t, "nameserver 1.1.1.1\n", string(data))
6459
})
65-
66-
t.Run("preserve nameserver", func(t *testing.T) {
67-
t.Parallel()
68-
69-
dirPath := t.TempDir()
70-
resolvConfPath := filepath.Join(dirPath, "resolv.conf")
71-
72-
file, err := os.Create(resolvConfPath)
73-
require.NoError(t, err)
74-
_, err = io.WriteString(file, "nameserver 1.2.3.4\n\n")
75-
require.NoError(t, err)
76-
err = file.Close()
77-
require.NoError(t, err)
78-
79-
settings := SettingsSystemDNS{
80-
ResolvPath: resolvConfPath,
81-
IP: netip.AddrFrom4([4]byte{1, 1, 1, 1}),
82-
KeepNameserver: ptrTo(true),
83-
}
84-
85-
err = UseDNSSystemWide(settings)
86-
87-
require.NoError(t, err)
88-
89-
require.NoError(t, err)
90-
data, err := os.ReadFile(settings.ResolvPath)
91-
require.NoError(t, err)
92-
assert.Equal(t, "nameserver 1.1.1.1\nnameserver 1.2.3.4\n", string(data))
93-
})
9460
}

0 commit comments

Comments
 (0)