mirror of
https://github.com/fosrl/newt.git
synced 2026-02-08 05:56:40 +00:00
Fix bug where not all routes are added
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user