summaryrefslogtreecommitdiffhomepage
path: root/control/controlknobs
diff options
context:
space:
mode:
Diffstat (limited to 'control/controlknobs')
-rw-r--r--control/controlknobs/controlknobs.go23
1 files changed, 0 insertions, 23 deletions
diff --git a/control/controlknobs/controlknobs.go b/control/controlknobs/controlknobs.go
index 14f30d9ce..0e8051210 100644
--- a/control/controlknobs/controlknobs.go
+++ b/control/controlknobs/controlknobs.go
@@ -62,12 +62,6 @@ type Knobs struct {
// netfiltering, unless overridden by the user.
LinuxForceNfTables atomic.Bool
- // SeamlessKeyRenewal is whether to renew node keys without breaking connections.
- // This is enabled by default in 1.90 and later, but we but we can remotely disable
- // it from the control plane if there's a problem.
- // http://go/seamless-key-renewal
- SeamlessKeyRenewal atomic.Bool
-
// ProbeUDPLifetime is whether the node should probe UDP path lifetime on
// the tail end of an active direct connection in magicsock.
ProbeUDPLifetime atomic.Bool
@@ -142,8 +136,6 @@ func (k *Knobs) UpdateFromNodeAttributes(capMap tailcfg.NodeCapMap) {
silentDisco = has(tailcfg.NodeAttrSilentDisco)
forceIPTables = has(tailcfg.NodeAttrLinuxMustUseIPTables)
forceNfTables = has(tailcfg.NodeAttrLinuxMustUseNfTables)
- seamlessKeyRenewal = has(tailcfg.NodeAttrSeamlessKeyRenewal)
- disableSeamlessKeyRenewal = has(tailcfg.NodeAttrDisableSeamlessKeyRenewal)
probeUDPLifetime = has(tailcfg.NodeAttrProbeUDPLifetime)
appCStoreRoutes = has(tailcfg.NodeAttrStoreAppCRoutes)
userDialUseRoutes = has(tailcfg.NodeAttrUserDialUseRoutes)
@@ -181,21 +173,6 @@ func (k *Knobs) UpdateFromNodeAttributes(capMap tailcfg.NodeCapMap) {
k.DisableSkipStatusQueue.Store(disableSkipStatusQueue)
k.DisableHostsFileUpdates.Store(disableHostsFileUpdates)
k.ForceRegisterMagicDNSIPv4Only.Store(forceRegisterMagicDNSIPv4Only)
-
- // If both attributes are present, then "enable" should win. This reflects
- // the history of seamless key renewal.
- //
- // Before 1.90, seamless was a private alpha, opt-in feature. Devices would
- // only seamless do if customers opted in using the seamless renewal attr.
- //
- // In 1.90 and later, seamless is the default behaviour, and devices will use
- // seamless unless explicitly told not to by control (e.g. if we discover
- // a bug and want clients to use the prior behaviour).
- //
- // If a customer has opted in to the pre-1.90 seamless implementation, we
- // don't want to switch it off for them -- we only want to switch it off for
- // devices that haven't opted in.
- k.SeamlessKeyRenewal.Store(seamlessKeyRenewal || !disableSeamlessKeyRenewal)
}
// AsDebugJSON returns k as something that can be marshalled with json.Marshal