From 3b9207fb7af0620c445909f8f84e6da93007c2c6 Mon Sep 17 00:00:00 2001 From: ssrlive <30760636+ssrlive@users.noreply.github.com> Date: Tue, 8 Aug 2023 09:16:57 +0800 Subject: [PATCH] fixing get_transport_info --- src/tun2proxy.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/tun2proxy.rs b/src/tun2proxy.rs index 46608e5..bd68a76 100644 --- a/src/tun2proxy.rs +++ b/src/tun2proxy.rs @@ -107,15 +107,16 @@ fn get_transport_info( .map_err(|e| e.into()), IpProtocol::Tcp => TcpPacket::new_checked(packet) .map(|result| { + let header_len = result.header_len() as usize; ( (result.src_port(), result.dst_port()), result.syn() && !result.ack(), - transport_offset + result.header_len() as usize, - packet.len(), + transport_offset + header_len, + packet.len() - header_len, ) }) .map_err(|e| e.into()), - _ => Err(format!("Unsupported protocol {protocol}").into()), + _ => Err(format!("Unsupported protocol {protocol} in IP packet").into()), } }