util/uniq,types/lazy,*: delete code that's now in Go std

sync.OnceValue and slices.Compact were both added in Go 1.21.

cmp.Or was added in Go 1.22.

Updates #8632
Updates #11058

Change-Id: I89ba4c404f40188e1f8a9566c8aaa049be377754
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick
2025-01-12 19:14:04 -08:00
committed by Brad Fitzpatrick
parent 5fdb4f83ad
commit 69b90742fe
13 changed files with 18 additions and 271 deletions

View File

@@ -17,6 +17,7 @@ import (
"net/netip"
"reflect"
"runtime"
"slices"
"strconv"
"strings"
"sync"
@@ -59,7 +60,6 @@ import (
"tailscale.com/util/ringbuffer"
"tailscale.com/util/set"
"tailscale.com/util/testenv"
"tailscale.com/util/uniq"
"tailscale.com/util/usermetric"
"tailscale.com/wgengine/capture"
"tailscale.com/wgengine/wgint"
@@ -2666,7 +2666,7 @@ func (c *Conn) bindSocket(ruc *RebindingUDPConn, network string, curPortFate cur
}
ports = append(ports, 0)
// Remove duplicates. (All duplicates are consecutive.)
uniq.ModifySlice(&ports)
ports = slices.Compact(ports)
if debugBindSocket() {
c.logf("magicsock: bindSocket: candidate ports: %+v", ports)

View File

@@ -8,6 +8,7 @@ import (
"net/netip"
"runtime"
"strings"
"sync"
"time"
"github.com/gaissmai/bart"
@@ -15,7 +16,6 @@ import (
"tailscale.com/net/packet"
"tailscale.com/net/tstun"
"tailscale.com/types/ipproto"
"tailscale.com/types/lazy"
"tailscale.com/util/mak"
"tailscale.com/wgengine/filter"
)
@@ -91,7 +91,7 @@ func (e *userspaceEngine) trackOpenPreFilterIn(pp *packet.Parsed, t *tstun.Wrapp
var (
appleIPRange = netip.MustParsePrefix("17.0.0.0/8")
canonicalIPs = lazy.SyncFunc(func() (checkIPFunc func(netip.Addr) bool) {
canonicalIPs = sync.OnceValue(func() (checkIPFunc func(netip.Addr) bool) {
// https://bgp.he.net/AS41231#_prefixes
t := &bart.Table[bool]{}
for _, s := range strings.Fields(`