diff --git a/CHANGELOG.md b/CHANGELOG.md index f4ada03..21c6b67 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ This project follows [semantic versioning](http://semver.org). - [fixed] Removing NULL-bytes from interface name - [fixed] Supporting hostnames as peers - [fixed] No longer encrypting multiple times +- [fixed] Properly decoding protocol header when sending +- [fixed] Corrected size of read data ### v0.4 (2015-12-22) diff --git a/src/cloud.rs b/src/cloud.rs index c6d322c..b662969 100644 --- a/src/cloud.rs +++ b/src/cloud.rs @@ -219,8 +219,8 @@ impl GenericCloud

{ } fn handle_interface_data(&mut self, payload: &mut [u8], start: usize, end: usize) -> Result<(), Error> { - let (src, dst) = try!(P::parse(payload)); - debug!("Read data from interface: src: {}, dst: {}, {} bytes", src, dst, payload.len()); + let (src, dst) = try!(P::parse(&payload[start..end])); + debug!("Read data from interface: src: {}, dst: {}, {} bytes", src, dst, end-start); match self.table.lookup(&dst) { Some(addr) => { debug!("Found destination for {} => {}", dst, addr);