From 81eb0e30f9b39e99d1bb7b56828fd32e50ea055a Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Wed, 1 Aug 2018 15:59:37 +0200 Subject: peer: ensure destruction doesn't race Completely rework peer removal to ensure peers don't jump between contexts and create races. --- src/noise.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/noise.h') 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); -- cgit v1.2.3-59-g8ed1b