Go 1.27 enables GOEXPERIMENT=jsonv2 by default: encoding/json is now
backed by the json/v2 machinery, and github.com/go-json-experiment/json
compiles as a thin alias of the standard library's encoding/json/v2.
Several tag options and behaviors we relied on did not make the cut for
the final Go 1.27 API, breaking tailscaled at runtime and four packages'
tests. This change adapts to the final API while keeping the wire format
byte-for-byte identical on all Go versions.
First, the `format` tag option was demoted to experimental. Its mere
presence in a struct tag now makes marshaling and unmarshaling fail at
runtime. tailcfg.SSHAction.SessionDuration had `format:nano` (added in
a2dc517d7 to pin the v1 representation), so on Go 1.27 any netmap
containing an SSH policy failed to decode, breaking every PollNetMap.
Remove the option here and in net/speedtest; time.Duration still
marshals as int64 nanoseconds under encoding/json on all Go versions
(Go 1.27's v1 mode sets FormatDurationAsNano by default), so old
clients and servers are unaffected. Add a regression test locking in
the exact wire format.
Consequently, invert the cmd/vet jsontags rule: it previously required
an explicit `format` tag on time.Duration fields, which is now exactly
wrong. It now rejects any `format` tag option, which would have caught
this bug in CI.
Second, the `inline` tag option was renamed to `embed`. The standard
library silently ignores `inline`, while the pinned go-json-experiment
module (used on Go 1.26) only knows `inline`. Specify both options in
types/prefs and logtail; each implementation ignores the option it does
not know, producing identical output. Drop `inline` once we require
Go 1.27.
Third, encoding/json (v1) now dispatches to MarshalJSONTo and
UnmarshalJSONFrom methods and its v1 options flow into nested
jsonv2.MarshalEncode calls. Types whose v1 methods deliberately
routed through jsonv2 for v2 semantics (types/opt.Value, the
types/prefs preference types) would silently change wire format
(e.g. nil slices becoming null). Pin jsonv2.DefaultOptionsV2 in
their jsonv2 methods so the representation is the same regardless
of the entry point.
Finally, json.Marshal costs one more allocation under Go 1.27,
tripping the types/logger.AsJSON alloc test. Switch its fmt.Formatter
to jsonv2.MarshalWrite with explicit v1 options, which writes directly
to the fmt.State: one allocation on both toolchains with unchanged
output. Depaware files pick up the go-json-experiment/json/v1 options
shim as a new dependency of types/logger.
With this change, go test ./... passes with both Go 1.26.5 and
go1.27rc2.
Updates #20220
Fixes #20528
Fixes #20254
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
Change-Id: I694c7d57fd81e55a579c579e9be10032bca569d4
590 lines
57 KiB
Plaintext
590 lines
57 KiB
Plaintext
tailscale.com/tsnet dependencies: (generated by github.com/tailscale/depaware)
|
|
|
|
💣 crypto/internal/entropy/v1.0.0 from crypto/internal/fips140/drbg
|
|
filippo.io/edwards25519 from github.com/hdevalence/ed25519consensus
|
|
filippo.io/edwards25519/field from filippo.io/edwards25519
|
|
W 💣 github.com/alexbrainman/sspi from github.com/alexbrainman/sspi/internal/common+
|
|
W github.com/alexbrainman/sspi/internal/common from github.com/alexbrainman/sspi/negotiate
|
|
W 💣 github.com/alexbrainman/sspi/negotiate from tailscale.com/net/tshttpproxy
|
|
LDW github.com/coder/websocket from tailscale.com/util/eventbus
|
|
LDW github.com/coder/websocket/internal/errd from github.com/coder/websocket
|
|
LDW github.com/coder/websocket/internal/util from github.com/coder/websocket
|
|
github.com/creachadair/msync/trigger from tailscale.com/logtail
|
|
W 💣 github.com/dblohm7/wingoes from tailscale.com/net/tshttpproxy+
|
|
W 💣 github.com/dblohm7/wingoes/com from tailscale.com/util/osdiag+
|
|
W 💣 github.com/dblohm7/wingoes/com/automation from tailscale.com/util/osdiag/internal/wsc
|
|
W github.com/dblohm7/wingoes/internal from github.com/dblohm7/wingoes/com
|
|
W 💣 github.com/dblohm7/wingoes/pe from tailscale.com/util/osdiag+
|
|
github.com/fxamacker/cbor/v2 from tailscale.com/tka
|
|
github.com/gaissmai/bart from tailscale.com/net/ipset+
|
|
github.com/gaissmai/bart/internal/allot from github.com/gaissmai/bart/internal/nodes
|
|
github.com/gaissmai/bart/internal/art from github.com/gaissmai/bart+
|
|
github.com/gaissmai/bart/internal/bitset from github.com/gaissmai/bart+
|
|
github.com/gaissmai/bart/internal/lpm from github.com/gaissmai/bart+
|
|
github.com/gaissmai/bart/internal/nodes from github.com/gaissmai/bart
|
|
github.com/gaissmai/bart/internal/sparse from github.com/gaissmai/bart/internal/nodes
|
|
github.com/gaissmai/bart/internal/value from github.com/gaissmai/bart+
|
|
github.com/go-json-experiment/json from tailscale.com/types/opt+
|
|
github.com/go-json-experiment/json/internal from github.com/go-json-experiment/json+
|
|
github.com/go-json-experiment/json/internal/jsonflags from github.com/go-json-experiment/json+
|
|
github.com/go-json-experiment/json/internal/jsonopts from github.com/go-json-experiment/json+
|
|
github.com/go-json-experiment/json/internal/jsonwire from github.com/go-json-experiment/json+
|
|
github.com/go-json-experiment/json/jsontext from github.com/go-json-experiment/json+
|
|
github.com/go-json-experiment/json/v1 from tailscale.com/net/routecheck+
|
|
L 💣 github.com/godbus/dbus/v5 from tailscale.com/net/dns
|
|
github.com/golang/groupcache/lru from tailscale.com/net/dnscache
|
|
github.com/google/btree from gvisor.dev/gvisor/pkg/tcpip/transport/tcp
|
|
github.com/hdevalence/ed25519consensus from tailscale.com/tka
|
|
github.com/huin/goupnp from github.com/huin/goupnp/dcps/internetgateway2+
|
|
github.com/huin/goupnp/dcps/internetgateway2 from tailscale.com/net/portmapper
|
|
github.com/huin/goupnp/httpu from github.com/huin/goupnp+
|
|
github.com/huin/goupnp/scpd from github.com/huin/goupnp
|
|
github.com/huin/goupnp/soap from github.com/huin/goupnp+
|
|
github.com/huin/goupnp/ssdp from github.com/huin/goupnp
|
|
L 💣 github.com/jsimonetti/rtnetlink from tailscale.com/net/netmon
|
|
L github.com/jsimonetti/rtnetlink/internal/unix from github.com/jsimonetti/rtnetlink
|
|
github.com/klauspost/compress from github.com/klauspost/compress/zstd
|
|
github.com/klauspost/compress/fse from github.com/klauspost/compress/huff0
|
|
github.com/klauspost/compress/huff0 from github.com/klauspost/compress/zstd
|
|
github.com/klauspost/compress/internal/cpuinfo from github.com/klauspost/compress/huff0+
|
|
💣 github.com/klauspost/compress/internal/le from github.com/klauspost/compress/huff0+
|
|
github.com/klauspost/compress/internal/snapref from github.com/klauspost/compress/zstd
|
|
github.com/klauspost/compress/zstd from tailscale.com/util/zstdframe
|
|
github.com/klauspost/compress/zstd/internal/xxhash from github.com/klauspost/compress/zstd
|
|
L 💣 github.com/mdlayher/netlink from github.com/jsimonetti/rtnetlink+
|
|
L 💣 github.com/mdlayher/netlink/nlenc from github.com/jsimonetti/rtnetlink+
|
|
LA 💣 github.com/mdlayher/socket from github.com/mdlayher/netlink+
|
|
LDW 💣 github.com/mitchellh/go-ps from tailscale.com/safesocket
|
|
github.com/pires/go-proxyproto from tailscale.com/ipn/ipnlocal
|
|
L 💣 github.com/safchain/ethtool from tailscale.com/net/netkernelconf
|
|
DW 💣 github.com/tailscale/certstore from tailscale.com/control/controlclient
|
|
W 💣 github.com/tailscale/go-winio from tailscale.com/safesocket
|
|
W 💣 github.com/tailscale/go-winio/internal/fs from github.com/tailscale/go-winio
|
|
W 💣 github.com/tailscale/go-winio/internal/socket from github.com/tailscale/go-winio
|
|
W github.com/tailscale/go-winio/internal/stringbuffer from github.com/tailscale/go-winio/internal/fs
|
|
W github.com/tailscale/go-winio/pkg/guid from github.com/tailscale/go-winio+
|
|
LDW github.com/tailscale/hujson from tailscale.com/ipn/conffile+
|
|
LDAI github.com/tailscale/peercred from tailscale.com/ipn/ipnauth
|
|
LDWI github.com/tailscale/web-client-prebuilt from tailscale.com/client/web
|
|
💣 github.com/tailscale/wireguard-go/conn from github.com/tailscale/wireguard-go/device+
|
|
W 💣 github.com/tailscale/wireguard-go/conn/winrio from github.com/tailscale/wireguard-go/conn
|
|
💣 github.com/tailscale/wireguard-go/device from tailscale.com/net/tstun+
|
|
💣 github.com/tailscale/wireguard-go/ipc from github.com/tailscale/wireguard-go/device
|
|
W 💣 github.com/tailscale/wireguard-go/ipc/namedpipe from github.com/tailscale/wireguard-go/ipc
|
|
github.com/tailscale/wireguard-go/ratelimiter from github.com/tailscale/wireguard-go/device
|
|
github.com/tailscale/wireguard-go/replay from github.com/tailscale/wireguard-go/device
|
|
github.com/tailscale/wireguard-go/rwcancel from github.com/tailscale/wireguard-go/device+
|
|
github.com/tailscale/wireguard-go/tai64n from github.com/tailscale/wireguard-go/device
|
|
💣 github.com/tailscale/wireguard-go/tun from github.com/tailscale/wireguard-go/device+
|
|
github.com/x448/float16 from github.com/fxamacker/cbor/v2
|
|
💣 go4.org/mem from tailscale.com/client/local+
|
|
go4.org/netipx from tailscale.com/ipn/ipnlocal+
|
|
W 💣 golang.zx2c4.com/wintun from github.com/tailscale/wireguard-go/tun
|
|
W 💣 golang.zx2c4.com/wireguard/windows/tunnel/winipcfg from tailscale.com/net/dns+
|
|
gvisor.dev/gvisor/pkg/atomicbitops from gvisor.dev/gvisor/pkg/buffer+
|
|
gvisor.dev/gvisor/pkg/bits from gvisor.dev/gvisor/pkg/buffer
|
|
💣 gvisor.dev/gvisor/pkg/buffer from gvisor.dev/gvisor/pkg/tcpip+
|
|
gvisor.dev/gvisor/pkg/context from gvisor.dev/gvisor/pkg/refs
|
|
💣 gvisor.dev/gvisor/pkg/gohacks from gvisor.dev/gvisor/pkg/state/wire+
|
|
gvisor.dev/gvisor/pkg/linewriter from gvisor.dev/gvisor/pkg/log
|
|
gvisor.dev/gvisor/pkg/log from gvisor.dev/gvisor/pkg/context+
|
|
gvisor.dev/gvisor/pkg/rand from gvisor.dev/gvisor/pkg/tcpip+
|
|
gvisor.dev/gvisor/pkg/refs from gvisor.dev/gvisor/pkg/buffer+
|
|
💣 gvisor.dev/gvisor/pkg/sleep from gvisor.dev/gvisor/pkg/tcpip/transport/tcp
|
|
💣 gvisor.dev/gvisor/pkg/state from gvisor.dev/gvisor/pkg/atomicbitops+
|
|
gvisor.dev/gvisor/pkg/state/wire from gvisor.dev/gvisor/pkg/state
|
|
💣 gvisor.dev/gvisor/pkg/sync from gvisor.dev/gvisor/pkg/atomicbitops+
|
|
💣 gvisor.dev/gvisor/pkg/sync/locking from gvisor.dev/gvisor/pkg/tcpip/stack+
|
|
gvisor.dev/gvisor/pkg/tcpip from gvisor.dev/gvisor/pkg/tcpip/adapters/gonet+
|
|
gvisor.dev/gvisor/pkg/tcpip/adapters/gonet from tailscale.com/wgengine/netstack
|
|
💣 gvisor.dev/gvisor/pkg/tcpip/checksum from gvisor.dev/gvisor/pkg/buffer+
|
|
gvisor.dev/gvisor/pkg/tcpip/hash/jenkins from gvisor.dev/gvisor/pkg/tcpip/stack+
|
|
gvisor.dev/gvisor/pkg/tcpip/header from gvisor.dev/gvisor/pkg/tcpip/header/parse+
|
|
gvisor.dev/gvisor/pkg/tcpip/header/parse from gvisor.dev/gvisor/pkg/tcpip/network/ipv4+
|
|
gvisor.dev/gvisor/pkg/tcpip/internal/tcp from gvisor.dev/gvisor/pkg/tcpip/transport/tcp
|
|
gvisor.dev/gvisor/pkg/tcpip/network/hash from gvisor.dev/gvisor/pkg/tcpip/network/ipv4
|
|
gvisor.dev/gvisor/pkg/tcpip/network/internal/fragmentation from gvisor.dev/gvisor/pkg/tcpip/network/ipv4+
|
|
gvisor.dev/gvisor/pkg/tcpip/network/internal/ip from gvisor.dev/gvisor/pkg/tcpip/network/ipv4+
|
|
gvisor.dev/gvisor/pkg/tcpip/network/internal/multicast from gvisor.dev/gvisor/pkg/tcpip/network/ipv4+
|
|
gvisor.dev/gvisor/pkg/tcpip/network/ipv4 from tailscale.com/wgengine/netstack
|
|
gvisor.dev/gvisor/pkg/tcpip/network/ipv6 from tailscale.com/wgengine/netstack
|
|
gvisor.dev/gvisor/pkg/tcpip/ports from gvisor.dev/gvisor/pkg/tcpip/stack+
|
|
gvisor.dev/gvisor/pkg/tcpip/seqnum from gvisor.dev/gvisor/pkg/tcpip/header+
|
|
💣 gvisor.dev/gvisor/pkg/tcpip/stack from gvisor.dev/gvisor/pkg/tcpip/adapters/gonet+
|
|
LDWA gvisor.dev/gvisor/pkg/tcpip/stack/gro from tailscale.com/wgengine/netstack/gro
|
|
gvisor.dev/gvisor/pkg/tcpip/transport from gvisor.dev/gvisor/pkg/tcpip/transport/icmp+
|
|
gvisor.dev/gvisor/pkg/tcpip/transport/icmp from tailscale.com/wgengine/netstack
|
|
gvisor.dev/gvisor/pkg/tcpip/transport/internal/network from gvisor.dev/gvisor/pkg/tcpip/transport/icmp+
|
|
gvisor.dev/gvisor/pkg/tcpip/transport/internal/noop from gvisor.dev/gvisor/pkg/tcpip/transport/raw
|
|
gvisor.dev/gvisor/pkg/tcpip/transport/packet from gvisor.dev/gvisor/pkg/tcpip/transport/raw
|
|
gvisor.dev/gvisor/pkg/tcpip/transport/raw from gvisor.dev/gvisor/pkg/tcpip/transport/icmp+
|
|
💣 gvisor.dev/gvisor/pkg/tcpip/transport/tcp from gvisor.dev/gvisor/pkg/tcpip/adapters/gonet+
|
|
gvisor.dev/gvisor/pkg/tcpip/transport/tcpconntrack from gvisor.dev/gvisor/pkg/tcpip/stack
|
|
gvisor.dev/gvisor/pkg/tcpip/transport/udp from gvisor.dev/gvisor/pkg/tcpip/adapters/gonet+
|
|
gvisor.dev/gvisor/pkg/waiter from gvisor.dev/gvisor/pkg/context+
|
|
tailscale.com from tailscale.com/version
|
|
tailscale.com/appc from tailscale.com/ipn/ipnlocal
|
|
💣 tailscale.com/atomicfile from tailscale.com/ipn+
|
|
tailscale.com/client/local from tailscale.com/client/web+
|
|
tailscale.com/client/tailscale from tailscale.com/internal/client/tailscale
|
|
tailscale.com/client/tailscale/apitype from tailscale.com/client/local+
|
|
LDWI tailscale.com/client/web from tailscale.com/ipn/ipnlocal
|
|
tailscale.com/control/controlbase from tailscale.com/control/controlhttp+
|
|
tailscale.com/control/controlclient from tailscale.com/ipn/ipnext+
|
|
tailscale.com/control/controlhttp from tailscale.com/control/ts2021
|
|
tailscale.com/control/controlhttp/controlhttpcommon from tailscale.com/control/controlhttp
|
|
tailscale.com/control/controlknobs from tailscale.com/control/controlclient+
|
|
tailscale.com/control/ts2021 from tailscale.com/control/controlclient
|
|
tailscale.com/derp from tailscale.com/derp/derphttp+
|
|
tailscale.com/derp/derpconst from tailscale.com/derp/derphttp+
|
|
tailscale.com/derp/derphttp from tailscale.com/ipn/localapi+
|
|
tailscale.com/disco from tailscale.com/net/tstun+
|
|
tailscale.com/drive from tailscale.com/client/local+
|
|
tailscale.com/envknob from tailscale.com/client/local+
|
|
tailscale.com/envknob/featureknob from tailscale.com/client/web+
|
|
tailscale.com/feature from tailscale.com/ipn/ipnext+
|
|
tailscale.com/feature/acme from tailscale.com/tsnet
|
|
tailscale.com/feature/buildfeatures from tailscale.com/wgengine/magicsock+
|
|
tailscale.com/feature/c2n from tailscale.com/tsnet
|
|
tailscale.com/feature/condlite/expvar from tailscale.com/wgengine/magicsock
|
|
tailscale.com/feature/condregister/netlog from tailscale.com/tsnet
|
|
tailscale.com/feature/condregister/oauthkey from tailscale.com/tsnet
|
|
tailscale.com/feature/condregister/portmapper from tailscale.com/tsnet
|
|
tailscale.com/feature/condregister/useproxy from tailscale.com/tsnet
|
|
tailscale.com/feature/netlog from tailscale.com/feature/condregister/netlog
|
|
tailscale.com/feature/oauthkey from tailscale.com/feature/condregister/oauthkey
|
|
tailscale.com/feature/portmapper from tailscale.com/feature/condregister/portmapper
|
|
tailscale.com/feature/useproxy from tailscale.com/feature/condregister/useproxy
|
|
tailscale.com/health from tailscale.com/control/controlclient+
|
|
tailscale.com/health/healthmsg from tailscale.com/ipn/ipnlocal
|
|
tailscale.com/hostinfo from tailscale.com/client/web+
|
|
tailscale.com/internal/client/tailscale from tailscale.com/tsnet+
|
|
tailscale.com/ipn from tailscale.com/client/local+
|
|
tailscale.com/ipn/conffile from tailscale.com/ipn/ipnlocal+
|
|
💣 tailscale.com/ipn/ipnauth from tailscale.com/ipn/ipnext+
|
|
tailscale.com/ipn/ipnext from tailscale.com/ipn/ipnlocal+
|
|
tailscale.com/ipn/ipnlocal from tailscale.com/ipn/localapi+
|
|
tailscale.com/ipn/ipnlocal/netmapcache from tailscale.com/ipn/ipnlocal
|
|
tailscale.com/ipn/ipnstate from tailscale.com/client/local+
|
|
tailscale.com/ipn/localapi from tailscale.com/tsnet
|
|
tailscale.com/ipn/store from tailscale.com/tsnet+
|
|
tailscale.com/ipn/store/mem from tailscale.com/ipn/ipnlocal+
|
|
tailscale.com/kube/kubetypes from tailscale.com/envknob
|
|
LDWI tailscale.com/licenses from tailscale.com/client/web
|
|
tailscale.com/log/filelogger from tailscale.com/logpolicy
|
|
tailscale.com/log/sockstatlog from tailscale.com/ipn/ipnlocal
|
|
tailscale.com/logpolicy from tailscale.com/ipn/ipnlocal+
|
|
tailscale.com/logtail from tailscale.com/control/controlclient+
|
|
tailscale.com/logtail/filch from tailscale.com/log/sockstatlog+
|
|
tailscale.com/metrics from tailscale.com/tsweb+
|
|
tailscale.com/net/bakedroots from tailscale.com/net/tlsdial+
|
|
💣 tailscale.com/net/batching from tailscale.com/wgengine/magicsock
|
|
tailscale.com/net/dns from tailscale.com/ipn/ipnlocal+
|
|
tailscale.com/net/dns/publicdns from tailscale.com/net/dns+
|
|
tailscale.com/net/dns/resolvconffile from tailscale.com/net/dns+
|
|
tailscale.com/net/dns/resolver from tailscale.com/net/dns+
|
|
tailscale.com/net/dnscache from tailscale.com/control/controlclient+
|
|
tailscale.com/net/dnsfallback from tailscale.com/control/controlclient+
|
|
tailscale.com/net/flowtrack from tailscale.com/wgengine+
|
|
tailscale.com/net/ipset from tailscale.com/ipn/ipnlocal+
|
|
tailscale.com/net/memnet from tailscale.com/tsnet
|
|
tailscale.com/net/netaddr from tailscale.com/ipn+
|
|
tailscale.com/net/netcheck from tailscale.com/wgengine/magicsock
|
|
tailscale.com/net/neterror from tailscale.com/net/dns/resolver+
|
|
tailscale.com/net/netkernelconf from tailscale.com/ipn/ipnlocal
|
|
tailscale.com/net/netknob from tailscale.com/logpolicy+
|
|
💣 tailscale.com/net/netmon from tailscale.com/control/controlclient+
|
|
💣 tailscale.com/net/netns from tailscale.com/derp/derphttp+
|
|
tailscale.com/net/netutil from tailscale.com/client/local+
|
|
tailscale.com/net/netx from tailscale.com/control/controlclient+
|
|
tailscale.com/net/packet from tailscale.com/ipn/ipnlocal+
|
|
tailscale.com/net/packet/checksum from tailscale.com/net/tstun
|
|
tailscale.com/net/ping from tailscale.com/net/netcheck+
|
|
tailscale.com/net/portmapper from tailscale.com/feature/portmapper
|
|
tailscale.com/net/portmapper/portmappertype from tailscale.com/net/netcheck+
|
|
tailscale.com/net/proxymux from tailscale.com/tsnet
|
|
tailscale.com/net/routecheck from tailscale.com/client/local+
|
|
tailscale.com/net/routecheck/peernode from tailscale.com/ipn/ipnlocal+
|
|
tailscale.com/net/routemanager from tailscale.com/ipn/ipnlocal+
|
|
💣 tailscale.com/net/sockopts from tailscale.com/wgengine/magicsock
|
|
tailscale.com/net/socks5 from tailscale.com/tsnet
|
|
tailscale.com/net/sockstats from tailscale.com/control/controlclient+
|
|
tailscale.com/net/stun from tailscale.com/ipn/localapi+
|
|
tailscale.com/net/tlsdial from tailscale.com/control/controlclient+
|
|
tailscale.com/net/tlsdial/blockblame from tailscale.com/net/tlsdial
|
|
tailscale.com/net/traffic from tailscale.com/ipn/ipnlocal+
|
|
tailscale.com/net/tsaddr from tailscale.com/client/web+
|
|
tailscale.com/net/tsdial from tailscale.com/control/controlclient+
|
|
💣 tailscale.com/net/tshttpproxy from tailscale.com/feature/useproxy
|
|
tailscale.com/net/tstun from tailscale.com/tsd+
|
|
tailscale.com/net/udprelay/endpoint from tailscale.com/wgengine/magicsock
|
|
tailscale.com/net/udprelay/status from tailscale.com/client/local
|
|
tailscale.com/omit from tailscale.com/ipn/conffile
|
|
tailscale.com/paths from tailscale.com/client/local+
|
|
tailscale.com/proxymap from tailscale.com/tsd+
|
|
💣 tailscale.com/safesocket from tailscale.com/client/local+
|
|
tailscale.com/syncs from tailscale.com/control/controlhttp+
|
|
tailscale.com/tailcfg from tailscale.com/client/local+
|
|
tailscale.com/tempfork/acme from tailscale.com/feature/acme
|
|
tailscale.com/tempfork/heap from tailscale.com/wgengine/magicsock
|
|
tailscale.com/tempfork/httprec from tailscale.com/feature/c2n
|
|
tailscale.com/tka from tailscale.com/client/local+
|
|
tailscale.com/tsconst from tailscale.com/ipn/ipnlocal+
|
|
tailscale.com/tsd from tailscale.com/ipn/ipnext+
|
|
tailscale.com/tstime from tailscale.com/control/controlclient+
|
|
tailscale.com/tstime/mono from tailscale.com/net/tstun+
|
|
tailscale.com/tstime/rate from tailscale.com/wgengine/filter
|
|
tailscale.com/tsweb from tailscale.com/util/eventbus+
|
|
tailscale.com/tsweb/varz from tailscale.com/tsweb+
|
|
tailscale.com/types/appctype from tailscale.com/ipn/ipnlocal+
|
|
tailscale.com/types/bools from tailscale.com/tsnet+
|
|
tailscale.com/types/dnstype from tailscale.com/client/local+
|
|
tailscale.com/types/empty from tailscale.com/ipn+
|
|
tailscale.com/types/events from tailscale.com/control/controlclient+
|
|
tailscale.com/types/ipproto from tailscale.com/ipn+
|
|
tailscale.com/types/key from tailscale.com/client/local+
|
|
tailscale.com/types/lazy from tailscale.com/hostinfo+
|
|
tailscale.com/types/logger from tailscale.com/appc+
|
|
tailscale.com/types/logid from tailscale.com/ipn/ipnlocal+
|
|
tailscale.com/types/mapx from tailscale.com/ipn/ipnext+
|
|
tailscale.com/types/netlogfunc from tailscale.com/net/tstun+
|
|
tailscale.com/types/netlogtype from tailscale.com/wgengine/netlog
|
|
tailscale.com/types/netmap from tailscale.com/control/controlclient+
|
|
tailscale.com/types/nettype from tailscale.com/ipn/localapi+
|
|
tailscale.com/types/opt from tailscale.com/control/controlknobs+
|
|
tailscale.com/types/persist from tailscale.com/control/controlclient+
|
|
tailscale.com/types/preftype from tailscale.com/ipn+
|
|
tailscale.com/types/result from tailscale.com/util/lineiter
|
|
tailscale.com/types/structs from tailscale.com/control/controlclient+
|
|
tailscale.com/types/tkatype from tailscale.com/client/local+
|
|
tailscale.com/types/views from tailscale.com/appc+
|
|
tailscale.com/util/backoff from tailscale.com/control/controlclient+
|
|
tailscale.com/util/bufiox from tailscale.com/types/key
|
|
tailscale.com/util/checkchange from tailscale.com/ipn/ipnlocal+
|
|
tailscale.com/util/cibuild from tailscale.com/health+
|
|
tailscale.com/util/clientmetric from tailscale.com/appc+
|
|
tailscale.com/util/cloudenv from tailscale.com/hostinfo+
|
|
tailscale.com/util/cloudinfo from tailscale.com/wgengine/magicsock
|
|
LW tailscale.com/util/cmpver from tailscale.com/net/dns+
|
|
tailscale.com/util/ctxkey from tailscale.com/client/tailscale/apitype+
|
|
💣 tailscale.com/util/deephash from tailscale.com/util/syspolicy/setting
|
|
tailscale.com/util/def from tailscale.com/ipn/localapi
|
|
LA 💣 tailscale.com/util/dirwalk from tailscale.com/metrics
|
|
tailscale.com/util/dnsname from tailscale.com/appc+
|
|
tailscale.com/util/eventbus from tailscale.com/client/local+
|
|
tailscale.com/util/execqueue from tailscale.com/appc+
|
|
tailscale.com/util/goroutines from tailscale.com/ipn/ipnlocal
|
|
tailscale.com/util/groupmember from tailscale.com/client/web+
|
|
💣 tailscale.com/util/hashx from tailscale.com/util/deephash
|
|
tailscale.com/util/httpm from tailscale.com/client/web+
|
|
tailscale.com/util/lineiter from tailscale.com/hostinfo+
|
|
tailscale.com/util/mak from tailscale.com/appc+
|
|
tailscale.com/util/must from tailscale.com/logpolicy+
|
|
tailscale.com/util/nocasemaps from tailscale.com/types/ipproto
|
|
💣 tailscale.com/util/osdiag from tailscale.com/ipn/localapi
|
|
W 💣 tailscale.com/util/osdiag/internal/wsc from tailscale.com/util/osdiag
|
|
tailscale.com/util/osuser from tailscale.com/ipn/ipnlocal
|
|
tailscale.com/util/race from tailscale.com/net/dns/resolver
|
|
tailscale.com/util/racebuild from tailscale.com/logpolicy
|
|
tailscale.com/util/rands from tailscale.com/ipn/ipnlocal+
|
|
tailscale.com/util/ringlog from tailscale.com/wgengine/magicsock
|
|
tailscale.com/util/set from tailscale.com/control/controlclient+
|
|
tailscale.com/util/singleflight from tailscale.com/control/controlclient+
|
|
tailscale.com/util/slicesx from tailscale.com/appc+
|
|
tailscale.com/util/syspolicy/internal from tailscale.com/util/syspolicy/internal/metrics+
|
|
tailscale.com/util/syspolicy/internal/loggerx from tailscale.com/util/syspolicy/internal/metrics+
|
|
tailscale.com/util/syspolicy/internal/metrics from tailscale.com/util/syspolicy/source
|
|
tailscale.com/util/syspolicy/pkey from tailscale.com/control/controlclient+
|
|
tailscale.com/util/syspolicy/policyclient from tailscale.com/control/controlclient+
|
|
tailscale.com/util/syspolicy/ptype from tailscale.com/ipn/ipnlocal+
|
|
tailscale.com/util/syspolicy/rsop from tailscale.com/ipn/localapi
|
|
tailscale.com/util/syspolicy/setting from tailscale.com/client/local+
|
|
tailscale.com/util/syspolicy/source from tailscale.com/util/syspolicy/rsop
|
|
tailscale.com/util/testenv from tailscale.com/control/controlclient+
|
|
tailscale.com/util/truncate from tailscale.com/logtail
|
|
tailscale.com/util/usermetric from tailscale.com/health+
|
|
tailscale.com/util/vizerror from tailscale.com/tailcfg+
|
|
💣 tailscale.com/util/winutil from tailscale.com/hostinfo+
|
|
W 💣 tailscale.com/util/winutil/authenticode from tailscale.com/util/osdiag
|
|
W 💣 tailscale.com/util/winutil/gp from tailscale.com/net/dns+
|
|
W tailscale.com/util/winutil/policy from tailscale.com/ipn/ipnlocal
|
|
W 💣 tailscale.com/util/winutil/winenv from tailscale.com/hostinfo+
|
|
tailscale.com/util/zstdframe from tailscale.com/control/controlclient+
|
|
tailscale.com/version from tailscale.com/client/web+
|
|
tailscale.com/version/distro from tailscale.com/client/web+
|
|
tailscale.com/wgengine from tailscale.com/ipn/ipnlocal+
|
|
tailscale.com/wgengine/filter from tailscale.com/control/controlclient+
|
|
tailscale.com/wgengine/filter/filtertype from tailscale.com/types/netmap+
|
|
💣 tailscale.com/wgengine/magicsock from tailscale.com/ipn/ipnlocal+
|
|
tailscale.com/wgengine/netlog from tailscale.com/feature/netlog
|
|
tailscale.com/wgengine/netstack from tailscale.com/tsnet
|
|
tailscale.com/wgengine/netstack/gro from tailscale.com/net/tstun+
|
|
tailscale.com/wgengine/router from tailscale.com/ipn/ipnlocal+
|
|
tailscale.com/wgengine/wgcfg from tailscale.com/ipn/ipnlocal+
|
|
💣 tailscale.com/wgengine/wgint from tailscale.com/wgengine+
|
|
tailscale.com/wgengine/wglog from tailscale.com/wgengine
|
|
golang.org/x/crypto/argon2 from tailscale.com/tka
|
|
golang.org/x/crypto/blake2b from golang.org/x/crypto/argon2+
|
|
golang.org/x/crypto/blake2s from github.com/tailscale/wireguard-go/device+
|
|
golang.org/x/crypto/chacha20 from golang.org/x/crypto/chacha20poly1305
|
|
golang.org/x/crypto/chacha20poly1305 from github.com/tailscale/wireguard-go/device+
|
|
golang.org/x/crypto/curve25519 from github.com/tailscale/wireguard-go/device+
|
|
golang.org/x/crypto/hkdf from tailscale.com/control/controlbase
|
|
golang.org/x/crypto/internal/alias from golang.org/x/crypto/chacha20+
|
|
golang.org/x/crypto/internal/poly1305 from golang.org/x/crypto/chacha20poly1305+
|
|
golang.org/x/crypto/nacl/box from tailscale.com/types/key
|
|
golang.org/x/crypto/nacl/secretbox from golang.org/x/crypto/nacl/box
|
|
golang.org/x/crypto/poly1305 from github.com/tailscale/wireguard-go/device
|
|
golang.org/x/crypto/salsa20/salsa from golang.org/x/crypto/nacl/box+
|
|
golang.org/x/exp/constraints from tailscale.com/tsweb/varz+
|
|
golang.org/x/exp/maps from tailscale.com/ipn/store/mem+
|
|
golang.org/x/net/bpf from github.com/mdlayher/netlink+
|
|
golang.org/x/net/dns/dnsmessage from tailscale.com/appc+
|
|
golang.org/x/net/http/httpguts from tailscale.com/ipn/ipnlocal
|
|
golang.org/x/net/http/httpproxy from tailscale.com/net/tshttpproxy
|
|
golang.org/x/net/icmp from tailscale.com/net/ping
|
|
golang.org/x/net/idna from golang.org/x/net/http/httpguts+
|
|
golang.org/x/net/internal/iana from golang.org/x/net/icmp+
|
|
golang.org/x/net/internal/socket from golang.org/x/net/ipv4+
|
|
LDW golang.org/x/net/internal/socks from golang.org/x/net/proxy
|
|
golang.org/x/net/ipv4 from github.com/tailscale/wireguard-go/conn+
|
|
golang.org/x/net/ipv6 from github.com/tailscale/wireguard-go/conn+
|
|
LDW golang.org/x/net/proxy from tailscale.com/net/netns
|
|
DI golang.org/x/net/route from tailscale.com/net/netmon+
|
|
golang.org/x/oauth2 from golang.org/x/oauth2/clientcredentials
|
|
golang.org/x/oauth2/clientcredentials from tailscale.com/feature/oauthkey
|
|
golang.org/x/oauth2/internal from golang.org/x/oauth2+
|
|
golang.org/x/sync/errgroup from github.com/mdlayher/socket+
|
|
golang.org/x/sys/cpu from github.com/tailscale/certstore+
|
|
LDAI golang.org/x/sys/unix from github.com/jsimonetti/rtnetlink/internal/unix+
|
|
W golang.org/x/sys/windows from github.com/dblohm7/wingoes+
|
|
W golang.org/x/sys/windows/registry from github.com/dblohm7/wingoes+
|
|
W golang.org/x/sys/windows/svc from golang.org/x/sys/windows/svc/mgr+
|
|
W golang.org/x/sys/windows/svc/mgr from tailscale.com/util/winutil
|
|
golang.org/x/term from tailscale.com/logpolicy
|
|
golang.org/x/text/secure/bidirule from golang.org/x/net/idna
|
|
golang.org/x/text/transform from golang.org/x/text/secure/bidirule+
|
|
golang.org/x/text/unicode/bidi from golang.org/x/net/idna+
|
|
golang.org/x/text/unicode/norm from golang.org/x/net/idna
|
|
golang.org/x/time/rate from gvisor.dev/gvisor/pkg/log+
|
|
vendor/golang.org/x/crypto/chacha20 from vendor/golang.org/x/crypto/chacha20poly1305
|
|
vendor/golang.org/x/crypto/chacha20poly1305 from crypto/hpke+
|
|
vendor/golang.org/x/crypto/cryptobyte from crypto/ecdsa+
|
|
vendor/golang.org/x/crypto/cryptobyte/asn1 from crypto/ecdsa+
|
|
vendor/golang.org/x/crypto/internal/alias from vendor/golang.org/x/crypto/chacha20+
|
|
vendor/golang.org/x/crypto/internal/poly1305 from vendor/golang.org/x/crypto/chacha20poly1305
|
|
vendor/golang.org/x/net/dns/dnsmessage from net
|
|
vendor/golang.org/x/net/http/httpguts from net/http+
|
|
vendor/golang.org/x/net/http/httpproxy from net/http
|
|
vendor/golang.org/x/net/http2/hpack from net/http+
|
|
vendor/golang.org/x/net/idna from net/http+
|
|
vendor/golang.org/x/sys/cpu from vendor/golang.org/x/crypto/chacha20poly1305
|
|
vendor/golang.org/x/text/secure/bidirule from vendor/golang.org/x/net/idna
|
|
vendor/golang.org/x/text/transform from vendor/golang.org/x/text/secure/bidirule+
|
|
vendor/golang.org/x/text/unicode/bidi from vendor/golang.org/x/net/idna+
|
|
vendor/golang.org/x/text/unicode/norm from vendor/golang.org/x/net/idna
|
|
bufio from compress/flate+
|
|
bytes from bufio+
|
|
cmp from encoding/json+
|
|
compress/flate from compress/gzip+
|
|
compress/gzip from internal/profile+
|
|
W compress/zlib from debug/pe
|
|
container/heap from gvisor.dev/gvisor/pkg/tcpip/transport/tcp
|
|
container/list from crypto/tls+
|
|
context from crypto/tls+
|
|
crypto from crypto/ecdh+
|
|
crypto/aes from crypto/tls+
|
|
crypto/cipher from crypto/aes+
|
|
crypto/des from crypto/tls+
|
|
crypto/dsa from crypto/x509
|
|
crypto/ecdh from crypto/ecdsa+
|
|
crypto/ecdsa from crypto/tls+
|
|
crypto/ed25519 from crypto/tls+
|
|
crypto/elliptic from crypto/ecdsa+
|
|
crypto/fips140 from crypto/tls/internal/fips140tls+
|
|
crypto/hkdf from crypto/hpke+
|
|
crypto/hmac from crypto/tls+
|
|
crypto/hpke from crypto/tls
|
|
crypto/internal/boring from crypto/aes+
|
|
crypto/internal/boring/bbig from crypto/ecdsa+
|
|
crypto/internal/boring/sig from crypto/internal/boring
|
|
crypto/internal/constanttime from crypto/internal/fips140/edwards25519+
|
|
crypto/internal/fips140 from crypto/fips140+
|
|
crypto/internal/fips140/aes from crypto/aes+
|
|
crypto/internal/fips140/aes/gcm from crypto/cipher+
|
|
crypto/internal/fips140/alias from crypto/cipher+
|
|
crypto/internal/fips140/bigmod from crypto/internal/fips140/ecdsa+
|
|
crypto/internal/fips140/check from crypto/fips140+
|
|
crypto/internal/fips140/drbg from crypto/hpke+
|
|
crypto/internal/fips140/ecdh from crypto/ecdh
|
|
crypto/internal/fips140/ecdsa from crypto/ecdsa
|
|
crypto/internal/fips140/ed25519 from crypto/ed25519
|
|
crypto/internal/fips140/edwards25519 from crypto/internal/fips140/ed25519
|
|
crypto/internal/fips140/edwards25519/field from crypto/ecdh+
|
|
crypto/internal/fips140/hkdf from crypto/hkdf+
|
|
crypto/internal/fips140/hmac from crypto/hmac+
|
|
crypto/internal/fips140/mlkem from crypto/mlkem
|
|
crypto/internal/fips140/nistec from crypto/ecdsa+
|
|
crypto/internal/fips140/nistec/fiat from crypto/internal/fips140/nistec
|
|
crypto/internal/fips140/rsa from crypto/rsa
|
|
crypto/internal/fips140/sha256 from crypto/internal/fips140/check+
|
|
crypto/internal/fips140/sha3 from crypto/internal/fips140/hmac+
|
|
crypto/internal/fips140/sha512 from crypto/internal/fips140/ecdsa+
|
|
crypto/internal/fips140/subtle from crypto/internal/fips140/aes+
|
|
crypto/internal/fips140/tls12 from crypto/tls
|
|
crypto/internal/fips140/tls13 from crypto/tls
|
|
crypto/internal/fips140cache from crypto/ecdsa+
|
|
crypto/internal/fips140deps/byteorder from crypto/internal/fips140/aes+
|
|
crypto/internal/fips140deps/cpu from crypto/internal/fips140/aes+
|
|
crypto/internal/fips140deps/godebug from crypto/internal/fips140+
|
|
crypto/internal/fips140deps/time from crypto/internal/entropy/v1.0.0
|
|
crypto/internal/fips140hash from crypto/ecdsa+
|
|
crypto/internal/fips140only from crypto/cipher+
|
|
crypto/internal/impl from crypto/internal/fips140/aes+
|
|
crypto/internal/rand from crypto/dsa+
|
|
crypto/internal/randutil from crypto/internal/rand
|
|
crypto/internal/sysrand from crypto/internal/fips140/drbg
|
|
crypto/md5 from crypto/tls+
|
|
crypto/mlkem from crypto/hpke+
|
|
crypto/rand from crypto/ed25519+
|
|
crypto/rc4 from crypto/tls
|
|
crypto/rsa from crypto/tls+
|
|
crypto/sha1 from crypto/tls+
|
|
crypto/sha256 from crypto/tls+
|
|
crypto/sha3 from crypto/internal/fips140hash+
|
|
crypto/sha512 from crypto/ecdsa+
|
|
crypto/subtle from crypto/cipher+
|
|
crypto/tls from net/http+
|
|
crypto/tls/internal/fips140tls from crypto/tls
|
|
crypto/x509 from crypto/tls+
|
|
DI crypto/x509/internal/macos from crypto/x509
|
|
crypto/x509/pkix from crypto/x509+
|
|
W debug/dwarf from debug/pe
|
|
W debug/pe from github.com/dblohm7/wingoes/pe
|
|
embed from github.com/tailscale/web-client-prebuilt+
|
|
encoding from encoding/json+
|
|
encoding/asn1 from crypto/x509+
|
|
encoding/base32 from github.com/fxamacker/cbor/v2+
|
|
encoding/base64 from encoding/json+
|
|
encoding/binary from compress/gzip+
|
|
encoding/hex from crypto/x509+
|
|
encoding/json from expvar+
|
|
encoding/pem from crypto/tls+
|
|
encoding/xml from github.com/huin/goupnp+
|
|
errors from bufio+
|
|
expvar from tailscale.com/health+
|
|
flag from tailscale.com/util/testenv
|
|
fmt from compress/flate+
|
|
hash from crypto+
|
|
W hash/adler32 from compress/zlib
|
|
hash/crc32 from compress/gzip+
|
|
hash/fnv from tailscale.com/net/traffic
|
|
hash/maphash from go4.org/mem
|
|
html from html/template+
|
|
LDW html/template from tailscale.com/util/eventbus
|
|
internal/abi from crypto/x509/internal/macos+
|
|
internal/asan from internal/runtime/maps+
|
|
internal/bisect from internal/godebug
|
|
internal/bytealg from bytes+
|
|
internal/byteorder from crypto/cipher+
|
|
internal/chacha8rand from math/rand/v2+
|
|
internal/coverage/rtcov from runtime
|
|
internal/cpu from crypto/internal/fips140deps/cpu+
|
|
internal/filepathlite from os+
|
|
internal/fmtsort from fmt+
|
|
internal/goarch from crypto/internal/fips140deps/cpu+
|
|
internal/godebug from crypto/ed25519+
|
|
internal/godebugs from internal/godebug+
|
|
internal/goexperiment from net/http/pprof+
|
|
internal/goos from crypto/x509+
|
|
internal/msan from internal/runtime/maps+
|
|
internal/nettrace from net+
|
|
internal/oserror from internal/syscall/windows+
|
|
internal/poll from net+
|
|
internal/profile from net/http/pprof
|
|
internal/profilerecord from runtime+
|
|
internal/race from internal/poll+
|
|
internal/reflectlite from context+
|
|
DI internal/routebsd from net
|
|
internal/runtime/atomic from internal/runtime/exithook+
|
|
LA internal/runtime/cgroup from runtime
|
|
internal/runtime/exithook from runtime
|
|
internal/runtime/gc from internal/runtime/gc/scan+
|
|
internal/runtime/gc/scan from runtime
|
|
internal/runtime/maps from hash/maphash+
|
|
internal/runtime/math from internal/runtime/maps+
|
|
internal/runtime/pprof/label from runtime+
|
|
internal/runtime/sys from crypto/subtle+
|
|
LA internal/runtime/syscall/linux from internal/runtime/cgroup+
|
|
W internal/runtime/syscall/windows from internal/syscall/windows+
|
|
internal/saferio from debug/pe+
|
|
internal/singleflight from net
|
|
internal/strconv from internal/poll+
|
|
internal/stringslite from embed+
|
|
internal/sync from sync+
|
|
internal/synctest from sync
|
|
internal/syscall/execenv from os+
|
|
LDAI internal/syscall/unix from crypto/internal/sysrand+
|
|
W internal/syscall/windows from crypto/internal/fips140deps/time+
|
|
W internal/syscall/windows/registry from mime+
|
|
W internal/syscall/windows/sysdll from internal/syscall/windows+
|
|
internal/testlog from os
|
|
internal/trace/tracev2 from runtime+
|
|
internal/unsafeheader from internal/reflectlite+
|
|
io from bufio+
|
|
io/fs from crypto/x509+
|
|
io/ioutil from github.com/huin/goupnp/soap+
|
|
iter from bytes+
|
|
log from expvar+
|
|
log/internal from log
|
|
maps from crypto/x509+
|
|
math from compress/flate+
|
|
math/big from crypto/dsa+
|
|
math/bits from bytes+
|
|
math/rand from github.com/fxamacker/cbor/v2+
|
|
math/rand/v2 from crypto/ecdsa+
|
|
mime from mime/multipart+
|
|
mime/multipart from net/http
|
|
mime/quotedprintable from mime/multipart
|
|
net from crypto/tls+
|
|
net/http from expvar+
|
|
net/http/httptrace from net/http+
|
|
net/http/httputil from tailscale.com/client/web+
|
|
net/http/internal from net/http+
|
|
net/http/internal/ascii from net/http+
|
|
net/http/internal/httpcommon from net/http
|
|
net/http/pprof from tailscale.com/ipn/localapi+
|
|
net/netip from crypto/x509+
|
|
net/textproto from github.com/coder/websocket+
|
|
net/url from crypto/x509+
|
|
os from crypto/internal/sysrand+
|
|
os/exec from github.com/godbus/dbus/v5+
|
|
os/user from github.com/godbus/dbus/v5+
|
|
path from debug/dwarf+
|
|
path/filepath from crypto/x509+
|
|
reflect from encoding/asn1+
|
|
regexp from github.com/huin/goupnp/httpu+
|
|
regexp/syntax from regexp
|
|
runtime from crypto/internal/fips140+
|
|
runtime/debug from github.com/klauspost/compress/zstd+
|
|
runtime/pprof from net/http/pprof+
|
|
runtime/trace from net/http/pprof
|
|
slices from crypto/tls+
|
|
sort from compress/flate+
|
|
strconv from compress/flate+
|
|
strings from bufio+
|
|
W structs from internal/syscall/windows
|
|
sync from compress/flate+
|
|
sync/atomic from context+
|
|
syscall from crypto/internal/sysrand+
|
|
text/tabwriter from runtime/pprof
|
|
LDW text/template from html/template
|
|
LDW text/template/parse from html/template+
|
|
time from compress/gzip+
|
|
unicode from bytes+
|
|
unicode/utf16 from crypto/x509+
|
|
unicode/utf8 from bufio+
|
|
unique from net/netip
|
|
unsafe from bytes+
|
|
weak from unique+
|