From 58d5a4f5da0541f8d57077df5b4b34961ab684c3 Mon Sep 17 00:00:00 2001 From: lubeilin <1791778603@qq.com> Date: Sat, 23 Sep 2023 21:38:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0wintun=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vnt/win-tun-tap/src/tun/mod.rs | 12 +++++++++--- vnt/win-tun-tap/src/tun/{log.rs => wintun_log.rs} | 0 2 files changed, 9 insertions(+), 3 deletions(-) rename vnt/win-tun-tap/src/tun/{log.rs => wintun_log.rs} (100%) diff --git a/vnt/win-tun-tap/src/tun/mod.rs b/vnt/win-tun-tap/src/tun/mod.rs index 6bd266b..ccd350f 100644 --- a/vnt/win-tun-tap/src/tun/mod.rs +++ b/vnt/win-tun-tap/src/tun/mod.rs @@ -5,8 +5,8 @@ use winapi::um::{handleapi, synchapi, winbase, winnt}; use crate::{decode_utf16, encode_utf16, ffi, netsh, route, IFace}; use rand::Rng; -mod log; pub mod packet; +mod wintun_log; mod wintun_raw; /// The maximum size of wintun's internal ring buffer (in bytes) @@ -80,7 +80,7 @@ impl TunDevice { let guid_struct: wintun_raw::GUID = unsafe { std::mem::transmute(guid) }; let guid_ptr = &guid_struct as *const wintun_raw::GUID; - log::set_default_logger_if_unset(&win_tun); + wintun_log::set_default_logger_if_unset(&win_tun); //SAFETY: the function is loaded from the wintun dll properly, we are providing valid //pointers, and all the strings are correct null terminated UTF-16. This safety rationale @@ -88,6 +88,7 @@ impl TunDevice { let adapter = win_tun.WintunCreateAdapter(pool_utf16.as_ptr(), name_utf16.as_ptr(), guid_ptr); if adapter.is_null() { + log::error!("adapter.is_null {:?}", io::Error::last_os_error()); return Err(io::Error::new( io::ErrorKind::Other, "Failed to crate adapter", @@ -102,6 +103,7 @@ impl TunDevice { // 开启session let session = win_tun.WintunStartSession(adapter, 128 * 1024); if session.is_null() { + log::error!("session.is_null {:?}", io::Error::last_os_error()); return Err(io::Error::new( io::ErrorKind::Other, "WintunStartSession failed", @@ -138,10 +140,14 @@ impl TunDevice { )); } }; - log::set_default_logger_if_unset(&win_tun); + wintun_log::set_default_logger_if_unset(&win_tun); let name_utf16 = encode_utf16(name); let adapter = win_tun.WintunOpenAdapter(name_utf16.as_ptr()); if adapter.is_null() { + log::error!( + "delete_for_name adapter.is_null {:?}", + io::Error::last_os_error() + ); return Err(io::Error::new( io::ErrorKind::Other, "Failed to open adapter", diff --git a/vnt/win-tun-tap/src/tun/log.rs b/vnt/win-tun-tap/src/tun/wintun_log.rs similarity index 100% rename from vnt/win-tun-tap/src/tun/log.rs rename to vnt/win-tun-tap/src/tun/wintun_log.rs