This one alone doesn't modify the global dependency map much
(depaware.txt if anything looks slightly worse), but it leave
controlclient as only containing NetworkMap:
bradfitz@tsdev:~/src/tailscale.com/ipn$ grep -F "controlclient." *.go
backend.go: NetMap *controlclient.NetworkMap // new netmap received
fake_test.go: b.notify(Notify{NetMap: &controlclient.NetworkMap{}})
fake_test.go: b.notify(Notify{NetMap: &controlclient.NetworkMap{}})
handle.go: netmapCache *controlclient.NetworkMap
handle.go:func (h *Handle) NetMap() *controlclient.NetworkMap {
Once that goes into a leaf package, then ipn doesn't depend on
controlclient at all, and then the client gets smaller.
Updates #1278
main
parent
a046b48593
commit
ddfcc4326c
@ -1,20 +0,0 @@ |
||||
// Copyright (c) 2020 Tailscale Inc & AUTHORS All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// Code generated by tailscale.com/cmd/cloner -type Persist; DO NOT EDIT.
|
||||
|
||||
package controlclient |
||||
|
||||
import () |
||||
|
||||
// Clone makes a deep copy of Persist.
|
||||
// The result aliases no memory with the original.
|
||||
func (src *Persist) Clone() *Persist { |
||||
if src == nil { |
||||
return nil |
||||
} |
||||
dst := new(Persist) |
||||
*dst = *src |
||||
return dst |
||||
} |
||||
@ -0,0 +1,73 @@ |
||||
// Copyright (c) 2021 Tailscale Inc & AUTHORS All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// Package persist contains the Persist type.
|
||||
package persist |
||||
|
||||
import ( |
||||
"fmt" |
||||
|
||||
"tailscale.com/types/structs" |
||||
"tailscale.com/types/wgkey" |
||||
) |
||||
|
||||
//go:generate go run tailscale.com/cmd/cloner -type=Persist -output=persist_clone.go
|
||||
|
||||
// Persist is the JSON type stored on disk on nodes to remember their
|
||||
// settings between runs.
|
||||
type Persist struct { |
||||
_ structs.Incomparable |
||||
|
||||
// LegacyFrontendPrivateMachineKey is here temporarily
|
||||
// (starting 2020-09-28) during migration of Windows users'
|
||||
// machine keys from frontend storage to the backend. On the
|
||||
// first LocalBackend.Start call, the backend will initialize
|
||||
// the real (backend-owned) machine key from the frontend's
|
||||
// provided value (if non-zero), picking a new random one if
|
||||
// needed. This field should be considered read-only from GUI
|
||||
// frontends. The real value should not be written back in
|
||||
// this field, lest the frontend persist it to disk.
|
||||
LegacyFrontendPrivateMachineKey wgkey.Private `json:"PrivateMachineKey"` |
||||
|
||||
PrivateNodeKey wgkey.Private |
||||
OldPrivateNodeKey wgkey.Private // needed to request key rotation
|
||||
Provider string |
||||
LoginName string |
||||
} |
||||
|
||||
func (p *Persist) Equals(p2 *Persist) bool { |
||||
if p == nil && p2 == nil { |
||||
return true |
||||
} |
||||
if p == nil || p2 == nil { |
||||
return false |
||||
} |
||||
|
||||
return p.LegacyFrontendPrivateMachineKey.Equal(p2.LegacyFrontendPrivateMachineKey) && |
||||
p.PrivateNodeKey.Equal(p2.PrivateNodeKey) && |
||||
p.OldPrivateNodeKey.Equal(p2.OldPrivateNodeKey) && |
||||
p.Provider == p2.Provider && |
||||
p.LoginName == p2.LoginName |
||||
} |
||||
|
||||
func (p *Persist) Pretty() string { |
||||
var mk, ok, nk wgkey.Key |
||||
if !p.LegacyFrontendPrivateMachineKey.IsZero() { |
||||
mk = p.LegacyFrontendPrivateMachineKey.Public() |
||||
} |
||||
if !p.OldPrivateNodeKey.IsZero() { |
||||
ok = p.OldPrivateNodeKey.Public() |
||||
} |
||||
if !p.PrivateNodeKey.IsZero() { |
||||
nk = p.PrivateNodeKey.Public() |
||||
} |
||||
ss := func(k wgkey.Key) string { |
||||
if k.IsZero() { |
||||
return "" |
||||
} |
||||
return k.ShortString() |
||||
} |
||||
return fmt.Sprintf("Persist{lm=%v, o=%v, n=%v u=%#v}", |
||||
ss(mk), ss(ok), ss(nk), p.LoginName) |
||||
} |
||||
@ -0,0 +1,34 @@ |
||||
// Copyright (c) 2020 Tailscale Inc & AUTHORS All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// Code generated by tailscale.com/cmd/cloner -type Persist; DO NOT EDIT.
|
||||
|
||||
package persist |
||||
|
||||
import ( |
||||
"tailscale.com/types/structs" |
||||
"tailscale.com/types/wgkey" |
||||
) |
||||
|
||||
// Clone makes a deep copy of Persist.
|
||||
// The result aliases no memory with the original.
|
||||
func (src *Persist) Clone() *Persist { |
||||
if src == nil { |
||||
return nil |
||||
} |
||||
dst := new(Persist) |
||||
*dst = *src |
||||
return dst |
||||
} |
||||
|
||||
// A compilation failure here means this code must be regenerated, with command:
|
||||
// tailscale.com/cmd/cloner -type Persist
|
||||
var _PersistNeedsRegeneration = Persist(struct { |
||||
_ structs.Incomparable |
||||
LegacyFrontendPrivateMachineKey wgkey.Private |
||||
PrivateNodeKey wgkey.Private |
||||
OldPrivateNodeKey wgkey.Private |
||||
Provider string |
||||
LoginName string |
||||
}{}) |
||||
Loading…
Reference in new issue