From 4ff328b7da876fb3305fefd83865553af9c8ab2c Mon Sep 17 00:00:00 2001 From: Mathias Hall-Andersen Date: Mon, 28 Oct 2019 14:48:24 +0100 Subject: First full test of pure WireGuard --- src/wireguard/router/device.rs | 10 ++-------- src/wireguard/router/peer.rs | 12 ++++++------ src/wireguard/router/tests.rs | 8 ++++---- src/wireguard/router/types.rs | 4 ++-- 4 files changed, 14 insertions(+), 20 deletions(-) (limited to 'src/wireguard/router') diff --git a/src/wireguard/router/device.rs b/src/wireguard/router/device.rs index b122bf4..254b3de 100644 --- a/src/wireguard/router/device.rs +++ b/src/wireguard/router/device.rs @@ -89,13 +89,7 @@ fn get_route>( device: &Arc>, packet: &[u8], ) -> Option>> { - // ensure version access within bounds - if packet.len() < 1 { - return None; - }; - - // cast to correct IP header - match packet[0] >> 4 { + match packet.get(0)? >> 4 { VERSION_IP4 => { // check length and cast to IPv4 header let (header, _): (LayoutVerified<&[u8], IPv4Header>, _) = @@ -176,7 +170,7 @@ impl> Device> Peer { self.state @@ -556,8 +556,8 @@ impl> Peer Vec<(IpAddr, u32)> { - debug!("peer.list_subnets"); + pub fn list_allowed_ips(&self) -> Vec<(IpAddr, u32)> { + debug!("peer.list_allowed_ips"); let mut res = Vec::new(); res.append(&mut treebit_list( &self.state, @@ -575,8 +575,8 @@ impl> Peer) -> fmt::Result { match self { - RouterError::NoCryptKeyRoute => write!(f, "No cryptkey route configured for subnet"), + RouterError::NoCryptoKeyRoute => write!(f, "No cryptokey route configured for subnet"), RouterError::MalformedIPHeader => write!(f, "IP header is malformed"), RouterError::MalformedTransportMessage => write!(f, "IP header is malformed"), RouterError::UnknownReceiverId => { -- cgit v1.2.3-59-g8ed1b