diff options
| author | David Lönnhager <david.l@mullvad.net> | 2022-03-14 10:52:29 +0100 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2022-03-18 10:34:34 +0100 |
| commit | e4e23de8587b6699f6c4a472b651bd53ace7f1f5 (patch) | |
| tree | 46cddeef3769feca56c2c56917682b72e49c781b /talpid-core/src | |
| parent | eb937c0ae598b5fbcb0e539f8bc1b300720c17a8 (diff) | |
| download | mullvadvpn-e4e23de8587b6699f6c4a472b651bd53ace7f1f5.tar.xz mullvadvpn-e4e23de8587b6699f6c4a472b651bd53ace7f1f5.zip | |
Log warnings if IPs cannot be obtained for default routes
Diffstat (limited to 'talpid-core/src')
| -rw-r--r-- | talpid-core/src/split_tunnel/windows/mod.rs | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/talpid-core/src/split_tunnel/windows/mod.rs b/talpid-core/src/split_tunnel/windows/mod.rs index 01a3d324b5..c7cbbe93a3 100644 --- a/talpid-core/src/split_tunnel/windows/mod.rs +++ b/talpid-core/src/split_tunnel/windows/mod.rs @@ -620,13 +620,27 @@ impl SplitTunnelDefaultRouteChangeHandlerContext { // Identify IP address that gives us Internet access let internet_ipv4 = get_best_default_route(WinNetAddrFamily::IPV4) .map_err(Error::ObtainDefaultRoute)? - .map(|route| interface_luid_to_ip(WinNetAddrFamily::IPV4, route.interface_luid)) + .map(|route| { + interface_luid_to_ip(WinNetAddrFamily::IPV4, route.interface_luid).map(|ip| { + ip.or_else(|| { + log::warn!("No IPv4 address was found for the default route interface"); + None + }) + }) + }) .transpose() .map_err(Error::LuidToIp)? .flatten(); let internet_ipv6 = get_best_default_route(WinNetAddrFamily::IPV6) .map_err(Error::ObtainDefaultRoute)? - .map(|route| interface_luid_to_ip(WinNetAddrFamily::IPV6, route.interface_luid)) + .map(|route| { + interface_luid_to_ip(WinNetAddrFamily::IPV6, route.interface_luid).map(|ip| { + ip.or_else(|| { + log::warn!("No IPv6 address was found for the default route interface"); + None + }) + }) + }) .transpose() .map_err(Error::LuidToIp)? .flatten(); |
