From: Jason A. Donenfeld Date: Wed, 18 Apr 2018 04:54:21 +0000 (+0200) Subject: Align 64-bit atomics X-Git-Tag: 0.0.20180514~60 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=099219be2a1e58b1b34b0202e1466480a4fa0cbc;p=thirdparty%2Fwireguard-go.git Align 64-bit atomics 64-bit varibles that are accessed using the Go atomic functions must be 8-byte aligned on 32-bit platforms. Otherwise there are crashes. --- diff --git a/keypair.go b/keypair.go index 283cb92..1ab0649 100644 --- a/keypair.go +++ b/keypair.go @@ -14,10 +14,10 @@ import ( */ type KeyPair struct { + sendNonce uint64 send cipher.AEAD receive cipher.AEAD replayFilter ReplayFilter - sendNonce uint64 isInitiator bool created time.Time localIndex uint32 diff --git a/peer.go b/peer.go index 5580cf6..3a4f5f2 100644 --- a/peer.go +++ b/peer.go @@ -13,9 +13,9 @@ const ( ) type Peer struct { + persistentKeepaliveInterval uint64 isRunning AtomicBool mutex sync.RWMutex - persistentKeepaliveInterval uint64 keyPairs KeyPairs handshake Handshake device *Device