wireguard-go/device
Jason A. Donenfeld 28c4d04304 device: use atomic access for unlocked keypair.next
Go's GC semantics might not always guarantee the safety of this, and the
race detector gets upset too, so instead we wrap this all in atomic
accessors.

Reported-by: David Anderson <danderson@tailscale.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-05-02 01:56:48 -06:00
..
allowedips.go global: begin modularization 2019-03-03 05:00:40 +01:00
allowedips_rand_test.go global: begin modularization 2019-03-03 05:00:40 +01:00
allowedips_test.go global: begin modularization 2019-03-03 05:00:40 +01:00
bind_test.go conn: introduce new package that splits out the Bind and Endpoint types 2020-05-02 01:46:42 -06:00
bindsocketshim.go conn: introduce new package that splits out the Bind and Endpoint types 2020-05-02 01:46:42 -06:00
boundif_android.go device: fail to give bind if it doesn't exist 2019-05-17 15:35:20 +02:00
constants.go constants: recalculate rekey max based on a one minute flood 2019-10-30 14:29:32 +01:00
cookie.go device, ratelimiter: replace uses of time.Now().Sub() with time.Since() 2019-06-03 22:15:41 +02:00
cookie_test.go global: begin modularization 2019-03-03 05:00:40 +01:00
device.go conn: introduce new package that splits out the Bind and Endpoint types 2020-05-02 01:46:42 -06:00
device_test.go tuntest: split out testing package 2020-05-02 01:46:42 -06:00
endpoint_test.go global: begin modularization 2019-03-03 05:00:40 +01:00
indextable.go global: begin modularization 2019-03-03 05:00:40 +01:00
ip.go global: begin modularization 2019-03-03 05:00:40 +01:00
kdf_test.go global: regroup all imports 2019-05-14 09:09:52 +02:00
keypair.go device: use atomic access for unlocked keypair.next 2020-05-02 01:56:48 -06:00
logger.go global: begin modularization 2019-03-03 05:00:40 +01:00
misc.go global: begin modularization 2019-03-03 05:00:40 +01:00
noise-helpers.go device: remove redundant return statements 2019-06-04 13:01:52 +02:00
noise-protocol.go device: use atomic access for unlocked keypair.next 2020-05-02 01:56:48 -06:00
noise-types.go uapi: allow unsetting device private key with /dev/null 2020-02-04 22:02:53 +01:00
noise_test.go device: use atomic access for unlocked keypair.next 2020-05-02 01:56:48 -06:00
peer.go device: use atomic access for unlocked keypair.next 2020-05-02 01:56:48 -06:00
peer_test.go device: add test to ensure Peer fields are safe for atomic access on 32-bit 2020-05-02 01:44:58 -06:00
pools.go global: begin modularization 2019-03-03 05:00:40 +01:00
queueconstants_android.go receive: implement flush semantics 2019-03-21 14:45:41 -06:00
queueconstants_default.go tun: import mobile particularities 2019-03-04 16:37:11 +01:00
queueconstants_ios.go tun: import mobile particularities 2019-03-04 16:37:11 +01:00
receive.go conn: introduce new package that splits out the Bind and Endpoint types 2020-05-02 01:46:42 -06:00
send.go send: account for zero mtu 2020-02-14 18:53:55 +01:00
sticky_default.go conn: introduce new package that splits out the Bind and Endpoint types 2020-05-02 01:46:42 -06:00
sticky_linux.go conn: introduce new package that splits out the Bind and Endpoint types 2020-05-02 01:46:42 -06:00
timers.go device: timers: add jitter on ack failure reinitiation 2019-05-24 13:48:25 +02:00
tun.go tun: remove TUN prefix from types to reduce stutter elsewhere 2019-06-14 18:35:57 +02:00
tun_test.go tun: remove TUN prefix from types to reduce stutter elsewhere 2019-06-14 18:35:57 +02:00
uapi.go device: return generic error from Ipc{Get,Set}Operation. 2020-05-02 01:49:47 -06:00
version.go version: bump snapshot 2020-03-20 12:00:53 -06:00