From a1852140d35df0306688aa0e53e3f2c4d192d59f Mon Sep 17 00:00:00 2001 From: alterdekim Date: Mon, 9 Dec 2024 01:57:54 +0300 Subject: [PATCH] modified: frida_core/src/linux_tun.rs modified: frida_core/src/main.rs --- frida_core/src/linux_tun.rs | 13 ++++++++++--- frida_core/src/main.rs | 8 ++++---- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/frida_core/src/linux_tun.rs b/frida_core/src/linux_tun.rs index 060b6f3..ae9d5c2 100644 --- a/frida_core/src/linux_tun.rs +++ b/frida_core/src/linux_tun.rs @@ -1,5 +1,8 @@ use std::sync::Arc; use std::error::Error; +use tokio_tun::Tun; +use std::net::Ipv4Addr; +use std::os::unix::io::AsRawFd; pub fn create() -> (DeviceReader, DeviceWriter) { let tun = Arc::new( @@ -14,23 +17,27 @@ pub fn create() -> (DeviceReader, DeviceWriter) { println!("tun created, name: {}, fd: {}", tun.name(), tun.as_raw_fd()); - let (mut reader, mut _writer) = tokio::io::split(tun); + let tun_writer = tun.clone(); + + (DeviceReader {reader: tun}, DeviceWriter {writer: tun_writer}) } pub struct DeviceWriter { - + writer: Tun } pub struct DeviceReader { - + reader: Tun } impl DeviceWriter { pub async fn write(&self, buf: &Vec) -> Result> { + self.writer.send_all(buf).await } } impl DeviceReader { pub async fn read(&self, buf: &mut Vec) -> Result> { + self.reader.recv(buf).await } } \ No newline at end of file diff --git a/frida_core/src/main.rs b/frida_core/src/main.rs index 733bfdc..92bfeeb 100644 --- a/frida_core/src/main.rs +++ b/frida_core/src/main.rs @@ -16,7 +16,7 @@ async fn main() { .filter(None, LevelFilter::Info) .init(); - let (reader, writer) = tun::create_tun(); + let (reader, _writer) = tun::create_tun(); let a = tokio::spawn(async move { let mut buf = Vec::new(); @@ -25,11 +25,11 @@ async fn main() { // info!("We've got {} bytes of data!", c) let r = reader.read(&mut buf).await; match r { - Ok(c) => {}, - Err(e) => error!("We've got a nasty error message!") + Ok(_c) => {}, + Err(_e) => error!("We've got a nasty error message!") } } }); - a.await; + let _ = a.await; } \ No newline at end of file