From f514e9f50c685cf46c7c5055a1eba3e40c165f39 Mon Sep 17 00:00:00 2001 From: Jake McGinty Date: Sun, 6 May 2018 18:57:52 -0700 Subject: global: small aesthetic cleanup --- src/interface/peer_server.rs | 37 +++++++++++++++++++------------------ src/message.rs | 17 +++++------------ src/ratelimiter.rs | 4 ++-- 3 files changed, 26 insertions(+), 32 deletions(-) diff --git a/src/interface/peer_server.rs b/src/interface/peer_server.rs index f3d68b2..6839634 100644 --- a/src/interface/peer_server.rs +++ b/src/interface/peer_server.rs @@ -139,11 +139,11 @@ impl PeerServer { fn handle_ingress_handshake_init(&mut self, addr: Endpoint, packet: &Initiation) -> Result<(), Error> { ensure!(packet.len() == 148, "handshake init packet length is incorrect"); - let mut state = self.shared_state.borrow_mut(); - { - let (mac_in, mac_out) = packet.split_at(116); - self.cookie.verify_mac1(&mac_in[..], &mac_out[..16])?; - } + + let shared_state = self.shared_state.clone(); + let mut state = shared_state.borrow_mut(); + let (mac_in, mac_out) = packet.split_at(116); + self.cookie.verify_mac1(&mac_in[..], &mac_out[..16])?; debug!("got handshake initiation request (0x01)"); @@ -154,7 +154,7 @@ impl PeerServer { let peer_ref = state.pubkey_map.get(handshake.their_pubkey()) .ok_or_else(|| err_msg("unknown peer pubkey"))?.clone(); - let index = Self::unused_index(&mut state); + let index = self.unused_index(&mut state); let (response, dead_index) = peer_ref.borrow_mut().complete_incoming_handshake(addr, index, handshake)?; if let Some(index) = dead_index { let _ = state.index_map.remove(&index); @@ -169,11 +169,11 @@ impl PeerServer { fn handle_ingress_handshake_resp(&mut self, addr: Endpoint, packet: &Response) -> Result<(), Error> { ensure!(packet.len() == 92, "handshake resp packet length is incorrect"); - let mut state = self.shared_state.borrow_mut(); - { - let (mac_in, mac_out) = packet.split_at(60); - self.cookie.verify_mac1(&mac_in[..], &mac_out[..16])?; - } + + let mut state = self.shared_state.borrow_mut(); + let (mac_in, mac_out) = packet.split_at(60); + self.cookie.verify_mac1(&mac_in[..], &mac_out[..16])?; + debug!("got handshake response (0x02)"); let our_index = LittleEndian::read_u32(&packet[8..]); @@ -205,9 +205,9 @@ impl PeerServer { } fn handle_ingress_cookie_reply(&mut self, _addr: Endpoint, packet: &CookieReply) -> Result<(), Error> { - let state = self.shared_state.borrow_mut(); - let peer_ref = state.index_map.get(&packet.our_index()).ok_or_else(|| err_msg("unknown our_index"))?.clone(); - let mut peer = peer_ref.borrow_mut(); + let state = self.shared_state.borrow_mut(); + let peer_ref = state.index_map.get(&packet.our_index()).ok_or_else(|| err_msg("unknown our_index"))?.clone(); + let mut peer = peer_ref.borrow_mut(); peer.consume_cookie_reply(packet) } @@ -286,11 +286,12 @@ impl PeerServer { } fn send_handshake_init(&mut self, peer_ref: &SharedPeer) -> Result { - let mut state = self.shared_state.borrow_mut(); - let mut peer = peer_ref.borrow_mut(); - let private_key = &state.interface_info.private_key.ok_or_else(|| err_msg("no private key!"))?; + let shared_state = self.shared_state.clone(); + let mut state = shared_state.borrow_mut(); + let mut peer = peer_ref.borrow_mut(); + let private_key = &state.interface_info.private_key.ok_or_else(|| err_msg("no private key!"))?; + let new_index = self.unused_index(&mut state); - let new_index = Self::unused_index(&mut state); let (endpoint, init_packet, dead_index) = peer.initiate_new_session(private_key, new_index)?; let _ = state.index_map.insert(new_index, peer_ref.clone()); diff --git a/src/message.rs b/src/message.rs index 32445f6..4dd2fa8 100644 --- a/src/message.rs +++ b/src/message.rs @@ -4,6 +4,11 @@ use failure::Error; use std::convert::{TryFrom, TryInto}; use byteorder::{ByteOrder, LittleEndian}; +#[derive(Deref)] pub struct Initiation(Vec); +#[derive(Deref)] pub struct Response(Vec); +#[derive(Deref)] pub struct CookieReply(Vec); +#[derive(Deref)] pub struct Transport(Vec); + pub enum Message { Initiation(Initiation), Response(Response), @@ -25,9 +30,6 @@ impl TryFrom> for Message { } } -#[derive(Deref)] -pub struct Initiation(Vec); - impl Initiation { pub fn their_index(&self) -> u32 { LittleEndian::read_u32(&self[4..]) @@ -51,9 +53,6 @@ impl TryFrom> for Initiation { } } -#[derive(Deref)] -pub struct Response(Vec); - impl Response { pub fn their_index(&self) -> u32 { LittleEndian::read_u32(&self[4..]) @@ -89,9 +88,6 @@ impl TryFrom> for Response { } } -#[derive(Deref)] -pub struct CookieReply(Vec); - impl CookieReply { pub fn our_index(&self) -> u32 { LittleEndian::read_u32(&self[4..]) @@ -123,9 +119,6 @@ impl TryFrom> for CookieReply { } } -#[derive(Deref)] -pub struct Transport(Vec); - impl Transport { pub fn our_index(&self) -> u32 { LittleEndian::read_u32(&self[4..]) diff --git a/src/ratelimiter.rs b/src/ratelimiter.rs index 26faaa4..299995e 100644 --- a/src/ratelimiter.rs +++ b/src/ratelimiter.rs @@ -25,8 +25,8 @@ struct Entry { } struct RateLimiter { - table: HashMap, - rx: mpsc::Receiver<()>, + table : HashMap, + rx : mpsc::Receiver<()>, } impl RateLimiter { -- cgit v1.2.3-59-g8ed1b