tailscale/cmd
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>
2022-11-28 09:48:33 -08:00
..
addlicense cmd/addlicense: add command to add licenseheaders to generated code 2021-07-19 15:31:56 -07:00
cloner cmd/{cloner,viewer}: add support for map values with pointers 2022-08-03 13:02:17 -07:00
containerboot all: standardize on LocalAPI 2022-11-16 23:15:24 +05:00
derper all: use strs.CutPrefix and strs.CutSuffix more 2022-11-21 14:32:16 -08:00
derpprobe cmd/derpprobe: add -once flag for one-off CLI diagnostics 2022-11-23 17:41:12 -08:00
gitops-pusher cmd/gitops-pusher: standardize hujson before posting to validate (#5525) 2022-09-01 13:38:32 -04:00
hello refactor: move from io/ioutil to io and os packages 2022-09-15 21:45:53 -07:00
mkmanifest cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 2022-11-21 18:15:51 -05:00
mkpkg cmd/mkpkg: use package flag (#4373) 2022-04-07 16:38:33 -04:00
netlogfmt cmd/netlogfmt: handle any stream of network logs (#6108) 2022-10-28 10:40:45 -07:00
nginx-auth cmd/nginx-auth: add experimental status badge to README 2022-10-25 11:03:40 -07:00
pgproxy cmd/pgproxy: link to blog post at the top. 2022-10-04 16:47:12 -07:00
printdep Docker: add ALPINE.txt to manage alpine versions 2022-06-29 11:47:09 -07:00
proxy-to-grafana all: gofmt for Go 1.19 2022-08-02 10:08:05 -07:00
speedtest net/speedtest: retune to meet iperf on localhost in a VM 2022-09-23 10:46:04 -07:00
ssh-auth-none-demo ssh/tailssh: add password-forcing workaround for buggy SSH clients 2022-10-11 15:03:02 -07:00
stunc cmd/stunc: add command for making debug stun requests 2022-11-23 15:38:54 -08:00
tailscale cmd/tailscale: de-punycode hostnames in status display 2022-11-27 03:11:49 -08:00
tailscaled ipn/ipnserver: change Server to let LocalBackend be supplied async 2022-11-28 09:48:33 -08:00
testcontrol all: use any instead of interface{} 2022-03-17 11:35:09 -07:00
tsconnect ipn/ipnserver: change Server to let LocalBackend be supplied async 2022-11-28 09:48:33 -08:00
tsshd all: remove old +build tags 2022-11-04 07:25:42 -07:00
viewer all: fix spelling mistakes 2022-09-29 13:36:13 -07:00