mirror of
https://github.com/tailscale/tailscale.git
synced 2026-02-14 09:52:04 -05:00
types/netmap: remove some useless denormalized fields from NetworkMap
Updates #12639 Change-Id: Iec51c280141e22a0e3501df2053f2435e16fc0c8 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
@@ -424,7 +424,7 @@ func (mrs mapRoutineState) UpdateFullNetmap(nm *netmap.NetworkMap) {
|
||||
|
||||
c.mu.Lock()
|
||||
c.inMapPoll = true
|
||||
c.expiry = nm.Expiry
|
||||
c.expiry = nm.SelfKeyExpiry()
|
||||
stillAuthed := c.loggedIn
|
||||
c.logf("[v1] mapRoutine: netmap received: loggedIn=%v inMapPoll=true", stillAuthed)
|
||||
c.mu.Unlock()
|
||||
|
||||
@@ -1085,7 +1085,7 @@ func (c *Direct) sendMapRequest(ctx context.Context, isStreaming bool, nu Netmap
|
||||
c.persist = newPersist.View()
|
||||
persist = c.persist
|
||||
}
|
||||
c.expiry = nm.Expiry
|
||||
c.expiry = nm.SelfKeyExpiry()
|
||||
}
|
||||
|
||||
// gotNonKeepAliveMessage is whether we've yet received a MapResponse message without
|
||||
|
||||
@@ -892,8 +892,6 @@ func (ms *mapSession) netmap() *netmap.NetworkMap {
|
||||
|
||||
if node := ms.lastNode; node.Valid() {
|
||||
nm.SelfNode = node
|
||||
nm.Expiry = node.KeyExpiry()
|
||||
nm.Name = node.Name()
|
||||
nm.AllCaps = ms.lastCapSet
|
||||
}
|
||||
|
||||
|
||||
@@ -1295,7 +1295,7 @@ func (b *LocalBackend) UpdateStatus(sb *ipnstate.StatusBuilder) {
|
||||
if hi := nm.SelfNode.Hostinfo(); hi.Valid() {
|
||||
ss.HostName = hi.Hostname()
|
||||
}
|
||||
ss.DNSName = nm.Name
|
||||
ss.DNSName = nm.SelfName()
|
||||
ss.UserID = nm.User()
|
||||
if sn := nm.SelfNode; sn.Valid() {
|
||||
peerStatusFromNode(ss, sn)
|
||||
@@ -1611,7 +1611,7 @@ func (b *LocalBackend) SetControlClientStatus(c controlclient.Client, st control
|
||||
keyExpiryExtended := false
|
||||
if st.NetMap != nil {
|
||||
wasExpired := b.keyExpired
|
||||
isExpired := !st.NetMap.Expiry.IsZero() && st.NetMap.Expiry.Before(b.clock.Now())
|
||||
isExpired := !st.NetMap.SelfKeyExpiry().IsZero() && st.NetMap.SelfKeyExpiry().Before(b.clock.Now())
|
||||
if wasExpired && !isExpired {
|
||||
keyExpiryExtended = true
|
||||
}
|
||||
|
||||
@@ -747,7 +747,7 @@ func dnsConfigForNetmap(nm *netmap.NetworkMap, peers map[tailcfg.NodeID]tailcfg.
|
||||
}
|
||||
dcfg.Hosts[fqdn] = ips
|
||||
}
|
||||
set(nm.Name, nm.GetAddresses())
|
||||
set(nm.SelfName(), nm.GetAddresses())
|
||||
for _, peer := range peers {
|
||||
set(peer.Name(), peer.Addresses())
|
||||
}
|
||||
|
||||
@@ -36,11 +36,11 @@ func dnsMapFromNetworkMap(nm *netmap.NetworkMap) dnsMap {
|
||||
suffix := nm.MagicDNSSuffix()
|
||||
have4 := false
|
||||
addrs := nm.GetAddresses()
|
||||
if nm.Name != "" && addrs.Len() > 0 {
|
||||
if name := nm.SelfName(); name != "" && addrs.Len() > 0 {
|
||||
ip := addrs.At(0).Addr()
|
||||
ret[canonMapKey(nm.Name)] = ip
|
||||
if dnsname.HasSuffix(nm.Name, suffix) {
|
||||
ret[canonMapKey(dnsname.TrimSuffix(nm.Name, suffix))] = ip
|
||||
ret[canonMapKey(name)] = ip
|
||||
if dnsname.HasSuffix(name, suffix) {
|
||||
ret[canonMapKey(dnsname.TrimSuffix(name, suffix))] = ip
|
||||
}
|
||||
for _, p := range addrs.All() {
|
||||
if p.Addr().Is4() {
|
||||
|
||||
@@ -30,10 +30,6 @@ type NetworkMap struct {
|
||||
AllCaps set.Set[tailcfg.NodeCapability] // set version of SelfNode.Capabilities + SelfNode.CapMap
|
||||
NodeKey key.NodePublic
|
||||
PrivateKey key.NodePrivate
|
||||
Expiry time.Time
|
||||
// Name is the DNS name assigned to this node.
|
||||
// It is the MapResponse.Node.Name value and ends with a period.
|
||||
Name string
|
||||
|
||||
MachineKey key.MachinePublic
|
||||
|
||||
@@ -236,10 +232,25 @@ func MagicDNSSuffixOfNodeName(nodeName string) string {
|
||||
//
|
||||
// It will neither start nor end with a period.
|
||||
func (nm *NetworkMap) MagicDNSSuffix() string {
|
||||
if nm == nil {
|
||||
return MagicDNSSuffixOfNodeName(nm.SelfName())
|
||||
}
|
||||
|
||||
// SelfName returns nm.SelfNode.Name, or the empty string
|
||||
// if nm is nil or nm.SelfNode is invalid.
|
||||
func (nm *NetworkMap) SelfName() string {
|
||||
if nm == nil || !nm.SelfNode.Valid() {
|
||||
return ""
|
||||
}
|
||||
return MagicDNSSuffixOfNodeName(nm.Name)
|
||||
return nm.SelfNode.Name()
|
||||
}
|
||||
|
||||
// SelfKeyExpiry returns nm.SelfNode.KeyExpiry, or the zero
|
||||
// value if nil or nm.SelfNode is invalid.
|
||||
func (nm *NetworkMap) SelfKeyExpiry() time.Time {
|
||||
if nm == nil || !nm.SelfNode.Valid() {
|
||||
return time.Time{}
|
||||
}
|
||||
return nm.SelfNode.KeyExpiry()
|
||||
}
|
||||
|
||||
// DomainName returns the name of the NetworkMap's
|
||||
|
||||
Reference in New Issue
Block a user