Skip to content

Commit a255072

Browse files
committed
Shuffle ServersInfo.registeredServers copy before refreshing.
1. Refresh in random order. 2. make list commands print resolvers in the same order as sources.
1 parent 9b1b1e2 commit a255072

File tree

2 files changed

+3
-8
lines changed

2 files changed

+3
-8
lines changed

dnscrypt-proxy/config.go

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -690,14 +690,6 @@ func (config *Config) loadSources(proxy *Proxy) error {
690690
if err := proxy.updateRegisteredServers(); err != nil {
691691
return err
692692
}
693-
rs1 := proxy.registeredServers
694-
rs2 := proxy.serversInfo.registeredServers
695-
rand.Shuffle(len(rs1), func(i, j int) {
696-
rs1[i], rs1[j] = rs1[j], rs1[i]
697-
})
698-
rand.Shuffle(len(rs2), func(i, j int) {
699-
rs2[i], rs2[j] = rs2[j], rs2[i]
700-
})
701693
return nil
702694
}
703695

dnscrypt-proxy/serversInfo.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,9 @@ func (serversInfo *ServersInfo) refresh(proxy *Proxy) (int, error) {
248248
registeredServers := make([]RegisteredServer, serversCount)
249249
copy(registeredServers, serversInfo.registeredServers)
250250
serversInfo.RUnlock()
251+
rand.Shuffle(len(registeredServers), func(i, j int) {
252+
registeredServers[i], registeredServers[j] = registeredServers[j], registeredServers[i]
253+
})
251254
countChannel := make(chan struct{}, proxy.certRefreshConcurrency)
252255
errorChannel := make(chan error, serversCount)
253256
for i := range registeredServers {

0 commit comments

Comments
 (0)