~stepbrobd/tailscale

45354dab9bddc97acaa84b03b99448ac49b4c0cf — Irbe Krumina a month ago b4f46c3
ipn,tailcfg: add app connector config knob to conffile (#13942)

Make it possible to advertise app connector via a new conffile field.
Also bumps capver - conffile deserialization errors out if unknonw
fields are set, so we need to know which clients understand the new field.

Updates tailscale/tailscale#11113

Signed-off-by: Irbe Krumina <irbe@tailscale.com>
2 files changed, 8 insertions(+), 1 deletions(-)

M ipn/conf.go
M tailcfg/tailcfg.go
M ipn/conf.go => ipn/conf.go +6 -0
@@ 32,6 32,8 @@ type ConfigVAlpha struct {
	AdvertiseRoutes []netip.Prefix `json:",omitempty"`
	DisableSNAT     opt.Bool       `json:",omitempty"`

	AppConnector *AppConnectorPrefs `json:",omitempty"` // advertise app connector; defaults to false (if nil or explicitly set to false)

	NetfilterMode       *string  `json:",omitempty"` // "on", "off", "nodivert"
	NoStatefulFiltering opt.Bool `json:",omitempty"`



@@ 137,5 139,9 @@ func (c *ConfigVAlpha) ToPrefs() (MaskedPrefs, error) {
		mp.AutoUpdate = *c.AutoUpdate
		mp.AutoUpdateSet = AutoUpdatePrefsMask{ApplySet: true, CheckSet: true}
	}
	if c.AppConnector != nil {
		mp.AppConnector = *c.AppConnector
		mp.AppConnectorSet = true
	}
	return mp, nil
}

M tailcfg/tailcfg.go => tailcfg/tailcfg.go +2 -1
@@ 149,7 149,8 @@ type CapabilityVersion int
//   - 104: 2024-08-03: SelfNodeV6MasqAddrForThisPeer now works
//   - 105: 2024-08-05: Fixed SSH behavior on systems that use busybox (issue #12849)
//   - 106: 2024-09-03: fix panic regression from cryptokey routing change (65fe0ba7b5)
const CurrentCapabilityVersion CapabilityVersion = 106
//   - 107: 2024-10-30: add App Connector to conffile (PR #13942)
const CurrentCapabilityVersion CapabilityVersion = 107

type StableID string