You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Nick Khyl
4e7f4086b2
ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate
...
Conventionally, we use views (e.g., ipn.PrefsView, tailcfg.NodeView, etc.) when
dealing with structs that shouldn't be mutated. However, ipn.LoginProfile has been
an exception so far, with a mix of passing and returning LoginProfile by reference
(allowing accidental mutations) and by value (which is wasteful, given its
current size of 192 bytes).
In this PR, we generate an ipn.LoginProfileView and use it instead of passing/returning
LoginProfiles by mutable reference or copying them when passing/returning by value.
Now, LoginProfiles can only be mutated by (*profileManager).setProfilePrefs.
Updates #14823
Signed-off-by: Nick Khyl <nickk@tailscale.com>
1 year ago
..
conffile
ipn/conffile: don't depend on hujson on iOS/Android
2 years ago
ipnauth
ipn/{ipnauth,ipnlocal,ipnserver}, client/tailscale: make ipnserver.Server testable
1 year ago
ipnlocal
ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate
1 year ago
ipnserver
ipn/ipnserver: fix a deadlock in (*Server).blockWhileIdentityInUse
1 year ago
ipnstate
all: illumos/solaris userspace only support
1 year ago
localapi
ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate
1 year ago
policy
ipn,tailconfig: clean up unreleased and removed app connector service
2 years ago
store
kube/{kubeapi,kubeclient},ipn/store/kubestore,cmd/{containerboot,k8s-operator}: emit kube store Events ( #14112 )
1 year ago
backend.go
ipn: declare NotifyWatchOpt consts without using iota
1 year ago
conf.go
ipn/conf.go: add VIPServices to tailscaled configfile ( #14345 )
1 year ago
doc.go
ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate
1 year ago
ipn_clone.go
ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate
1 year ago
ipn_test.go
all: do not depend on the testing package
2 years ago
ipn_view.go
ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate
1 year ago
prefs.go
cmd/tailscale,ipn,tailcfg: add `tailscale advertise` subcommand behind envknob ( #13734 )
2 years ago
prefs_test.go
types/persist: remove Persist.LegacyFrontendPrivateMachineKey
1 year ago
serve.go
tailcfg: add ServiceName
1 year ago
serve_test.go
ipn: [serve] warn that foreground funnel won't work if shields are up ( #14685 )
1 year ago
store.go
ipn: add comment about thread-safety to StateStore
2 years ago
store_test.go
ipn: avoid useless no-op WriteState calls
3 years ago