diff --git a/src/main.rs b/src/main.rs index 345c391..405ce4c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -19,18 +19,12 @@ const TAIL: [u8;3] = [0x76, 0x66, 0x56]; #[derive(Serialize, Deserialize)] struct VpnPacket { - //start: Vec, - data: Vec, + //start: Vec + len: u64, + data: Vec //end: Vec } -impl VpnPacket { - fn init(d: Vec) -> Self { - //VpnPacket{start: (&HEADER).to_vec(), data: d, end: (&TAIL).to_vec()} - VpnPacket { data: d } - } -} - #[tokio::main] async fn main() { diff --git a/src/tcp_client.rs b/src/tcp_client.rs index 4522af6..65a7a99 100644 --- a/src/tcp_client.rs +++ b/src/tcp_client.rs @@ -114,7 +114,7 @@ pub async fn client_mode(remote_addr: String) { loop { if let Ok(bytes) = mx.recv() { - let vpn_packet = VpnPacket::init(bytes); + let vpn_packet = VpnPacket{ len: bytes.len() as u64, data: bytes }; let serialized_data = bincode::serialize::(&vpn_packet).unwrap(); //info!("Writing to sock: {:?}", serialized_data); sock_writer.write_all(&serialized_data).await.unwrap(); diff --git a/src/tcp_server.rs b/src/tcp_server.rs index 3cc92be..65766dd 100644 --- a/src/tcp_server.rs +++ b/src/tcp_server.rs @@ -115,7 +115,7 @@ pub async fn server_mode(bind_addr: String) { tokio::spawn(async move { loop { if let Ok(bytes) = thread_mx.recv() { - let vpn_packet = VpnPacket::init(bytes); + let vpn_packet = VpnPacket{ len: bytes.len() as u64, data: bytes }; let serialized_data = bincode::serialize::(&vpn_packet).unwrap(); sock_writer.write_all(&serialized_data).await.unwrap(); //info!("Wrote to sock: {:?}", serialized_data);