added nil checks, handled empty map

This commit is contained in:
0xdcarns 2022-05-11 12:07:06 -04:00
parent e7f9310b3d
commit 2de7beb31e
3 changed files with 8 additions and 7 deletions

View file

@ -202,10 +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)
}
if currentPeersList == nil {
currentPeersList = make(map[string]string)
}
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())

View file

@ -114,7 +114,7 @@ func getSystemPeers(node *models.Node) (map[string]string, error) {
if err != nil {
return nil, err
}
if len(device.Peers) > 0 {
if device.Peers != nil && 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()

View file

@ -80,10 +80,10 @@ func SetPeers(iface string, node *models.Node, peers []wgtypes.PeerConfig) error
}
}
if len(devicePeers) > 0 {
if devicePeers != nil && len(devicePeers) > 0 {
for _, currentPeer := range devicePeers {
shouldDelete := true
if len(peers) > 0 {
if peers != nil && len(peers) > 0 {
for _, peer := range peers {
if peer.AllowedIPs[0].String() == currentPeer.AllowedIPs[0].String() {
shouldDelete = false