refactored some client leave & cache and server join logic

This commit is contained in:
0xdcarns
2022-02-02 10:37:05 -05:00
parent 844028b07c
commit f7258bf98f
5 changed files with 101 additions and 45 deletions

View File

@@ -185,7 +185,7 @@ func LeaveNetwork(network string) error {
}
}
}
//extra network route setting required for freebsd and windows
// extra network route setting required for freebsd and windows, TODO mac??
if ncutils.IsWindows() {
ip, mask, err := ncutils.GetNetworkIPMask(node.NetworkSettings.AddressRange)
if err != nil {
@@ -197,7 +197,12 @@ func LeaveNetwork(network string) error {
} else if ncutils.IsLinux() {
_, _ = ncutils.RunCmd("ip -4 route del "+node.NetworkSettings.AddressRange+" dev "+node.Interface, false)
}
return RemoveLocalInstance(cfg, network)
currentNets, err := ncutils.GetSystemNetworks()
if err != nil || len(currentNets) <= 1 {
return RemoveLocalInstance(cfg, network)
}
return daemon.Restart()
}
// RemoveLocalInstance - remove all netclient files locally for a network