From d0d42bc5c8aac0e7861e20c3c644f14b93533bbb Mon Sep 17 00:00:00 2001 From: adrien gaultier Date: Sat, 5 Oct 2024 23:12:53 +0200 Subject: [PATCH] little fixes --- oryx-tui/src/app.rs | 4 +-- oryx-tui/src/section/firewall.rs | 45 +++++++++++++++++--------------- 2 files changed, 26 insertions(+), 23 deletions(-) diff --git a/oryx-tui/src/app.rs b/oryx-tui/src/app.rs index 5f93699..9c82fb3 100644 --- a/oryx-tui/src/app.rs +++ b/oryx-tui/src/app.rs @@ -57,7 +57,7 @@ impl App { let (sender, receiver) = kanal::unbounded(); - let (firewall_ingress_sender, firewall_egress_receiver) = kanal::unbounded(); + let (firewall_ingress_sender, firewall_ingress_receiver) = kanal::unbounded(); thread::spawn({ let packets = packets.clone(); @@ -76,7 +76,7 @@ impl App { Self { running: true, help: Help::new(), - filter: Filter::new(firewall_egress_receiver), + filter: Filter::new(firewall_ingress_receiver), start_sniffing: false, packets: packets.clone(), notifications: Vec::new(), diff --git a/oryx-tui/src/section/firewall.rs b/oryx-tui/src/section/firewall.rs index a1d3ce4..40455ed 100644 --- a/oryx-tui/src/section/firewall.rs +++ b/oryx-tui/src/section/firewall.rs @@ -204,6 +204,27 @@ impl UserInput { } } +impl From for UserInput { + fn from(rule: FirewallRule) -> Self { + Self { + id: Some(rule.id), + name: UserInputField { + field: Input::from(rule.name), + error: None, + }, + ip: UserInputField { + field: Input::from(rule.ip.to_string()), + error: None, + }, + port: UserInputField { + field: Input::from(rule.port.to_string()), + error: None, + }, + focus_input: FocusedInput::Name, + } + } +} + #[derive(Debug, Clone)] pub struct Firewall { rules: Vec, @@ -249,14 +270,14 @@ impl Firewall { } else { let rule = FirewallRule { id: uuid::Uuid::new_v4(), - name: user_input.name.field.value().to_lowercase(), + name: user_input.name.field.to_string(), ip: IpAddr::from_str(user_input.ip.field.value()).unwrap(), port: u16::from_str(user_input.port.field.value()).unwrap(), enabled: false, }; self.rules.push(rule); - self.user_input = None; } + self.user_input = None; } } @@ -298,25 +319,7 @@ impl Firewall { KeyCode::Char('e') => { if let Some(index) = self.state.selected() { let rule = self.rules[index].clone(); - - let user_input = UserInput { - id: Some(rule.id), - name: UserInputField { - field: Input::from(rule.name), - error: None, - }, - ip: UserInputField { - field: Input::from(rule.ip.to_string()), - error: None, - }, - port: UserInputField { - field: Input::from(rule.port.to_string()), - error: None, - }, - focus_input: FocusedInput::Name, - }; - - self.user_input = Some(user_input); + self.user_input = Some(rule.into()); } }