device: fix races from changing private_key

Access keypair.sendNonce atomically.
Eliminate one unnecessary initialization to zero.

Mutate handshake.lastSentHandshake with the mutex held.

Co-authored-by: David Anderson <danderson@tailscale.com>
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com>
This commit is contained in:
Josh Bleecher Snyder
2020-12-15 15:02:13 -08:00
committed by Jason A. Donenfeld
parent c8faa34cde
commit 70861686d3
5 changed files with 32 additions and 11 deletions

View File

@@ -23,7 +23,7 @@ import (
*/
type Keypair struct {
sendNonce uint64
sendNonce uint64 // accessed atomically
send cipher.AEAD
receive cipher.AEAD
replayFilter replay.Filter