mirror of
				https://github.com/gravitl/netmaker.git
				synced 2025-10-31 12:16:29 +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 | ||||
| func setNetworkServerPeers(serverNode *models.Node) { | ||||
| 	if currentPeersList, err := getSystemPeers(serverNode); err == nil { | ||||
| 		if len(currentPeersList) > 0 { | ||||
| 			if database.SetPeers(currentPeersList, serverNode.Network) { | ||||
| 				logger.Log(1, "set new peers on network", serverNode.Network) | ||||
| 			} | ||||
| 		} | ||||
| 	} else { | ||||
| 		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 { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	if len(device.Peers) > 0 { | ||||
| 		for _, peer := range device.Peers { | ||||
| 			if IsBase64(peer.PublicKey.String()) && peer.Endpoint != nil && CheckEndpoint(peer.Endpoint.String()) { | ||||
| 				peers[peer.PublicKey.String()] = peer.Endpoint.String() | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	return peers, nil | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -58,7 +58,9 @@ func SetPeers(iface string, node *models.Node, peers []wgtypes.PeerConfig) error | ||||
| 				iparr = append(iparr, ipaddr.String()) | ||||
| 			} | ||||
| 		} | ||||
| 		if iparr != nil && len(iparr) > 0 { | ||||
| 			allowedips = strings.Join(iparr, ",") | ||||
| 		} | ||||
| 		keepAliveString := strconv.Itoa(int(keepalive)) | ||||
| 		if keepAliveString == "0" { | ||||
| 			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 { | ||||
| 			shouldDelete := true | ||||
| 			if len(peers) > 0 { | ||||
| 				for _, peer := range peers { | ||||
| 					if peer.AllowedIPs[0].String() == currentPeer.AllowedIPs[0].String() { | ||||
| 						shouldDelete = false | ||||
| @@ -97,12 +101,16 @@ func SetPeers(iface string, node *models.Node, peers []wgtypes.PeerConfig) error | ||||
| 				} | ||||
| 				oldPeerAllowedIps[currentPeer.PublicKey.String()] = currentPeer.AllowedIPs | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	if ncutils.IsMac() { | ||||
| 		err = SetMacPeerRoutes(iface) | ||||
| 		return err | ||||
| 	} else if ncutils.IsLinux() { | ||||
| 		if len(peers) > 0 { | ||||
| 			local.SetPeerRoutes(iface, oldPeerAllowedIps, peers) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	return nil | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 0xdcarns
					0xdcarns