diff --git a/crates/lanparty-client-route/src/windows.rs b/crates/lanparty-client-route/src/windows.rs index 67a72f1..b199b4c 100644 --- a/crates/lanparty-client-route/src/windows.rs +++ b/crates/lanparty-client-route/src/windows.rs @@ -184,7 +184,14 @@ impl Drop for ScopedInterfaceMetric { return; } - let _ = restore_interface_metric(self.previous); + if let Err(error) = restore_interface_metric(self.previous) { + eprintln!( + "failed to restore {:?} interface metric for index {} LUID {}: {error:#}", + self.previous.family(), + self.previous.identity().index(), + self.previous.identity().luid(), + ); + } } } @@ -215,7 +222,14 @@ impl Drop for ScopedDefaultRoutes { return; } - let _ = restore_default_routes(self.previous); + if let Err(error) = restore_default_routes(self.previous) { + eprintln!( + "failed to restore {:?} default-route state for index {} LUID {}: {error:#}", + self.previous.family(), + self.previous.identity().index(), + self.previous.identity().luid(), + ); + } } } @@ -246,7 +260,14 @@ impl Drop for ScopedInterfaceMtu { return; } - let _ = restore_interface_mtu(self.previous); + if let Err(error) = restore_interface_mtu(self.previous) { + eprintln!( + "failed to restore {:?} interface MTU for index {} LUID {}: {error:#}", + self.previous.family(), + self.previous.identity().index(), + self.previous.identity().luid(), + ); + } } } @@ -519,10 +540,15 @@ impl Drop for PinnedRelayRoute { return; } - unsafe { + let status = unsafe { // SAFETY: self.row is the same route row that was successfully created for this guard. - // Deletion failure is intentionally ignored during Drop. - DeleteIpForwardEntry2(&self.row); + DeleteIpForwardEntry2(&self.row) + }; + if let Err(error) = windows_status(status) { + eprintln!( + "failed to delete relay host route to {} on interface index {} LUID {}: {error:#}", + self.destination, self.interface_index, self.interface_luid, + ); } } }