added message for incomplete translations and fixed some lints

This commit is contained in:
Giuliano Bellini s294739 2023-05-12 11:00:39 +02:00
parent 5fe37f5382
commit fa7011902c
10 changed files with 68 additions and 59 deletions

View file

@ -95,7 +95,7 @@ pub fn inspect_page(sniffer: &Sniffer) -> Container<Message> {
Container::new(
Row::new()
.push(filters_col(
sniffer.search.clone(),
&sniffer.search,
sniffer.style,
sniffer.language,
))
@ -250,7 +250,7 @@ fn lazy_report(sniffer: &Sniffer) -> Row<'static, Message> {
}
fn filters_col(
search_params: SearchParameters,
search_params: &SearchParameters,
style: StyleType,
language: Language,
) -> Column<'static, Message> {
@ -421,7 +421,7 @@ fn filter_input(
let mut content = Row::new()
.spacing(5)
.push(Text::new(format!("{}:", caption)).font(font))
.push(Text::new(format!("{caption}:")).font(font))
.push(input);
if is_filter_active {

View file

@ -555,7 +555,7 @@ fn col_app(width: f32, sniffer: &Sniffer) -> Column<'static, Message> {
button(content)
.padding([5, 15, 8, 10])
.on_press(Message::Search(SearchParameters {
app: format!("{:?}", app),
app: format!("{app:?}"),
..SearchParameters::default()
}))
.style(StyleTuple(sniffer.style, ElementType::Neutral).into()),

View file

@ -1,4 +1,4 @@
use iced::widget::{Column, Container, Row};
use iced::widget::{Column, Container, Row, Text};
use iced::Length::Fixed;
use iced::{Alignment, Length};
use iced_native::widget::vertical_space;
@ -30,7 +30,7 @@ pub fn settings_language_page(sniffer: &Sniffer) -> Container<Message> {
.push(col_language_radio_2)
.push(col_language_radio_3);
let content = Column::new()
let mut content = Column::new()
.align_items(Alignment::Center)
.width(Length::Fill)
.push(settings_header(sniffer.style, sniffer.language))
@ -56,8 +56,24 @@ pub fn settings_language_page(sniffer: &Sniffer) -> Container<Message> {
.font(font)
.size(FONT_SIZE_SUBTITLE),
)
.push(vertical_space(Fixed(30.0)))
.push(row_language_radio);
.push(vertical_space(Fixed(30.0)));
if ![Language::EN, Language::IT].contains(&sniffer.language) {
content = content
.push(
Container::new(
Text::new("The selected language is not fully updated to version 1.2")
.font(font),
)
.padding(10.0)
.style(<StyleTuple as Into<iced::theme::Container>>::into(
StyleTuple(sniffer.style, ElementType::Badge),
)),
)
.push(vertical_space(Fixed(20.0)));
}
content = content.push(row_language_radio);
Container::new(content)
.height(Fixed(400.0))

View file

@ -231,9 +231,8 @@ pub fn get_starred_color(style: StyleType) -> Color {
pub fn get_color_mix_filter_badge(style: StyleType) -> f32 {
match style {
StyleType::Night => 0.2,
StyleType::Night | StyleType::DeepSea => 0.2,
StyleType::Day => 0.7,
StyleType::DeepSea => 0.2,
StyleType::MonAmour => 0.5,
}
}

View file

@ -327,7 +327,7 @@ impl Sniffer {
.spawn(move || {
parse_packets(
&current_capture_id,
device,
&device,
cap.unwrap(),
&filters,
&info_traffic_mutex,

View file

@ -116,7 +116,7 @@ pub fn analyze_transport_header(
/// Function to insert the source and destination of a packet into the shared map containing the analyzed traffic.
pub fn modify_or_insert_in_map(
info_traffic_mutex: &Arc<Mutex<InfoTraffic>>,
key: AddressPortPair,
key: &AddressPortPair,
my_device: &MyDevice,
mac_addresses: (String, String),
exchanged_bytes: u128,
@ -135,7 +135,7 @@ pub fn modify_or_insert_in_map(
.lock()
.unwrap()
.map
.get_index_of(&key)
.get_index_of(key)
.unwrap_or(len);
if index == len {
@ -198,7 +198,7 @@ pub fn modify_or_insert_in_map(
if let Some(host_info) = info_traffic
.addresses_resolved
.get(&get_address_to_lookup(&key, traffic_direction))
.get(&get_address_to_lookup(key, traffic_direction))
.cloned()
{
if info_traffic.favorite_hosts.contains(&host_info.1) {
@ -211,13 +211,13 @@ pub fn modify_or_insert_in_map(
pub fn reverse_dns_lookup(
info_traffic: &Arc<Mutex<InfoTraffic>>,
key: AddressPortPair,
key: &AddressPortPair,
traffic_direction: TrafficDirection,
my_device: &MyDevice,
country_db_reader: &Reader<&[u8]>,
asn_db_reader: &Reader<&[u8]>,
) {
let address_to_lookup = get_address_to_lookup(&key, traffic_direction);
let address_to_lookup = get_address_to_lookup(key, traffic_direction);
let my_interface_addresses = my_device.addresses.lock().unwrap().clone();
// perform rDNS lookup
@ -229,9 +229,9 @@ pub fn reverse_dns_lookup(
&my_interface_addresses,
traffic_direction,
);
let is_local = is_local_connection(address_to_lookup.clone(), &my_interface_addresses);
let country = get_country_code(address_to_lookup.clone(), country_db_reader);
let asn = asn(address_to_lookup.clone(), asn_db_reader);
let is_local = is_local_connection(&address_to_lookup, &my_interface_addresses);
let country = get_country_code(&address_to_lookup, country_db_reader);
let asn = asn(&address_to_lookup, asn_db_reader);
let r_dns = if let Ok(result) = lookup_result {
if result.is_empty() {
address_to_lookup.clone()
@ -379,7 +379,7 @@ fn is_broadcast_address(address: &str, my_interface_addresses: &[Address]) -> bo
}
/// Determines if the connection is local
fn is_local_connection(address_to_lookup: String, my_interface_addresses: &Vec<Address>) -> bool {
fn is_local_connection(address_to_lookup: &str, my_interface_addresses: &Vec<Address>) -> bool {
let mut ret_val = false;
let address_to_lookup_type = if address_to_lookup.contains(':') {
@ -865,22 +865,22 @@ mod tests {
address_vec.push(my_address_v4);
address_vec.push(my_address_v6);
let result1 = is_local_connection("104.18.43.158".to_string(), &address_vec);
let result1 = is_local_connection("104.18.43.158", &address_vec);
assert_eq!(result1, false);
let result2 = is_local_connection("172.20.10.15".to_string(), &address_vec);
let result2 = is_local_connection("172.20.10.15", &address_vec);
assert_eq!(result2, true);
let result3 = is_local_connection("172.20.10.16".to_string(), &address_vec);
let result3 = is_local_connection("172.20.10.16", &address_vec);
assert_eq!(result3, false);
let result4 = is_local_connection("172.20.10.0".to_string(), &address_vec);
let result4 = is_local_connection("172.20.10.0", &address_vec);
assert_eq!(result4, true);
let result5 = is_local_connection("172.20.10.7".to_string(), &address_vec);
let result5 = is_local_connection("172.20.10.7", &address_vec);
assert_eq!(result5, true);
let result6 = is_local_connection("172.20.10.99".to_string(), &address_vec);
let result6 = is_local_connection("172.20.10.99", &address_vec);
assert_eq!(result6, false);
}
@ -902,22 +902,16 @@ mod tests {
address_vec.push(my_address_v4);
address_vec.push(my_address_v6);
let result1 =
is_local_connection("fe90:8b1:1234:5611:d065::1234".to_string(), &address_vec);
let result1 = is_local_connection("fe90:8b1:1234:5611:d065::1234", &address_vec);
assert_eq!(result1, false);
let result2 =
is_local_connection("fe90:8b1:1234:5610:d065::1234".to_string(), &address_vec);
let result2 = is_local_connection("fe90:8b1:1234:5610:d065::1234", &address_vec);
assert_eq!(result2, true);
let result3 =
is_local_connection("ff90:8b1:1234:5610:d065::1234".to_string(), &address_vec);
let result3 = is_local_connection("ff90:8b1:1234:5610:d065::1234", &address_vec);
assert_eq!(result3, false);
let result4 = is_local_connection(
"fe90:8b1:1234:5610:ffff:eeee:9876:1234".to_string(),
&address_vec,
);
let result4 = is_local_connection("fe90:8b1:1234:5610:ffff:eeee:9876:1234", &address_vec);
assert_eq!(result4, true);
}
@ -939,28 +933,28 @@ mod tests {
address_vec.push(my_address_v4);
address_vec.push(my_address_v6);
let result1 = is_local_connection("255.255.255.255".to_string(), &address_vec);
let result1 = is_local_connection("255.255.255.255", &address_vec);
assert_eq!(result1, false);
let result2 = is_local_connection("172.20.10.9".to_string(), &address_vec);
let result2 = is_local_connection("172.20.10.9", &address_vec);
assert_eq!(result2, true);
let result3 = is_local_connection("172.20.10.9".to_string(), &address_vec);
let result3 = is_local_connection("172.20.10.9", &address_vec);
assert_eq!(result3, true);
let result4 = is_local_connection("172.20.10.9".to_string(), &address_vec);
let result4 = is_local_connection("172.20.10.9", &address_vec);
assert_eq!(result4, true);
let result5 = is_local_connection("172.20.10.7".to_string(), &address_vec);
let result5 = is_local_connection("172.20.10.7", &address_vec);
assert_eq!(result5, true);
let result6 = is_local_connection("172.20.10.99".to_string(), &address_vec);
let result6 = is_local_connection("172.20.10.99", &address_vec);
assert_eq!(result6, true);
let result7 = is_local_connection("172.20.11.0".to_string(), &address_vec);
let result7 = is_local_connection("172.20.11.0", &address_vec);
assert_eq!(result7, false);
let result8 = is_local_connection("172.20.9.255".to_string(), &address_vec);
let result8 = is_local_connection("172.20.9.255", &address_vec);
assert_eq!(result8, false);
}
@ -982,7 +976,7 @@ mod tests {
address_vec.push(my_address_v4);
address_vec.push(my_address_v6);
let result1 = is_local_connection("224.0.0.251".to_string(), &address_vec);
let result1 = is_local_connection("224.0.0.251", &address_vec);
assert_eq!(result1, false);
}
@ -1004,7 +998,7 @@ mod tests {
address_vec.push(my_address_v4);
address_vec.push(my_address_v6);
let result1 = is_local_connection("ff::1234".to_string(), &address_vec);
let result1 = is_local_connection("ff::1234", &address_vec);
assert_eq!(result1, false);
}
@ -1026,13 +1020,13 @@ mod tests {
address_vec.push(my_address_v4);
address_vec.push(my_address_v6);
let result1 = is_local_connection("224.0.1.2".to_string(), &address_vec);
let result1 = is_local_connection("224.0.1.2", &address_vec);
assert_eq!(result1, false);
let result2 = is_local_connection("169.254.17.199".to_string(), &address_vec);
let result2 = is_local_connection("169.254.17.199", &address_vec);
assert_eq!(result2, true);
let result3 = is_local_connection("169.255.17.199".to_string(), &address_vec);
let result3 = is_local_connection("169.255.17.199", &address_vec);
assert_eq!(result3, false);
}
@ -1054,13 +1048,13 @@ mod tests {
address_vec.push(my_address_v4);
address_vec.push(my_address_v6);
let result1 = is_local_connection("ff88::".to_string(), &address_vec);
let result1 = is_local_connection("ff88::", &address_vec);
assert_eq!(result1, false);
let result2 = is_local_connection("fe80::8b1:1234:5678:d065".to_string(), &address_vec);
let result2 = is_local_connection("fe80::8b1:1234:5678:d065", &address_vec);
assert_eq!(result2, true);
let result3 = is_local_connection("fe70::8b1:1234:5678:d065".to_string(), &address_vec);
let result3 = is_local_connection("fe70::8b1:1234:5678:d065", &address_vec);
assert_eq!(result3, false);
}
}

View file

@ -97,7 +97,7 @@ pub fn get_searched_entries(
.get(&r_dns_host.unwrap().1)
.unwrap()
.is_favorite,
)
);
}
if boolean_flags.is_empty() {

View file

@ -25,7 +25,7 @@ use crate::{AppProtocol, InfoTraffic, IpVersion, TransProtocol};
/// to the user specified filters, and inserts them into the shared map variable.
pub fn parse_packets(
current_capture_id: &Arc<Mutex<u16>>,
device: MyDevice,
device: &MyDevice,
mut cap: Capture<Active>,
filters: &Filters,
info_traffic_mutex: &Arc<Mutex<InfoTraffic>>,
@ -127,8 +127,8 @@ pub fn parse_packets(
{
new_info = modify_or_insert_in_map(
info_traffic_mutex,
key.clone(),
&device,
&key,
device,
(mac_address1, mac_address2),
exchanged_bytes,
application_protocol,
@ -208,7 +208,7 @@ pub fn parse_packets(
.spawn(move || {
reverse_dns_lookup(
&info_traffic2,
key2,
&key2,
new_info.traffic_direction,
&device2,
&country_db_reader2,

View file

@ -4,7 +4,7 @@ use crate::networking::types::asn::Asn;
pub const ASN_MMDB: &[u8] = include_bytes!("../../resources/DB/GeoLite2-ASN.mmdb");
pub fn asn(address_to_lookup: String, asn_db_reader: &Reader<&[u8]>) -> Asn {
pub fn asn(address_to_lookup: &str, asn_db_reader: &Reader<&[u8]>) -> Asn {
let asn_result: Result<geoip2::Asn, MaxMindDBError> =
asn_db_reader.lookup(address_to_lookup.parse().unwrap());
if let Ok(res) = asn_result {

View file

@ -15,7 +15,7 @@ use crate::{Language, StyleType};
pub const COUNTRY_MMDB: &[u8] = include_bytes!("../../resources/DB/GeoLite2-Country.mmdb");
pub fn get_country_code(address_to_lookup: String, country_db_reader: &Reader<&[u8]>) -> String {
pub fn get_country_code(address_to_lookup: &str, country_db_reader: &Reader<&[u8]>) -> String {
let country_result: Result<geoip2::Country, MaxMindDBError> =
country_db_reader.lookup(address_to_lookup.parse().unwrap());
if let Ok(res1) = country_result {