mirror of
https://github.com/Control-D-Inc/ctrld.git
synced 2026-02-03 22:18:39 +00:00
Use ControlD Public DNS when non-available
This logic was missed when new initializing OS resolver logic was implemented. While at it, also adding this test case to prevent regression.
This commit is contained in:
committed by
Cuong Manh Le
parent
a9f76322bd
commit
f5ba8be182
@@ -118,6 +118,9 @@ func initializeOsResolver(servers []string) []string {
|
||||
} else {
|
||||
or.lanServers.Store(&lanNss)
|
||||
}
|
||||
if len(publicNss) == 0 {
|
||||
publicNss = append(publicNss, controldPublicDnsWithPort)
|
||||
}
|
||||
or.publicServers.Store(&publicNss)
|
||||
return slices.Concat(lanNss, publicNss)
|
||||
}
|
||||
|
||||
@@ -167,7 +167,6 @@ func Test_initializeOsResolver(t *testing.T) {
|
||||
initializeOsResolver([]string{lanServer1, lanServer2, wanServer})
|
||||
p := or.initializedLanServers.Load()
|
||||
assert.NotNil(t, p)
|
||||
t.Logf("%v - %v", *p, lanServers)
|
||||
assert.True(t, slices.Equal(*p, lanServers))
|
||||
assert.True(t, slices.Equal(*or.lanServers.Load(), lanServers))
|
||||
assert.True(t, slices.Equal(*or.publicServers.Load(), publicServers))
|
||||
@@ -195,4 +194,12 @@ func Test_initializeOsResolver(t *testing.T) {
|
||||
assert.True(t, slices.Equal(*p, lanServers))
|
||||
assert.True(t, slices.Equal(*or.lanServers.Load(), lanServers))
|
||||
assert.True(t, slices.Equal(*or.publicServers.Load(), publicServers))
|
||||
|
||||
// No Public server, ControlD Public DNS will be used.
|
||||
initializeOsResolver([]string{})
|
||||
p = or.initializedLanServers.Load()
|
||||
assert.NotNil(t, p)
|
||||
assert.True(t, slices.Equal(*p, lanServers))
|
||||
assert.True(t, slices.Equal(*or.lanServers.Load(), lanServers))
|
||||
assert.True(t, slices.Equal(*or.publicServers.Load(), []string{controldPublicDnsWithPort}))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user