From 0291100bfe095ce7cccc27145264a399d841a136 Mon Sep 17 00:00:00 2001 From: Badr Date: Thu, 10 Oct 2024 15:35:10 +0200 Subject: [PATCH] fix --- oryx-tui/Cargo.toml | 6 +++--- oryx-tui/src/app.rs | 8 +++----- oryx-tui/src/section/firewall.rs | 19 ++++++++++--------- 3 files changed, 16 insertions(+), 17 deletions(-) diff --git a/oryx-tui/Cargo.toml b/oryx-tui/Cargo.toml index 599f5b5..4826bf7 100644 --- a/oryx-tui/Cargo.toml +++ b/oryx-tui/Cargo.toml @@ -24,11 +24,11 @@ kanal = "0.1.0-pre8" mimalloc = "0.1" clap = { version = "4", features = ["derive", "cargo"] } network-types = "0.0.7" -uuid = { version = "1", default-features = false, features = ["v4","serde"] } +uuid = { version = "1", default-features = false, features = ["v4", "serde"] } log = "0.4" env_logger = "0.11" -serde_json = "1.0.128" -serde = {version = "1.0", features = ["derive"] } +serde_json = "1" +serde = { version = "1", features = ["derive"] } [[bin]] name = "oryx" diff --git a/oryx-tui/src/app.rs b/oryx-tui/src/app.rs index e16788e..e21e474 100644 --- a/oryx-tui/src/app.rs +++ b/oryx-tui/src/app.rs @@ -135,12 +135,10 @@ impl App { } pub fn quit(&mut self) { - match self.section.firewall.save_rules() { - Ok(()) => {} - Err(err) => { - error!("{}", err) - } + if let Err(e) = self.section.firewall.save_rules() { + error!("{}", e) } + self.running = false; } } diff --git a/oryx-tui/src/section/firewall.rs b/oryx-tui/src/section/firewall.rs index 58b7c3f..94b1338 100644 --- a/oryx-tui/src/section/firewall.rs +++ b/oryx-tui/src/section/firewall.rs @@ -306,7 +306,7 @@ impl Firewall { egress_sender: kanal::Sender, ) -> Self { let rules_list: Vec = match Self::load_saved_rules() { - Ok(maybe_saved_rules) => maybe_saved_rules.unwrap_or_default(), + Ok(saved_rules) => saved_rules, Err(err) => { error!("{}", err.to_string()); @@ -342,31 +342,32 @@ impl Firewall { } let oryx_export_file = oryx_export_dir.join("firewall.json"); - fs::write(oryx_export_file, json).expect("Could not save Firewall Rules"); + fs::write(oryx_export_file, json)?; info!("Firewall Rules saved"); } Ok(()) } - fn load_saved_rules() -> AppResult>> { + fn load_saved_rules() -> AppResult> { info!("Loading Firewall Rules"); let oryx_export_file = dirs::home_dir().unwrap().join("oryx").join("firewall.json"); if oryx_export_file.exists() { info!("Found previously saved Firewall Rules"); - let json_string = - fs::read_to_string(oryx_export_file).expect("Could not load Firewall Rules"); - let mut parsed_rules: Vec = - serde_json::from_str(&json_string).expect("Could not load Firewall Rules"); + + let json_string = fs::read_to_string(oryx_export_file)?; + + let mut parsed_rules: Vec = serde_json::from_str(&json_string)?; + // as we don't know if ingress/egress programs are loaded we have to disable all rules for rule in &mut parsed_rules { rule.enabled = false } info!("Firewall Rules loaded"); - Ok(Some(parsed_rules)) + Ok(parsed_rules) } else { info!("No saved Firewall Rules found"); - Ok(None) + Ok(Vec::new()) } }