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
Brad Fitzpatrick 515866d7c6 ipn, ipnserver, cmd/tailscale: add "server mode" support on Windows
This partially (but not yet fully) migrates Windows to tailscaled's
StateStore storage system.

This adds a new bool Pref, ForceDaemon, defined as:

// ForceDaemon specifies whether a platform that normally
// operates in "client mode" (that is, requires an active user
// logged in with the GUI app running) should keep running after the
// GUI ends and/or the user logs out.
//
// The only current applicable platform is Windows. This
// forced Windows to go into "server mode" where Tailscale is
// running even with no users logged in. This might also be
// used for macOS in the future. This setting has no effect
// for Linux/etc, which always operate in daemon mode.

Then, when ForceDaemon becomes true, we now write use the StateStore
to track which user started it in server mode, and store their prefs
under that key.

The ipnserver validates the connections/identities and informs that
LocalBackend which userid is currently in charge.

The GUI can then enable/disable server mode at runtime, without using
the CLI.

But the "tailscale up" CLI was also fixed, so Windows users can use
authkeys or ACL tags, etc.

Updates #275
4 years ago
..
ipnserver ipn, ipnserver, cmd/tailscale: add "server mode" support on Windows 4 years ago
ipnstate Revert "all: keep UserProfiles a slice instead of a map for longer" 4 years ago
policy ipn, ipn/policy: filter portlist to a short list of "interesting" ports 5 years ago
backend.go ipn, ipnserver, cmd/tailscale: add "server mode" support on Windows 4 years ago
doc.go Move Linux client & common packages into a public repo. 5 years ago
fake_test.go cmd/tailscale/cli: add basic 'down' subcommand 4 years ago
handle.go ipn: add Login backend command for sign-in with token 4 years ago
local.go ipn, ipnserver, cmd/tailscale: add "server mode" support on Windows 4 years ago
loglines_test.go ipn: simplify TestLocalLogLines, defer a Shutdown of its LocalBackend 4 years ago
message.go cmd/tailscale/cli: add basic 'down' subcommand 4 years ago
message_test.go ipn: add Login backend command for sign-in with token 4 years ago
prefs.go ipn, ipnserver, cmd/tailscale: add "server mode" support on Windows 4 years ago
prefs_test.go ipn, ipnserver, cmd/tailscale: add "server mode" support on Windows 4 years ago
store.go ipn, ipnserver, cmd/tailscale: add "server mode" support on Windows 4 years ago
store_test.go Add tstest.PanicOnLog(), and fix various problems detected by this. 4 years ago