diff --git a/ipn/ipnlocal/local.go b/ipn/ipnlocal/local.go index a1c6342c0..1ead7a756 100644 --- a/ipn/ipnlocal/local.go +++ b/ipn/ipnlocal/local.go @@ -1569,7 +1569,7 @@ func (b *LocalBackend) parseWgStatusLocked(s *wgengine.Status) (ret ipn.EngineSt fmt.Fprintf(&peerKeys, "%s ", p.NodeKey.ShortString()) ret.NumLive++ - ret.LivePeers[p.NodeKey] = p + ret.LivePeers[p.NodeKey.AsNodeKey()] = p } ret.RBytes += p.RxBytes diff --git a/ipn/ipnlocal/loglines_test.go b/ipn/ipnlocal/loglines_test.go index 3943a308b..e5bcbf42d 100644 --- a/ipn/ipnlocal/loglines_test.go +++ b/ipn/ipnlocal/loglines_test.go @@ -90,7 +90,7 @@ func TestLocalLogLines(t *testing.T) { TxBytes: 10, RxBytes: 10, LastHandshake: time.Now(), - NodeKey: key.NewNode().Public().AsNodeKey(), + NodeKey: key.NewNode().Public(), }}, }) lb.mu.Unlock() @@ -105,7 +105,7 @@ func TestLocalLogLines(t *testing.T) { TxBytes: 11, RxBytes: 12, LastHandshake: time.Now(), - NodeKey: key.NewNode().Public().AsNodeKey(), + NodeKey: key.NewNode().Public(), }}, }) lb.mu.Unlock() diff --git a/ipn/ipnstate/ipnstate.go b/ipn/ipnstate/ipnstate.go index 73c7467b6..0664c4a2b 100644 --- a/ipn/ipnstate/ipnstate.go +++ b/ipn/ipnstate/ipnstate.go @@ -72,7 +72,7 @@ func (s *Status) Peers() []key.NodePublic { type PeerStatusLite struct { TxBytes, RxBytes int64 LastHandshake time.Time - NodeKey tailcfg.NodeKey + NodeKey key.NodePublic } type PeerStatus struct { diff --git a/wgengine/pendopen.go b/wgengine/pendopen.go index 0f4fcd72b..e78cec17f 100644 --- a/wgengine/pendopen.go +++ b/wgengine/pendopen.go @@ -178,7 +178,7 @@ func (e *userspaceEngine) onOpenTimeout(flow flowtrack.Tuple) { var ps *ipnstate.PeerStatusLite if st, err := e.getStatus(); err == nil { for _, v := range st.Peers { - if v.NodeKey == n.Key { + if v.NodeKey == n.Key.AsNodePublic() { v := v // copy ps = &v } diff --git a/wgengine/userspace.go b/wgengine/userspace.go index db8eb4cc2..15aa2cd0d 100644 --- a/wgengine/userspace.go +++ b/wgengine/userspace.go @@ -1011,9 +1011,9 @@ func (e *userspaceEngine) getStatus() (*Status, error) { return nil, fmt.Errorf("IpcGetOperation: invalid key in line %q", line) } if !p.NodeKey.IsZero() { - pp[p.NodeKey.AsNodePublic()] = p + pp[p.NodeKey] = p } - p = ipnstate.PeerStatusLite{NodeKey: pk.AsNodeKey()} + p = ipnstate.PeerStatusLite{NodeKey: pk} case "rx_bytes": n, err = mem.ParseInt(v, 10, 64) p.RxBytes = n @@ -1042,7 +1042,7 @@ func (e *userspaceEngine) getStatus() (*Status, error) { } } if !p.NodeKey.IsZero() { - pp[p.NodeKey.AsNodePublic()] = p + pp[p.NodeKey] = p } if err := <-errc; err != nil { return nil, fmt.Errorf("IpcGetOperation: %v", err) @@ -1241,7 +1241,7 @@ func (e *userspaceEngine) UpdateStatus(sb *ipnstate.StatusBuilder) { return } for _, ps := range st.Peers { - sb.AddPeer(key.NodePublicFromRaw32(mem.B(ps.NodeKey[:])), &ipnstate.PeerStatus{ + sb.AddPeer(ps.NodeKey, &ipnstate.PeerStatus{ RxBytes: int64(ps.RxBytes), TxBytes: int64(ps.TxBytes), LastHandshake: ps.LastHandshake,