mirror of
https://github.com/gravitl/netmaker.git
synced 2025-11-01 12:42:42 +08:00
added length checks as temp solution
This commit is contained in:
@@ -202,9 +202,11 @@ func StringSliceContains(slice []string, item string) bool {
|
|||||||
// sets the network server peers of a given node
|
// sets the network server peers of a given node
|
||||||
func setNetworkServerPeers(serverNode *models.Node) {
|
func setNetworkServerPeers(serverNode *models.Node) {
|
||||||
if currentPeersList, err := getSystemPeers(serverNode); err == nil {
|
if currentPeersList, err := getSystemPeers(serverNode); err == nil {
|
||||||
|
if len(currentPeersList) > 0 {
|
||||||
if database.SetPeers(currentPeersList, serverNode.Network) {
|
if database.SetPeers(currentPeersList, serverNode.Network) {
|
||||||
logger.Log(1, "set new peers on network", serverNode.Network)
|
logger.Log(1, "set new peers on network", serverNode.Network)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
logger.Log(1, "could not set peers on network", serverNode.Network, ":", err.Error())
|
logger.Log(1, "could not set peers on network", serverNode.Network, ":", err.Error())
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -114,11 +114,13 @@ func getSystemPeers(node *models.Node) (map[string]string, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
if len(device.Peers) > 0 {
|
||||||
for _, peer := range device.Peers {
|
for _, peer := range device.Peers {
|
||||||
if IsBase64(peer.PublicKey.String()) && peer.Endpoint != nil && CheckEndpoint(peer.Endpoint.String()) {
|
if IsBase64(peer.PublicKey.String()) && peer.Endpoint != nil && CheckEndpoint(peer.Endpoint.String()) {
|
||||||
peers[peer.PublicKey.String()] = peer.Endpoint.String()
|
peers[peer.PublicKey.String()] = peer.Endpoint.String()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return peers, nil
|
return peers, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -58,7 +58,9 @@ func SetPeers(iface string, node *models.Node, peers []wgtypes.PeerConfig) error
|
|||||||
iparr = append(iparr, ipaddr.String())
|
iparr = append(iparr, ipaddr.String())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if iparr != nil && len(iparr) > 0 {
|
||||||
allowedips = strings.Join(iparr, ",")
|
allowedips = strings.Join(iparr, ",")
|
||||||
|
}
|
||||||
keepAliveString := strconv.Itoa(int(keepalive))
|
keepAliveString := strconv.Itoa(int(keepalive))
|
||||||
if keepAliveString == "0" {
|
if keepAliveString == "0" {
|
||||||
keepAliveString = "15"
|
keepAliveString = "15"
|
||||||
@@ -78,8 +80,10 @@ func SetPeers(iface string, node *models.Node, peers []wgtypes.PeerConfig) error
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(devicePeers) > 0 {
|
||||||
for _, currentPeer := range devicePeers {
|
for _, currentPeer := range devicePeers {
|
||||||
shouldDelete := true
|
shouldDelete := true
|
||||||
|
if len(peers) > 0 {
|
||||||
for _, peer := range peers {
|
for _, peer := range peers {
|
||||||
if peer.AllowedIPs[0].String() == currentPeer.AllowedIPs[0].String() {
|
if peer.AllowedIPs[0].String() == currentPeer.AllowedIPs[0].String() {
|
||||||
shouldDelete = false
|
shouldDelete = false
|
||||||
@@ -97,12 +101,16 @@ func SetPeers(iface string, node *models.Node, peers []wgtypes.PeerConfig) error
|
|||||||
}
|
}
|
||||||
oldPeerAllowedIps[currentPeer.PublicKey.String()] = currentPeer.AllowedIPs
|
oldPeerAllowedIps[currentPeer.PublicKey.String()] = currentPeer.AllowedIPs
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
if ncutils.IsMac() {
|
if ncutils.IsMac() {
|
||||||
err = SetMacPeerRoutes(iface)
|
err = SetMacPeerRoutes(iface)
|
||||||
return err
|
return err
|
||||||
} else if ncutils.IsLinux() {
|
} else if ncutils.IsLinux() {
|
||||||
|
if len(peers) > 0 {
|
||||||
local.SetPeerRoutes(iface, oldPeerAllowedIps, peers)
|
local.SetPeerRoutes(iface, oldPeerAllowedIps, peers)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user