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/cmd/tailscaled
Brad Fitzpatrick e8cc78b1af ipn/ipnserver: change Server to let LocalBackend be supplied async
This is step 1 of de-special-casing of Windows and letting the
LocalAPI HTTP server start serving immediately, even while the rest of
the world (notably the Engine and its TUN device) are being created,
which can take a few to dozens of seconds on Windows.

With this change, the ipnserver.New function changes to not take an
Engine and to return immediately, not returning an error, and let its
Run run immediately. If its ServeHTTP is called when it doesn't yet
have a LocalBackend, it returns an error. A TODO in there shows where
a future handler will serve status before an engine is available.

Future changes will:

* delete a bunch of tailscaled_windows.go code and use this new API
* add the ipnserver.Server ServerHTTP handler to await the engine
  being available
* use that handler in the Windows GUI client

Updates #6522

Change-Id: Iae94e68c235e850b112a72ea24ad0e0959b568ee
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2 years ago
..
childproc cmd/tailscaled/childproc: add be-child registration mechanism 2 years ago
debug.go all: remove old +build tags 2 years ago
depaware.txt ipn/ipnserver: change Server to let LocalBackend be supplied async 2 years ago
generate.go cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 2 years ago
install_darwin.go all: remove old +build tags 2 years ago
install_windows.go all: remove old +build tags 2 years ago
manifest_windows_386.syso cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 2 years ago
manifest_windows_amd64.syso cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 2 years ago
manifest_windows_arm.syso cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 2 years ago
manifest_windows_arm64.syso cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 2 years ago
proxy.go all: remove old +build tags 2 years ago
required_version.go all: remove old +build tags 2 years ago
ssh.go ssh/tailssh: add Tailscale SSH (server) support on FreeBSD 2 years ago
taildrop.go ipn/ipnserver: change Server to let LocalBackend be supplied async 2 years ago
tailscaled.defaults cmd/tailscaled: rename relaynode reference in defaults file comment 4 years ago
tailscaled.go ipn/ipnserver: change Server to let LocalBackend be supplied async 2 years ago
tailscaled.openrc tstest/integration/vms: use an in-process logcatcher (#2360) 3 years ago
tailscaled.service cmd/tailscaled: use explicit equal sign in --port=$PORT in tailscaled.service 2 years ago
tailscaled_bird.go cmd/tailscaled, net/tstun: add build tags to omit BIRD and TAP 2 years ago
tailscaled_notwindows.go all: remove old +build tags 2 years ago
tailscaled_test.go cmd/tailscaled: add a no-op test for profiling init-time memory allocs 2 years ago
tailscaled_windows.go ipn/ipnserver: change Server to let LocalBackend be supplied async 2 years ago
windows-manifest.xml cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 2 years ago
with_cli.go all: remove old +build tags 2 years ago