diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-08-01 15:59:37 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-08-03 00:14:18 +0200 |
commit | 81eb0e30f9b39e99d1bb7b56828fd32e50ea055a (patch) | |
tree | 7b9e212d2a73644bae8b09da164147a4491d98fa /src/noise.h | |
parent | noise: free peer references on failure (diff) | |
download | wireguard-monolithic-historical-81eb0e30f9b39e99d1bb7b56828fd32e50ea055a.tar.xz wireguard-monolithic-historical-81eb0e30f9b39e99d1bb7b56828fd32e50ea055a.zip |
peer: ensure destruction doesn't race
Completely rework peer removal to ensure peers don't jump between
contexts and create races.
Diffstat (limited to 'src/noise.h')
-rw-r--r-- | src/noise.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/noise.h b/src/noise.h index 5804acf..be59587 100644 --- a/src/noise.h +++ b/src/noise.h @@ -95,7 +95,7 @@ struct wireguard_device; void noise_init(void); bool noise_handshake_init(struct noise_handshake *handshake, struct noise_static_identity *static_identity, const u8 peer_public_key[NOISE_PUBLIC_KEY_LEN], const u8 peer_preshared_key[NOISE_SYMMETRIC_KEY_LEN], struct wireguard_peer *peer); void noise_handshake_clear(struct noise_handshake *handshake); -void noise_keypair_put(struct noise_keypair *keypair); +void noise_keypair_put(struct noise_keypair *keypair, bool unreference_now); struct noise_keypair *noise_keypair_get(struct noise_keypair *keypair); void noise_keypairs_clear(struct noise_keypairs *keypairs); bool noise_received_with_keypair(struct noise_keypairs *keypairs, struct noise_keypair *received_keypair); |