From 6c8d671994ede0b7daae74559c157f01f36c025d Mon Sep 17 00:00:00 2001 From: Hasan Date: Fri, 17 Jan 2025 14:28:02 +0100 Subject: [PATCH] Fix buffer cutting from end --- neptun/src/device/mod.rs | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/neptun/src/device/mod.rs b/neptun/src/device/mod.rs index 6b4137f..180198a 100644 --- a/neptun/src/device/mod.rs +++ b/neptun/src/device/mod.rs @@ -1059,7 +1059,7 @@ impl Device { let (element, iter) = unsafe { TX_RING_BUFFER.get_next() }; if element.is_element_free.load(Ordering::Relaxed) { const DATA_OFFSET: usize = 16; - let len = match iface.read(&mut element.data[DATA_OFFSET..mtu]) { + let len = match iface.read(&mut element.data[DATA_OFFSET..mtu + DATA_OFFSET]) { Ok(src) => src.len(), Err(Error::IfaceRead(e)) => { let ek = e.kind(); @@ -1068,19 +1068,18 @@ impl Device { { break; } - println!( - "Fatal read error on tun interface {e}" + tracing::error!( + message="Fatal read error on tun interface: errno", error=?e ); return Action::Exit; } Err(e) => { - println!( - "Unexpected error on tun interface {e}" + tracing::error!( + message="Unexpected error on tun interface", error=?e ); return Action::Exit; } }; - println!("got data"); let dst_addr = match Tunn::dst_address( &element.data[DATA_OFFSET..len + DATA_OFFSET], @@ -1104,7 +1103,6 @@ impl Device { } let res = { - println!("queueing for encap"); let mut tun = peer.tunnel.lock(); tun.queue_encapsulate(len, element, iter, peer.endpoint_ref(), &mut t.dst_buf[..]) }; @@ -1181,7 +1179,6 @@ fn send_to_network( udp6: Arc, ) { while let Ok(msg) = network_rx.recv() { - println!("send_to_network"); match &msg.res { NeptunResult::Done => {} NeptunResult::Err(e) => {