wireguard-go/device
Jason A. Donenfeld 29b0477585 device: receive: drain decryption queue before exiting RoutineDecryption
It's possible for RoutineSequentialReceiver to try to lock an elem after
RoutineDecryption has exited. Before this meant we didn't then unlock
the elem, so the whole program deadlocked.

As well, it looks like the flush code (which is now potentially
unnecessary?) wasn't properly dropping the buffers for the
not-already-dropped case.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2021-01-07 17:08:41 +01:00
..
allowedips_rand_test.go all: use ++ to increment 2021-01-07 14:49:44 +01:00
allowedips_test.go all: use ++ to increment 2021-01-07 14:49:44 +01:00
allowedips.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
bind_test.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
constants.go replay: account for fqcodel reordering 2020-05-19 17:46:35 -06:00
cookie_test.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
cookie.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
device_test.go device: add latency and throughput benchmarks 2021-01-07 14:49:44 +01:00
device.go device: receive: drain decryption queue before exiting RoutineDecryption 2021-01-07 17:08:41 +01:00
endpoint_test.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
indextable.go device: remove some unnecessary unsafe 2020-07-15 06:59:44 +10:00
ip.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
kdf_test.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
keypair.go device: fix races from changing private_key 2021-01-07 14:49:44 +01:00
logger.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
misc.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
mobilequirks.go device: format a few things 2020-11-06 18:01:27 +01:00
noise_test.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
noise-helpers.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
noise-protocol.go device: fix races from changing private_key 2021-01-07 14:49:44 +01:00
noise-types.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
peer_test.go device: avoid copying lock in tests 2020-12-08 14:25:10 -08:00
peer.go device: remove unnecessary zeroing 2021-01-07 14:49:44 +01:00
pools.go all: use ++ to increment 2021-01-07 14:49:44 +01:00
queueconstants_android.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
queueconstants_default.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
queueconstants_ios.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
receive.go device: receive: drain decryption queue before exiting RoutineDecryption 2021-01-07 17:08:41 +01:00
send.go device: call wg.Add outside the goroutine 2021-01-07 14:49:44 +01:00
sticky_default.go device: do not include sticky sockets on android 2020-06-07 01:50:20 -06:00
sticky_linux.go device: use RTMGRP_IPV4_ROUTE to specify multicast groups mask 2020-07-13 17:58:10 -06:00
timers.go device: fix data race in peer.timersActive 2021-01-07 14:49:44 +01:00
tun_test.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
tun.go device: remove starting waitgroups 2021-01-07 14:49:44 +01:00
uapi.go device: simplify UAPI helper methods 2021-01-07 14:49:44 +01:00
version.go version: bump snapshot 2020-11-18 14:24:17 +01:00