Fix bug where not all routes are added

This commit is contained in:
Owen
2026-01-12 16:01:15 -08:00
parent 66949ca047
commit 69952efe89

View File

@@ -221,15 +221,20 @@ func AddRoutes(remoteSubnets []string, interfaceName string) error {
switch runtime.GOOS { switch runtime.GOOS {
case "darwin": case "darwin":
return DarwinAddRoute(subnet, "", interfaceName) if err := DarwinAddRoute(subnet, "", interfaceName); err != nil {
logger.Error("Failed to add Darwin route for subnet %s: %v", subnet, err)
}
case "windows": case "windows":
return WindowsAddRoute(subnet, "", interfaceName) if err := WindowsAddRoute(subnet, "", interfaceName); err != nil {
logger.Error("Failed to add Windows route for subnet %s: %v", subnet, err)
}
case "linux": case "linux":
return LinuxAddRoute(subnet, "", interfaceName) if err := LinuxAddRoute(subnet, "", interfaceName); err != nil {
case "android": logger.Error("Failed to add Linux route for subnet %s: %v", subnet, err)
return nil }
case "ios": case "android", "ios":
return nil // Routes handled by the OS/VPN service
continue
} }
logger.Info("Added route for remote subnet: %s", subnet) logger.Info("Added route for remote subnet: %s", subnet)
@@ -258,15 +263,20 @@ func RemoveRoutes(remoteSubnets []string) error {
// Remove route based on operating system // Remove route based on operating system
switch runtime.GOOS { switch runtime.GOOS {
case "darwin": case "darwin":
return DarwinRemoveRoute(subnet) if err := DarwinRemoveRoute(subnet); err != nil {
logger.Error("Failed to remove Darwin route for subnet %s: %v", subnet, err)
}
case "windows": case "windows":
return WindowsRemoveRoute(subnet) if err := WindowsRemoveRoute(subnet); err != nil {
logger.Error("Failed to remove Windows route for subnet %s: %v", subnet, err)
}
case "linux": case "linux":
return LinuxRemoveRoute(subnet) if err := LinuxRemoveRoute(subnet); err != nil {
case "android": logger.Error("Failed to remove Linux route for subnet %s: %v", subnet, err)
return nil }
case "ios": case "android", "ios":
return nil // Routes handled by the OS/VPN service
continue
} }
logger.Info("Removed route for remote subnet: %s", subnet) logger.Info("Removed route for remote subnet: %s", subnet)