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
Josh Bleecher Snyder 63cd581c3f safesocket: add ConnectionStrategy, provide control over fallbacks
fee2d9fad added support for cmd/tailscale to connect to IPNExtension.
It came in two parts: If no socket was provided, dial IPNExtension first,
and also, if dialing the socket failed, fall back to IPNExtension.

The second half of that support caused the integration tests to fail
when run on a machine that was also running IPNExtension.
The integration tests want to wait until the tailscaled instances
that they spun up are listening. They do that by dialing the new
instance. But when that dial failed, it was falling back to IPNExtension,
so it appeared (incorrectly) that tailscaled was running.
Hilarity predictably ensued.

If a user (or a test) explicitly provides a socket to dial,
it is a reasonable assumption that they have a specific tailscaled
in mind and don't want to fall back to IPNExtension.
It is certainly true of the integration tests.

Instead of adding a bool to Connect, split out the notion of a
connection strategy. For now, the implementation remains the same,
but with the details hidden a bit. Later, we can improve that.

Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com>
3 years ago
..
ipnlocal ipn/ipnstate: remove old deprecated TailAddr IPv4-only field 3 years ago
ipnserver safesocket: add ConnectionStrategy, provide control over fallbacks 3 years ago
ipnstate ipn/ipnstate: remove old deprecated TailAddr IPv4-only field 3 years ago
localapi net/tsdial: move more weirdo dialing into new tsdial package, plumb 3 years ago
policy ipn/policy: treat DNS service as interesting so it's not filtered out 3 years ago
store/aws ipn/store/aws: support using sub-paths in parameters 3 years ago
backend.go ipn: use key.NodePublic instead of tailcfg.NodeKey 3 years ago
doc.go Move Linux client & common packages into a public repo. 4 years ago
fake_test.go ipn{,/ipnlocal}, cmd/tailscale/cli: don't check pref reverts on initial up 3 years ago
handle.go ipn: another controlplane synonym 3 years ago
message.go ipn: don't log IPN messages that may contain an authkey. 3 years ago
message_test.go ipn: allow b to be nil in NewBackendServer 3 years ago
prefs.go ipn: fix formatting of ExitNodeIP in MaskedPrefs 3 years ago
prefs_clone.go cmd/cloner: mangle "go:generate" in cloner.go 3 years ago
prefs_test.go types/persist: use new node key type. 3 years ago
store.go ipn: remove mention of wgkey in comment. 3 years ago
store_test.go ipn: test TestFileStore in a fresh subdirectory 3 years ago