diff options
author | Mathias Hall-Andersen <mathias@hall-andersen.dk> | 2019-12-26 22:55:33 +0100 |
---|---|---|
committer | Mathias Hall-Andersen <mathias@hall-andersen.dk> | 2019-12-26 22:55:33 +0100 |
commit | bb0a8acea3161a08ac69cc2e35489f8d33741d1a (patch) | |
tree | e81a6384c4dc26743b67937fd0e0e721a73dc5b3 /src/wireguard/handshake/device.rs | |
parent | Remove unused test code. (diff) | |
download | wireguard-rs-bb0a8acea3161a08ac69cc2e35489f8d33741d1a.tar.xz wireguard-rs-bb0a8acea3161a08ac69cc2e35489f8d33741d1a.zip |
Make under_load global for WireGuard device
Diffstat (limited to 'src/wireguard/handshake/device.rs')
-rw-r--r-- | src/wireguard/handshake/device.rs | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/src/wireguard/handshake/device.rs b/src/wireguard/handshake/device.rs index c684965..edd1a07 100644 --- a/src/wireguard/handshake/device.rs +++ b/src/wireguard/handshake/device.rs @@ -252,15 +252,12 @@ impl Device { /// # Arguments /// /// * `msg` - Byte slice containing the message (untrusted input) - pub fn process<'a, R: RngCore + CryptoRng, S>( + pub fn process<'a, R: RngCore + CryptoRng>( &self, - rng: &mut R, // rng instance to sample randomness from - msg: &[u8], // message buffer - src: Option<&'a S>, // optional source endpoint, set when "under load" - ) -> Result<Output, HandshakeError> - where - &'a S: Into<&'a SocketAddr>, - { + rng: &mut R, // rng instance to sample randomness from + msg: &[u8], // message buffer + src: Option<SocketAddr>, // optional source endpoint, set when "under load" + ) -> Result<Output, HandshakeError> { // ensure type read in-range if msg.len() < 4 { return Err(HandshakeError::InvalidMessageFormat); @@ -286,16 +283,13 @@ impl Device { // address validation & DoS mitigation if let Some(src) = src { - // obtain ref to socket addr - let src = src.into(); - // check mac2 field - if !keyst.macs.check_mac2(msg.noise.as_bytes(), src, &msg.macs) { + if !keyst.macs.check_mac2(msg.noise.as_bytes(), &src, &msg.macs) { let mut reply = Default::default(); keyst.macs.create_cookie_reply( rng, msg.noise.f_sender.get(), - src, + &src, &msg.macs, &mut reply, ); @@ -344,12 +338,12 @@ impl Device { let src = src.into(); // check mac2 field - if !keyst.macs.check_mac2(msg.noise.as_bytes(), src, &msg.macs) { + if !keyst.macs.check_mac2(msg.noise.as_bytes(), &src, &msg.macs) { let mut reply = Default::default(); keyst.macs.create_cookie_reply( rng, msg.noise.f_sender.get(), - src, + &src, &msg.macs, &mut reply, ); |