From 1d49ec87ad88d4ad250009bb24a1742e695da596 Mon Sep 17 00:00:00 2001 From: "B. Blechschmidt" Date: Sun, 25 Feb 2024 13:06:52 +0100 Subject: [PATCH] Update Desktop API to use returned state --- src/desktop_api.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/desktop_api.rs b/src/desktop_api.rs index 4763a5f..7431dcf 100644 --- a/src/desktop_api.rs +++ b/src/desktop_api.rs @@ -115,6 +115,8 @@ pub async fn desktop_run_async(args: Args, shutdown_token: tokio_util::sync::Can tproxy_args = tproxy_args.tun_name(&tun_name); } + let mut restore: Option = None; + #[cfg(target_os = "linux")] { setup = args.setup; @@ -122,16 +124,15 @@ pub async fn desktop_run_async(args: Args, shutdown_token: tokio_util::sync::Can #[cfg(any(target_os = "linux", target_os = "windows", target_os = "macos"))] if setup { - log::trace!("Entering route setup"); - tproxy_config::tproxy_setup(&tproxy_args)?; + restore = Some(tproxy_config::tproxy_setup(&tproxy_args)?); } let join_handle = tokio::spawn(crate::run(device, MTU, args, shutdown_token)); join_handle.await.map_err(std::io::Error::from)??; #[cfg(any(target_os = "linux", target_os = "windows", target_os = "macos"))] - if setup { - tproxy_config::tproxy_remove(&tproxy_args)?; + if setup && restore.is_some() { + tproxy_config::tproxy_remove(&restore.unwrap())?; } Ok::<(), std::io::Error>(())