mirror of
https://github.com/tailscale/tailscale.git
synced 2024-12-12 11:14:40 +00:00
wgengine/magicsock: move discoKey fields to the mutex-protected section.
Fixes #3106
Signed-off-by: David Anderson <danderson@tailscale.com>
(cherry picked from commit 521b44e653
)
This commit is contained in:
parent
cb0d784a79
commit
ee02c95259
@ -3105,14 +3105,15 @@ type endpoint struct {
|
||||
// These fields are initialized once and never modified.
|
||||
c *Conn
|
||||
publicKey tailcfg.NodeKey // peer public key (for WireGuard + DERP)
|
||||
discoKey tailcfg.DiscoKey // for discovery messages. IsZero() if peer can't disco.
|
||||
discoShort string // ShortString of discoKey. Empty if peer can't disco.
|
||||
fakeWGAddr netaddr.IPPort // the UDP address we tell wireguard-go we're using
|
||||
wgEndpoint string // string from ParseEndpoint, holds a JSON-serialized wgcfg.Endpoints
|
||||
|
||||
// mu protects all following fields.
|
||||
mu sync.Mutex // Lock ordering: Conn.mu, then endpoint.mu
|
||||
|
||||
discoKey tailcfg.DiscoKey // for discovery messages. IsZero() if peer can't disco.
|
||||
discoShort string // ShortString of discoKey. Empty if peer can't disco.
|
||||
|
||||
heartBeatTimer *time.Timer // nil when idle
|
||||
lastSend mono.Time // last time there was outgoing packets sent to this peer (from wireguard-go)
|
||||
lastFullPing mono.Time // last time we pinged all endpoints
|
||||
|
Loading…
Reference in New Issue
Block a user