ipn/ipnstate: move tailscale status "active" determination to tailscaled

Fixes #2579

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick
2021-08-04 08:01:35 -07:00
committed by Brad Fitzpatrick
parent 0858673f1f
commit f3c96df162
6 changed files with 30 additions and 28 deletions

View File

@@ -538,7 +538,7 @@ func (as *addrSet) populatePeerStatus(ps *ipnstate.PeerStatus) {
as.mu.Lock()
defer as.mu.Unlock()
ps.LastWrite = as.lastSend
ps.LastWrite = as.lastSend.WallTime()
for i, ua := range as.ipPorts {
if ua.IP() == derpMagicIPAddr {
continue

View File

@@ -3836,9 +3836,10 @@ func (de *discoEndpoint) populatePeerStatus(ps *ipnstate.PeerStatus) {
return
}
ps.LastWrite = de.lastSend
now := mono.Now()
ps.LastWrite = de.lastSend.WallTime()
ps.Active = now.Sub(de.lastSend) < sessionActiveTimeout
if udpAddr, derpAddr := de.addrForSendLocked(now); !udpAddr.IsZero() && derpAddr.IsZero() {
ps.CurAddr = udpAddr.String()
}