control/controlclient: remove Opts.KeepSharerAndUserSplit

It was added 2.5 years ago in c1dabd9436 but was never used.
Clearly that migration didn't matter.

We can attempt this again later if/when this matters.

Meanwhile this simplifies the code and thus makes working on other
current efforts in these parts of the code easier.

Updates #1909

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
pull/8968/head
Brad Fitzpatrick 1 year ago committed by Brad Fitzpatrick
parent 02b47d123f
commit 7dec09d169

@ -61,26 +61,25 @@ import (
// Direct is the client that connects to a tailcontrol server for a node. // Direct is the client that connects to a tailcontrol server for a node.
type Direct struct { type Direct struct {
httpc *http.Client // HTTP client used to talk to tailcontrol httpc *http.Client // HTTP client used to talk to tailcontrol
dialer *tsdial.Dialer dialer *tsdial.Dialer
dnsCache *dnscache.Resolver dnsCache *dnscache.Resolver
serverURL string // URL of the tailcontrol server serverURL string // URL of the tailcontrol server
clock tstime.Clock clock tstime.Clock
lastPrintMap time.Time lastPrintMap time.Time
newDecompressor func() (Decompressor, error) newDecompressor func() (Decompressor, error)
keepAlive bool keepAlive bool
logf logger.Logf logf logger.Logf
netMon *netmon.Monitor // or nil netMon *netmon.Monitor // or nil
discoPubKey key.DiscoPublic discoPubKey key.DiscoPublic
getMachinePrivKey func() (key.MachinePrivate, error) getMachinePrivKey func() (key.MachinePrivate, error)
debugFlags []string debugFlags []string
keepSharerAndUserSplit bool skipIPForwardingCheck bool
skipIPForwardingCheck bool pinger Pinger
pinger Pinger popBrowser func(url string) // or nil
popBrowser func(url string) // or nil c2nHandler http.Handler // or nil
c2nHandler http.Handler // or nil onClientVersion func(*tailcfg.ClientVersion) // or nil
onClientVersion func(*tailcfg.ClientVersion) // or nil onControlTime func(time.Time) // or nil
onControlTime func(time.Time) // or nil
dialPlan ControlDialPlanner // can be nil dialPlan ControlDialPlanner // can be nil
@ -126,10 +125,6 @@ type Options struct {
// Status is called when there's a change in status. // Status is called when there's a change in status.
Status func(Status) Status func(Status)
// KeepSharerAndUserSplit controls whether the client
// understands Node.Sharer. If false, the Sharer is mapped to the User.
KeepSharerAndUserSplit bool
// SkipIPForwardingCheck declares that the host's IP // SkipIPForwardingCheck declares that the host's IP
// forwarding works and should not be double-checked by the // forwarding works and should not be double-checked by the
// controlclient package. // controlclient package.
@ -244,28 +239,27 @@ func NewDirect(opts Options) (*Direct, error) {
} }
c := &Direct{ c := &Direct{
httpc: httpc, httpc: httpc,
getMachinePrivKey: opts.GetMachinePrivateKey, getMachinePrivKey: opts.GetMachinePrivateKey,
serverURL: opts.ServerURL, serverURL: opts.ServerURL,
clock: opts.Clock, clock: opts.Clock,
logf: opts.Logf, logf: opts.Logf,
newDecompressor: opts.NewDecompressor, newDecompressor: opts.NewDecompressor,
keepAlive: opts.KeepAlive, keepAlive: opts.KeepAlive,
persist: opts.Persist.View(), persist: opts.Persist.View(),
authKey: opts.AuthKey, authKey: opts.AuthKey,
discoPubKey: opts.DiscoPublicKey, discoPubKey: opts.DiscoPublicKey,
debugFlags: opts.DebugFlags, debugFlags: opts.DebugFlags,
keepSharerAndUserSplit: opts.KeepSharerAndUserSplit, netMon: opts.NetMon,
netMon: opts.NetMon, skipIPForwardingCheck: opts.SkipIPForwardingCheck,
skipIPForwardingCheck: opts.SkipIPForwardingCheck, pinger: opts.Pinger,
pinger: opts.Pinger, popBrowser: opts.PopBrowserURL,
popBrowser: opts.PopBrowserURL, onClientVersion: opts.OnClientVersion,
onClientVersion: opts.OnClientVersion, onControlTime: opts.OnControlTime,
onControlTime: opts.OnControlTime, c2nHandler: opts.C2NHandler,
c2nHandler: opts.C2NHandler, dialer: opts.Dialer,
dialer: opts.Dialer, dnsCache: dnsCache,
dnsCache: dnsCache, dialPlan: opts.DialPlan,
dialPlan: opts.DialPlan,
} }
if opts.Hostinfo == nil { if opts.Hostinfo == nil {
c.SetHostinfo(hostinfo.New()) c.SetHostinfo(hostinfo.New())
@ -994,7 +988,6 @@ func (c *Direct) sendMapRequest(ctx context.Context, isStreaming bool, nu Netmap
sess.logf = c.logf sess.logf = c.logf
sess.vlogf = vlogf sess.vlogf = vlogf
sess.machinePubKey = machinePubKey sess.machinePubKey = machinePubKey
sess.keepSharerAndUserSplit = c.keepSharerAndUserSplit
// If allowStream, then the server will use an HTTP long poll to // If allowStream, then the server will use an HTTP long poll to
// return incremental results. There is always one response right // return incremental results. There is always one response right

@ -28,11 +28,10 @@ import (
// one MapRequest). // one MapRequest).
type mapSession struct { type mapSession struct {
// Immutable fields. // Immutable fields.
privateNodeKey key.NodePrivate privateNodeKey key.NodePrivate
logf logger.Logf logf logger.Logf
vlogf logger.Logf vlogf logger.Logf
machinePubKey key.MachinePublic machinePubKey key.MachinePublic
keepSharerAndUserSplit bool // see Options.KeepSharerAndUserSplit
// Fields storing state over the course of multiple MapResponses. // Fields storing state over the course of multiple MapResponses.
lastNode *tailcfg.Node lastNode *tailcfg.Node
@ -204,11 +203,7 @@ func (ms *mapSession) netmapForResponse(resp *tailcfg.MapResponse) *netmap.Netwo
for _, peer := range resp.Peers { for _, peer := range resp.Peers {
peer.InitDisplayNames(magicDNSSuffix) peer.InitDisplayNames(magicDNSSuffix)
if !peer.Sharer.IsZero() { if !peer.Sharer.IsZero() {
if ms.keepSharerAndUserSplit { peer.User = peer.Sharer
ms.addUserProfile(peer.Sharer)
} else {
peer.User = peer.Sharer
}
} }
ms.addUserProfile(peer.User) ms.addUserProfile(peer.User)
} }

Loading…
Cancel
Save