mirror of
https://github.com/juanfont/headscale.git
synced 2026-03-13 05:35:15 +09:00
Some checks failed
Build / build-nix (push) Has been cancelled
Build / build-cross (GOARCH=amd64 GOOS=darwin) (push) Has been cancelled
Build / build-cross (GOARCH=amd64 GOOS=linux) (push) Has been cancelled
Build / build-cross (GOARCH=arm64 GOOS=darwin) (push) Has been cancelled
Build / build-cross (GOARCH=arm64 GOOS=linux) (push) Has been cancelled
Check Generated Files / check-generated (push) Has been cancelled
NixOS Module Tests / nix-module-check (push) Has been cancelled
Tests / test (push) Has been cancelled
Close inactive issues / close-issues (push) Has been cancelled
This commit upgrades the codebase from Go 1.25.5 to Go 1.26rc2 and adopts new language features. Toolchain updates: - go.mod: go 1.25.5 → go 1.26rc2 - flake.nix: buildGo125Module → buildGo126Module, go_1_25 → go_1_26 - flake.nix: build golangci-lint from source with Go 1.26 - Dockerfile.integration: golang:1.25-trixie → golang:1.26rc2-trixie - Dockerfile.tailscale-HEAD: golang:1.25-alpine → golang:1.26rc2-alpine - Dockerfile.derper: golang:alpine → golang:1.26rc2-alpine - .goreleaser.yml: go mod tidy -compat=1.25 → -compat=1.26 - cmd/hi/run.go: fallback Go version 1.25 → 1.26rc2 - .pre-commit-config.yaml: simplify golangci-lint hook entry Code modernization using Go 1.26 features: - Replace tsaddr.SortPrefixes with slices.SortFunc + netip.Prefix.Compare - Replace ptr.To(x) with new(x) syntax - Replace errors.As with errors.AsType[T] Lint rule updates: - Add forbidigo rules to prevent regression to old patterns
41 lines
979 B
Go
41 lines
979 B
Go
package util
|
|
|
|
import (
|
|
"net/netip"
|
|
|
|
"github.com/google/go-cmp/cmp"
|
|
"tailscale.com/types/ipproto"
|
|
"tailscale.com/types/key"
|
|
"tailscale.com/types/views"
|
|
)
|
|
|
|
var PrefixComparer = cmp.Comparer(func(x, y netip.Prefix) bool {
|
|
return x.Compare(y) == 0
|
|
})
|
|
|
|
var IPComparer = cmp.Comparer(func(x, y netip.Addr) bool {
|
|
return x.Compare(y) == 0
|
|
})
|
|
|
|
var AddrPortComparer = cmp.Comparer(func(x, y netip.AddrPort) bool {
|
|
return x == y
|
|
})
|
|
|
|
var MkeyComparer = cmp.Comparer(func(x, y key.MachinePublic) bool {
|
|
return x.String() == y.String()
|
|
})
|
|
|
|
var NkeyComparer = cmp.Comparer(func(x, y key.NodePublic) bool {
|
|
return x.String() == y.String()
|
|
})
|
|
|
|
var DkeyComparer = cmp.Comparer(func(x, y key.DiscoPublic) bool {
|
|
return x.String() == y.String()
|
|
})
|
|
|
|
var ViewSliceIPProtoComparer = cmp.Comparer(views.SliceEqual[ipproto.Proto])
|
|
|
|
var Comparers []cmp.Option = []cmp.Option{
|
|
IPComparer, PrefixComparer, AddrPortComparer, MkeyComparer, NkeyComparer, DkeyComparer, ViewSliceIPProtoComparer,
|
|
}
|