You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/ipn
Jonathan Nobels 643e91f2eb
net/netmon: move TailscaleInterfaceIndex out of netmon.State (#18428)
fixes tailscale/tailscale#18418

Both Serve and PeerAPI broke when we moved the TailscaleInterfaceName
into State, which is updated asynchronously and may not be
available when we configure the listeners.

This extracts the explicit interface name property from netmon.State
and adds as a static struct with getters that have proper error
handling.

The bug is only found in sandboxed Darwin clients, where we
need to know the Tailscale interface details in order to set up the
listeners correctly (they must bind to our interface explicitly to escape
the network sandboxing that is applied by NECP).

Currently set only sandboxed macOS and Plan9 set this but it will
also be useful on Windows to simplify interface filtering in netns.

Signed-off-by: Jonathan Nobels <jonathan@tailscale.com>
1 day ago
..
auditlog syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging 2 months ago
conffile cmd/tailscale/cli,ipn/conffile: add declarative config mode for Services (#17435) 3 months ago
desktop go.mod: bump golang.org/x/crypto (#17907) 2 months ago
ipnauth ipn/ipnauth, safesocket: defer named pipe client's token retrieval until ipnserver needs it 4 weeks ago
ipnext ipn/ipnlocal: remove all the weird locking (LockedOnEntry, UnlockEarly, etc) 2 months ago
ipnlocal net/netmon: move TailscaleInterfaceIndex out of netmon.State (#18428) 1 day ago
ipnserver feature/featuretags, all: add build features, use existing ones in more places 4 months ago
ipnstate cmd/tailscale/cli: stabilise the output of `tailscale lock status --json` 1 month ago
lapitest various: allow tailscaled shutdown via LocalAPI 4 months ago
localapi client/local: add method to set gauge metric to a value 1 month ago
policy ipn,tailconfig: clean up unreleased and removed app connector service 2 years ago
store ipn/store/kubestore: don't load write replica certs in memory (#18395) 4 days ago
backend.go types/netmap: remove PrivateKey from NetworkMap 2 months ago
backend_test.go ipn: fix the string representation of an empty ipn.Notify 4 months ago
conf.go ipn: ensure that conffile is source of truth for advertised services. (#15361) 10 months ago
doc.go ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate 12 months ago
ipn_clone.go cmd/tailscale/cli,ipn,all: make peer relay server port a *uint16 2 months ago
ipn_test.go all: do not depend on the testing package 2 years ago
ipn_view.go cmd/tailscale/cli,ipn,all: make peer relay server port a *uint16 2 months ago
prefs.go cmd/tailscale/cli,ipn,all: make peer relay server port a *uint16 2 months ago
prefs_test.go cmd/tailscale/cli,ipn,all: make peer relay server port a *uint16 2 months ago
serve.go ipn,cmd/tailscale/cli: set correct SNI name for TLS-terminated TCP Services (#17752) 1 week ago
serve_expand_test.go cmd/tailscale,ipn: add Unix socket support for serve 1 month ago
serve_test.go ipn/serve: validate service paths in HasPathHandler 2 months ago
store.go cmd/tailscaled,ipn: show a health warning when state store fails to open (#17883) 2 months ago
store_test.go ipn/store: automatically migrate between plaintext and encrypted state (#16318) 7 months ago