From 5b555a2e176bd5310d2efa614f67c96cb314eda4 Mon Sep 17 00:00:00 2001 From: Mathias Hall-Andersen Date: Mon, 11 Nov 2019 23:13:46 +0100 Subject: Work on UAPI serialize device --- src/wireguard/handshake/device.rs | 2 +- src/wireguard/wireguard.rs | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'src/wireguard') diff --git a/src/wireguard/handshake/device.rs b/src/wireguard/handshake/device.rs index 85c2e45..f65692c 100644 --- a/src/wireguard/handshake/device.rs +++ b/src/wireguard/handshake/device.rs @@ -202,7 +202,7 @@ impl Device { /// A 32 byte array holding the PSK /// /// The call might fail if the public key is not found - pub fn get_psk(&self, pk: PublicKey) -> Result { + pub fn get_psk(&self, pk: &PublicKey) -> Result { match self.pk_map.get(pk.as_bytes()) { Some(peer) => Ok(peer.psk), _ => Err(ConfigError::new("No such public key")), diff --git a/src/wireguard/wireguard.rs b/src/wireguard/wireguard.rs index a890d5e..77be9f8 100644 --- a/src/wireguard/wireguard.rs +++ b/src/wireguard/wireguard.rs @@ -204,6 +204,9 @@ impl Wireguard { pub fn set_psk(&self, pk: PublicKey, psk: Option<[u8; 32]>) -> bool { self.state.handshake.write().set_psk(pk, psk).is_ok() } + pub fn get_psk(&self, pk: &PublicKey) -> Option<[u8; 32]> { + self.state.handshake.read().get_psk(pk).ok() + } pub fn add_peer(&self, pk: PublicKey) { if self.state.peers.read().contains_key(pk.as_bytes()) { -- cgit v1.2.3-59-g8ed1b