diff --git a/src/main.rs b/src/main.rs index 273d1b1..ebbe43e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -90,7 +90,19 @@ fn mount_local(network_address: String) { if get_config().storage.is_some() { device_address = Some(get_config().storage.clone().unwrap().device_ip); - if !is_reachable(device_address.clone().unwrap().as_str()) && get_mac_from_ip(device_address.clone().unwrap().as_str()).unwrap() != mac_address { + if is_reachable(&device_address.clone().unwrap()) { + log("main", format!("Searching mac for device address {}.", device_address.clone().unwrap()).as_str(), LogLevel::Info); + let mac_of_ip = get_mac_from_ip(device_address.clone().unwrap().as_str()).unwrap_or("".to_string()); + log("main", format!("Found mac {} for device address {}.", mac_of_ip, device_address.clone().unwrap()).as_str(), LogLevel::Info); + + if mac_of_ip == mac_address { + log("main", format!("Found device mac {} on saved ip {}.", mac_address, device_address.clone().unwrap()).as_str(), LogLevel::Info); + } else { + log("main", format!("Device mac {} is not the same as {} of ip {}.", mac_address, mac_of_ip, device_address.clone().unwrap()).as_str(), LogLevel::Warn); + device_address = None; + } + } else { + log("main", format!("Device address {} is not reachable.", device_address.clone().unwrap()).as_str(), LogLevel::Warn); device_address = None; } }