ipn/ipnlocal, net/dns: use slices.Equal to simplify code (#16641)

Signed-off-by: jishudashu <979260390@qq.com>
This commit is contained in:
jishudashu 2025-08-01 02:36:51 +08:00 committed by GitHub
parent 47b5f10165
commit 23a0398136
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 3 additions and 26 deletions

View File

@ -2166,7 +2166,7 @@ func (b *LocalBackend) setWgengineStatus(s *wgengine.Status, err error) {
es := b.parseWgStatusLocked(s)
cc := b.cc
b.engineStatus = es
needUpdateEndpoints := !endpointsEqual(s.LocalAddrs, b.endpoints)
needUpdateEndpoints := !slices.Equal(s.LocalAddrs, b.endpoints)
if needUpdateEndpoints {
b.endpoints = append([]tailcfg.Endpoint{}, s.LocalAddrs...)
}
@ -2192,18 +2192,6 @@ func (b *LocalBackend) broadcastStatusChanged() {
b.statusLock.Unlock()
}
func endpointsEqual(x, y []tailcfg.Endpoint) bool {
if len(x) != len(y) {
return false
}
for i := range x {
if x[i] != y[i] {
return false
}
}
return true
}
// SetNotifyCallback sets the function to call when the backend has something to
// notify the frontend about. Only one callback can be set at a time, so calling
// this function will replace the previous callback.

View File

@ -8,6 +8,7 @@
"bufio"
"fmt"
"net/netip"
"slices"
"sort"
"tailscale.com/control/controlknobs"
@ -181,19 +182,7 @@ func sameResolverNames(a, b []*dnstype.Resolver) bool {
if a[i].Addr != b[i].Addr {
return false
}
if !sameIPs(a[i].BootstrapResolution, b[i].BootstrapResolution) {
return false
}
}
return true
}
func sameIPs(a, b []netip.Addr) bool {
if len(a) != len(b) {
return false
}
for i := range a {
if a[i] != b[i] {
if !slices.Equal(a[i].BootstrapResolution, b[i].BootstrapResolution) {
return false
}
}