tailscale/ipn/ipnlocal
Aaron Klotz 90fd04cbde ipn/ipnlocal, util/winutil/policy: modify Windows profile migration to load legacy prefs from within tailscaled
I realized that a lot of the problems that we're seeing around migration and
LocalBackend state can be avoided if we drive Windows pref migration entirely
from within tailscaled. By doing it this way, tailscaled can automatically
perform the migration as soon as the connection with the client frontend is
established.

Since tailscaled is already running as LocalSystem, it already has access to
the user's local AppData directory. The profile manager already knows which
user is connected, so we simply need to resolve the user's prefs file and read
it from there.

Of course, to properly migrate this information we need to also check system
policies. I moved a bunch of policy resolution code out of the GUI and into
a new package in util/winutil/policy.

Updates #7626

Signed-off-by: Aaron Klotz <aaron@tailscale.com>
2023-04-03 14:41:46 -07:00
..
testdata ipn/ipnlocal: fix the path for writing cert files (#7203) 2023-02-07 14:34:04 -08:00
c2n.go log: use logtail to log and upload sockstat logs 2023-03-23 09:39:41 -07:00
cert.go ipn/ipnlocal: use atomicfile.WriteFile in certFileStore 2023-03-23 17:35:44 -07:00
cert_js.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
cert_test.go ipn/ipnlocal: fix the path for writing cert files (#7203) 2023-02-07 14:34:04 -08:00
dnsconfig_test.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
expiry.go ipn/ipnlocal: handle more edge cases in netmap expiry timer 2023-02-06 20:32:25 -05:00
expiry_test.go ipn/ipnlocal: handle more edge cases in netmap expiry timer 2023-02-06 20:32:25 -05:00
local.go ipn/ipnlocal: automatically upload sockstats logs when the period ends 2023-04-03 14:31:15 -07:00
local_test.go all: pass log IDs as the proper type rather than strings 2023-03-23 11:26:55 -07:00
loglines_test.go all: pass log IDs as the proper type rather than strings 2023-03-23 11:26:55 -07:00
network-lock.go cmd/tailscale: surface node-key for locked out tailnet-lock peers 2023-03-09 11:06:23 -10:00
network-lock_test.go ipn,cmd/tailscale: implement resigning nodes on tka key removal 2023-03-03 10:09:05 -10:00
peerapi.go sockstats: remove per-interface stats from Get 2023-03-14 15:38:41 -07:00
peerapi_h2c.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
peerapi_macios_ext.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
peerapi_test.go ipn/ipnlocal: drop not required StateKey parameter 2023-01-30 17:58:55 -08:00
profiles.go ipn/ipnlocal, util/winutil/policy: modify Windows profile migration to load legacy prefs from within tailscaled 2023-04-03 14:41:46 -07:00
profiles_notwindows.go ipn/ipnlocal, util/winutil/policy: modify Windows profile migration to load legacy prefs from within tailscaled 2023-04-03 14:41:46 -07:00
profiles_test.go ipn/ipnlocal: use presence of NodeID to identify logins 2023-02-06 21:52:35 -08:00
profiles_windows.go ipn/ipnlocal, util/winutil/policy: modify Windows profile migration to load legacy prefs from within tailscaled 2023-04-03 14:41:46 -07:00
serve.go ipn/ipnlocal: [serve/funnel] use actual SrcAddr as X-Forwarded-For (#7600) 2023-03-27 10:12:04 -04:00
serve_test.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
ssh.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
ssh_stub.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
ssh_test.go ipn/ipnlocal: drop not required StateKey parameter 2023-01-30 17:58:55 -08:00
state_test.go all: pass log IDs as the proper type rather than strings 2023-03-23 11:26:55 -07:00