summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--ipn/ipnlocal/local.go1
-rw-r--r--ipn/ipnstate/ipnstate.go4
2 files changed, 5 insertions, 0 deletions
diff --git a/ipn/ipnlocal/local.go b/ipn/ipnlocal/local.go
index 7e9da9f12..f2fea2404 100644
--- a/ipn/ipnlocal/local.go
+++ b/ipn/ipnlocal/local.go
@@ -720,6 +720,7 @@ func peerStatusFromNode(ps *ipnstate.PeerStatus, n *tailcfg.Node) {
ps.PrimaryRoutes = &v
}
+ ps.KeyExpiry = n.KeyExpiry
if n.Expired {
ps.Expired = true
}
diff --git a/ipn/ipnstate/ipnstate.go b/ipn/ipnstate/ipnstate.go
index 7e4f31847..9894c94f2 100644
--- a/ipn/ipnstate/ipnstate.go
+++ b/ipn/ipnstate/ipnstate.go
@@ -247,6 +247,10 @@ type PeerStatus struct {
// In theory, all of InNetworkMap and InMagicSock and InEngine should all be true.
InEngine bool
+ // KeyExpiry is the time that this peer's node key will or has expired.
+ // This will be the zero time for nodes that do not expire.
+ KeyExpiry time.Time `json:",omitempty"`
+
// Expired means that this peer's node key has expired, based on either
// information from control or optimisically set on the client if the
// expiration time has passed.